public AggregationContainerTask(CohortAggregateContainer container, CohortCompiler compiler) : base(compiler)
        {
            Container = container;

            SubContainers           = Container.GetSubContainers();
            ContainedConfigurations = Container.GetAggregateConfigurations();

            _parentContainers = Container.GetAllParentContainers().ToArray();
        }
        public AggregationContainerTask(CohortAggregateContainer container, CohortCompiler compiler) : base(compiler)
        {
            Container = container;

            SubContainers           = compiler.CoreChildProvider.GetChildren(Container).OfType <CohortAggregateContainer>().ToArray();
            ContainedConfigurations = compiler.CoreChildProvider.GetChildren(Container).OfType <AggregateConfiguration>().ToArray();

            var d = compiler.CoreChildProvider.GetDescendancyListIfAnyFor(Container);

            _parentContainers = d?.Parents?.OfType <CohortAggregateContainer>()?.ToArray() ?? new CohortAggregateContainer[0];
        }
Exemple #3
0
        public AggregationTask(AggregateConfiguration aggregate, CohortCompiler compiler) : base(compiler)
        {
            Aggregate      = aggregate;
            _catalogueName = aggregate.Catalogue.Name;
            _cohortIdentificationConfiguration = compiler.CohortIdentificationConfiguration;

            var container = aggregate.GetCohortAggregateContainerIfAny();

            if (container != null)
            {
                _allParentContainers = container.GetAllParentContainers().ToList();
                _allParentContainers.Add(container);
            }
        }
        /// <summary>
        /// Creates a new runner for the given <paramref name="compiler"/> which will facilitate running it's Tasks in a sensible order using result caching if possible
        /// </summary>
        /// <param name="compiler"></param>
        /// <param name="timeout">CommandTimeout for each individual command in seconds</param>
        public CohortCompilerRunner(CohortCompiler compiler, int timeout)
        {
            _timeout = timeout;
            Compiler = compiler;

            if (Compiler.CohortIdentificationConfiguration == null)
            {
                throw new ArgumentException("CohortCompiler must have a CohortIdentificationConfiguration");
            }

            _cic = Compiler.CohortIdentificationConfiguration;

            if (_cic.QueryCachingServer_ID != null)
            {
                _queryCachingServer = _cic.QueryCachingServer;
            }

            RunSubcontainers = true;
        }
Exemple #5
0
 protected CacheableTask(CohortCompiler compiler) : base(compiler)
 {
 }
 public PluginCohortCompilerTask(AggregateConfiguration ac, CohortCompiler mainCompiler, IPluginCohortCompiler pluginCompiler) : base(ac, mainCompiler)
 {
     PluginCompiler = pluginCompiler;
 }