示例#1
0
        public override OutputProcessViewBase MakeView(
            ResultSetProcessor resultSetProcessor,
            AgentInstanceContext agentInstanceContext)
        {
            bool isAfterConditionSatisfied = true;
            long?afterConditionTime        = null;

            if (AfterConditionNumberOfEvents != null)
            {
                isAfterConditionSatisfied = false;
            }
            else if (AfterTimePeriod != null)
            {
                isAfterConditionSatisfied = false;
                long delta = AfterTimePeriod.NonconstEvaluator().DeltaUseEngineTime(null, agentInstanceContext);
                afterConditionTime = agentInstanceContext.StatementContext.TimeProvider.Time + delta;
            }

            if (base.PostProcessFactory == null)
            {
                return(new OutputProcessViewDirectDistinctOrAfter(
                           ResultSetProcessorHelperFactory, agentInstanceContext, resultSetProcessor, afterConditionTime,
                           AfterConditionNumberOfEvents, isAfterConditionSatisfied, this));
            }
            OutputStrategyPostProcess postProcess = PostProcessFactory.Make(agentInstanceContext);

            return(new OutputProcessViewDirectDistinctOrAfterPostProcess(
                       ResultSetProcessorHelperFactory, agentInstanceContext, resultSetProcessor, afterConditionTime,
                       AfterConditionNumberOfEvents, isAfterConditionSatisfied, this, postProcess));
        }
示例#2
0
        public virtual OutputProcessViewBase MakeView(ResultSetProcessor resultSetProcessor, AgentInstanceContext agentInstanceContext)
        {
            if (PostProcessFactory == null)
            {
                return(new OutputProcessViewDirect(resultSetProcessor, this));
            }
            OutputStrategyPostProcess postProcess = PostProcessFactory.Make(agentInstanceContext);

            return(new OutputProcessViewDirectPostProcess(resultSetProcessor, this, postProcess));
        }
示例#3
0
        public override OutputProcessViewBase MakeView(ResultSetProcessor resultSetProcessor, AgentInstanceContext agentInstanceContext)
        {
            // determine after-stuff
            bool isAfterConditionSatisfied    = true;
            long?afterConditionTime           = null;
            var  afterConditionNumberOfEvents = AfterConditionNumberOfEvents;

            if (afterConditionNumberOfEvents != null)
            {
                isAfterConditionSatisfied = false;
            }
            else if (AfterTimePeriod != null)
            {
                isAfterConditionSatisfied = false;
                long delta = AfterTimePeriod.NonconstEvaluator().DeltaMillisecondsUseEngineTime(null, agentInstanceContext);
                afterConditionTime = agentInstanceContext.StatementContext.TimeProvider.Time + delta;
            }

            if (_conditionType == ConditionType.SNAPSHOT)
            {
                if (base.PostProcessFactory == null)
                {
                    return(new OutputProcessViewConditionSnapshot(_resultSetProcessorHelperFactory, resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext));
                }
                OutputStrategyPostProcess postProcess = PostProcessFactory.Make(agentInstanceContext);
                return(new OutputProcessViewConditionSnapshotPostProcess(_resultSetProcessorHelperFactory, resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, postProcess));
            }
            else if (_conditionType == ConditionType.POLICY_FIRST)
            {
                if (base.PostProcessFactory == null)
                {
                    return(new OutputProcessViewConditionFirst(_resultSetProcessorHelperFactory, resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext));
                }
                OutputStrategyPostProcess postProcess = PostProcessFactory.Make(agentInstanceContext);
                return(new OutputProcessViewConditionFirstPostProcess(_resultSetProcessorHelperFactory, resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, postProcess));
            }
            else if (_conditionType == ConditionType.POLICY_LASTALL_UNORDERED)
            {
                if (base.PostProcessFactory == null)
                {
                    return(new OutputProcessViewConditionLastAllUnord(_resultSetProcessorHelperFactory, resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext));
                }
                OutputStrategyPostProcess postProcess = PostProcessFactory.Make(agentInstanceContext);
                return(new OutputProcessViewConditionLastAllUnordPostProcessAll(_resultSetProcessorHelperFactory, resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, postProcess));
            }
            else
            {
                if (base.PostProcessFactory == null)
                {
                    return(new OutputProcessViewConditionDefault(_resultSetProcessorHelperFactory, resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, StreamCount > 1));
                }
                OutputStrategyPostProcess postProcess = PostProcessFactory.Make(agentInstanceContext);
                return(new OutputProcessViewConditionDefaultPostProcess(resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, postProcess, StreamCount > 1, _resultSetProcessorHelperFactory));
            }
        }
示例#4
0
 public OutputProcessViewDirectDistinctOrAfterPostProcess(
     ResultSetProcessorHelperFactory resultSetProcessorHelperFactory,
     AgentInstanceContext agentInstanceContext,
     ResultSetProcessor resultSetProcessor,
     long?afterConditionTime,
     int?afterConditionNumberOfEvents,
     bool afterConditionSatisfied,
     OutputProcessViewDirectDistinctOrAfterFactory parent,
     OutputStrategyPostProcess postProcessor)
     : base(resultSetProcessorHelperFactory, agentInstanceContext, resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, afterConditionSatisfied, parent)
 {
     _postProcessor = postProcessor;
 }
示例#5
0
 public OutputProcessViewConditionDefaultPostProcess(ResultSetProcessor resultSetProcessor,
                                                     long?afterConditionTime,
                                                     int?afterConditionNumberOfEvents,
                                                     bool afterConditionSatisfied,
                                                     OutputProcessViewConditionFactory parent,
                                                     AgentInstanceContext agentInstanceContext,
                                                     OutputStrategyPostProcess postProcessor)
     : base(
         resultSetProcessor, afterConditionTime, afterConditionNumberOfEvents, afterConditionSatisfied, parent,
         agentInstanceContext)
 {
     _postProcessor = postProcessor;
 }
示例#6
0
 public OutputProcessViewDirectPostProcess(ResultSetProcessor resultSetProcessor, OutputProcessViewDirectFactory parent, OutputStrategyPostProcess postProcessor)
     : base(resultSetProcessor, parent)
 {
     _postProcessor = postProcessor;
 }