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)); } }
public override OutputProcessView MakeView( ResultSetProcessor resultSetProcessor, AgentInstanceContext agentInstanceContext) { // determine after-stuff var isAfterConditionSatisfied = true; long? afterConditionTime = null; if (AfterConditionNumberOfEvents != null) { isAfterConditionSatisfied = false; } else if (AfterTimePeriod != null) { isAfterConditionSatisfied = false; var time = agentInstanceContext.TimeProvider.Time; var delta = AfterTimePeriod.DeltaAdd(time, null, true, agentInstanceContext); afterConditionTime = time + delta; } if (_conditionType == ResultSetProcessorOutputConditionType.SNAPSHOT) { if (postProcessFactory == null) { return new OutputProcessViewConditionSnapshot( resultSetProcessor, afterConditionTime, AfterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext); } var postProcess = postProcessFactory.Make(agentInstanceContext); return new OutputProcessViewConditionSnapshotPostProcess( resultSetProcessor, afterConditionTime, AfterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, postProcess); } if (_conditionType == ResultSetProcessorOutputConditionType.POLICY_FIRST) { if (postProcessFactory == null) { return new OutputProcessViewConditionFirst( resultSetProcessor, afterConditionTime, AfterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext); } var postProcess = postProcessFactory.Make(agentInstanceContext); return new OutputProcessViewConditionFirstPostProcess( resultSetProcessor, afterConditionTime, AfterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, postProcess); } if (_conditionType == ResultSetProcessorOutputConditionType.POLICY_LASTALL_UNORDERED) { if (postProcessFactory == null) { return new OutputProcessViewConditionLastAllUnord( resultSetProcessor, afterConditionTime, AfterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext); } var postProcess = postProcessFactory.Make(agentInstanceContext); return new OutputProcessViewConditionLastAllUnordPostProcessAll( resultSetProcessor, afterConditionTime, AfterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, postProcess); } else { if (postProcessFactory == null) { return new OutputProcessViewConditionDefault( resultSetProcessor, afterConditionTime, AfterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, StreamCount > 1, _eventTypes); } var postProcess = postProcessFactory.Make(agentInstanceContext); return new OutputProcessViewConditionDefaultPostProcess( resultSetProcessor, afterConditionTime, AfterConditionNumberOfEvents, isAfterConditionSatisfied, this, agentInstanceContext, postProcess, StreamCount > 1, _eventTypes); } }