public static EventBean DoPopulateMap(BaseStatisticsBean baseStatisticsBean, EventAdapterService eventAdapterService, EventType eventType, StatViewAdditionalProps additionalProps, Object[] decoration) { IDictionary <String, Object> result = new Dictionary <String, Object>(); result.Put(ViewFieldEnum.REGRESSION__SLOPE.GetName(), baseStatisticsBean.Slope); result.Put(ViewFieldEnum.REGRESSION__YINTERCEPT.GetName(), baseStatisticsBean.YIntercept); result.Put(ViewFieldEnum.REGRESSION__XAVERAGE.GetName(), baseStatisticsBean.XAverage); result.Put(ViewFieldEnum.REGRESSION__XSTANDARDDEVIATIONPOP.GetName(), baseStatisticsBean.XStandardDeviationPop); result.Put(ViewFieldEnum.REGRESSION__XSTANDARDDEVIATIONSAMPLE.GetName(), baseStatisticsBean.XStandardDeviationSample); result.Put(ViewFieldEnum.REGRESSION__XSUM.GetName(), baseStatisticsBean.XSum); result.Put(ViewFieldEnum.REGRESSION__XVARIANCE.GetName(), baseStatisticsBean.XVariance); result.Put(ViewFieldEnum.REGRESSION__YAVERAGE.GetName(), baseStatisticsBean.YAverage); result.Put(ViewFieldEnum.REGRESSION__YSTANDARDDEVIATIONPOP.GetName(), baseStatisticsBean.YStandardDeviationPop); result.Put(ViewFieldEnum.REGRESSION__YSTANDARDDEVIATIONSAMPLE.GetName(), baseStatisticsBean.YStandardDeviationSample); result.Put(ViewFieldEnum.REGRESSION__YSUM.GetName(), baseStatisticsBean.YSum); result.Put(ViewFieldEnum.REGRESSION__YVARIANCE.GetName(), baseStatisticsBean.YVariance); result.Put(ViewFieldEnum.REGRESSION__DATAPOINTS.GetName(), baseStatisticsBean.DataPoints); result.Put(ViewFieldEnum.REGRESSION__N.GetName(), baseStatisticsBean.N); result.Put(ViewFieldEnum.REGRESSION__SUMX.GetName(), baseStatisticsBean.SumX); result.Put(ViewFieldEnum.REGRESSION__SUMXSQ.GetName(), baseStatisticsBean.SumXSq); result.Put(ViewFieldEnum.REGRESSION__SUMXY.GetName(), baseStatisticsBean.SumXY); result.Put(ViewFieldEnum.REGRESSION__SUMY.GetName(), baseStatisticsBean.SumY); result.Put(ViewFieldEnum.REGRESSION__SUMYSQ.GetName(), baseStatisticsBean.SumYSq); if (additionalProps != null) { additionalProps.AddProperties(result, decoration); } return(eventAdapterService.AdapterForTypedMap(result, eventType)); }
/// <summary> /// Creates the event type for this view. /// </summary> /// <param name="statementContext">is the event adapter service</param> /// <param name="additionalProps">The additional props.</param> /// <param name="streamNum">The stream num.</param> /// <returns>event type of view</returns> internal static EventType CreateEventType(StatementContext statementContext, StatViewAdditionalProps additionalProps, int streamNum) { IDictionary <String, Object> eventTypeMap = new Dictionary <String, Object>(); eventTypeMap.Put(ViewFieldEnum.REGRESSION__SLOPE.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__YINTERCEPT.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__XAVERAGE.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__XSTANDARDDEVIATIONPOP.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__XSTANDARDDEVIATIONSAMPLE.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__XSUM.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__XVARIANCE.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__YAVERAGE.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__YSTANDARDDEVIATIONPOP.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__YSTANDARDDEVIATIONSAMPLE.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__YSUM.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__YVARIANCE.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__DATAPOINTS.GetName(), typeof(long?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__N.GetName(), typeof(long?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__SUMX.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__SUMXSQ.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__SUMXY.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__SUMY.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.REGRESSION__SUMYSQ.GetName(), typeof(double?)); StatViewAdditionalProps.AddCheckDupProperties(eventTypeMap, additionalProps, ViewFieldEnum.REGRESSION__SLOPE, ViewFieldEnum.REGRESSION__YINTERCEPT); String outputEventTypeName = statementContext.StatementId + "_regview_" + streamNum; return(statementContext.EventAdapterService.CreateAnonymousMapType(outputEventTypeName, eventTypeMap, false)); }
protected override EventBean PopulateMap(BaseStatisticsBean baseStatisticsBean, EventAdapterService eventAdapterService, EventType eventType, StatViewAdditionalProps additionalProps, Object[] decoration) { return(DoPopulateMap(baseStatisticsBean, eventAdapterService, eventType, additionalProps, decoration)); }
/// <summary> /// Creates the event type for this view. /// </summary> /// <param name="statementContext">is the event adapter service</param> /// <returns>event type of view</returns> public static EventType CreateEventType(StatementContext statementContext, StatViewAdditionalProps additionalProps, int streamNum) { IDictionary <string, object> schemaMap = new Dictionary <string, object>(); schemaMap.Put(ViewFieldEnum.WEIGHTED_AVERAGE__AVERAGE.GetName(), typeof(double?)); StatViewAdditionalProps.AddCheckDupProperties(schemaMap, additionalProps, ViewFieldEnum.WEIGHTED_AVERAGE__AVERAGE); string outputEventTypeName = statementContext.StatementId + "_wavgview_" + streamNum; return(statementContext.EventAdapterService.CreateAnonymousMapType(outputEventTypeName, schemaMap)); }
/// <summary> /// Creates the event type for this view. /// </summary> /// <param name="statementContext">is the event adapter service</param> /// <param name="additionalProps">additional props</param> /// <param name="streamNum">The stream num.</param> /// <returns>event type of view</returns> public static EventType CreateEventType(StatementContext statementContext, StatViewAdditionalProps additionalProps, int streamNum) { IDictionary <String, Object> eventTypeMap = new Dictionary <String, Object>(); eventTypeMap.Put(ViewFieldEnum.CORRELATION__CORRELATION.GetName(), typeof(double?)); StatViewAdditionalProps.AddCheckDupProperties(eventTypeMap, additionalProps, ViewFieldEnum.CORRELATION__CORRELATION); String outputEventTypeName = statementContext.StatementId + "_correlview_" + streamNum; return(statementContext.EventAdapterService.CreateAnonymousMapType(outputEventTypeName, eventTypeMap, false)); }
/// <summary>Populate bean. </summary> /// <param name="baseStatisticsBean">results</param> /// <param name="eventAdapterService">event wrapping</param> /// <param name="eventType">type to produce</param> /// <param name="additionalProps">addition properties</param> /// <param name="decoration">decoration values</param> /// <returns>bean</returns> public static EventBean DoPopulateMap(BaseStatisticsBean baseStatisticsBean, EventAdapterService eventAdapterService, EventType eventType, StatViewAdditionalProps additionalProps, Object[] decoration) { IDictionary <String, Object> result = new Dictionary <String, Object>(); result.Put(ViewFieldEnum.CORRELATION__CORRELATION.GetName(), baseStatisticsBean.Correlation); if (additionalProps != null) { additionalProps.AddProperties(result, decoration); } return(eventAdapterService.AdapterForTypedMap(result, eventType)); }
public void Attach(EventType parentEventType, StatementContext statementContext, ViewFactory optionalParentFactory, IList <ViewFactory> parentViewFactories) { ExprNode[] validated = ViewFactorySupport.Validate(ViewName, parentEventType, statementContext, _viewParameters, true); if (validated.Length < 1) { throw new ViewParameterException(ViewParamMessage); } if (!validated[0].ExprEvaluator.ReturnType.IsNumeric()) { throw new ViewParameterException(ViewParamMessage); } _fieldExpression = validated[0]; _additionalProps = StatViewAdditionalProps.Make(validated, 1, parentEventType); _eventType = UnivariateStatisticsView.CreateEventType(statementContext, _additionalProps, _streamNumber); }
/// <summary> /// Constructor requires the name of the two fields to use in the parent view to compute the statistics. /// </summary> /// <param name="viewFactory">The view factory.</param> /// <param name="agentInstanceContext">contains required view services</param> /// <param name="expressionX">is the expression to get the X values from</param> /// <param name="expressionY">is the expression to get the Y values from</param> /// <param name="eventType">type of event</param> /// <param name="additionalProps">additional props</param> protected BaseBivariateStatisticsView( ViewFactory viewFactory, AgentInstanceContext agentInstanceContext, ExprNode expressionX, ExprNode expressionY, EventType eventType, StatViewAdditionalProps additionalProps) { _viewFactory = viewFactory; AgentInstanceContext = agentInstanceContext; _expressionX = expressionX; _expressionXEval = expressionX.ExprEvaluator; _expressionY = expressionY; _expressionYEval = expressionY.ExprEvaluator; _eventType = eventType; _additionalProps = additionalProps; }
public static EventBean PopulateMap(BaseStatisticsBean baseStatisticsBean, EventAdapterService eventAdapterService, EventType eventType, StatViewAdditionalProps additionalProps, Object[] lastNewValues) { var result = new Dictionary <string, object>(); result.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__DATAPOINTS.GetName(), baseStatisticsBean.N); result.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__TOTAL.GetName(), baseStatisticsBean.XSum); result.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__STDDEV.GetName(), baseStatisticsBean.XStandardDeviationSample); result.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__STDDEVPA.GetName(), baseStatisticsBean.XStandardDeviationPop); result.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__VARIANCE.GetName(), baseStatisticsBean.XVariance); result.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__AVERAGE.GetName(), baseStatisticsBean.XAverage); if (additionalProps != null) { additionalProps.AddProperties(result, lastNewValues); } return(eventAdapterService.AdapterForTypedMap(result, eventType)); }
/// <summary> /// Creates the event type for this view. /// </summary> /// <param name="statementContext">is the event adapter service</param> /// <param name="additionalProps">The additional props.</param> /// <param name="streamNum">The stream num.</param> /// <returns>event type of view</returns> public static EventType CreateEventType(StatementContext statementContext, StatViewAdditionalProps additionalProps, int streamNum) { IDictionary <String, Object> eventTypeMap = new Dictionary <string, object>(); eventTypeMap.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__DATAPOINTS.GetName(), typeof(long?)); eventTypeMap.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__TOTAL.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__STDDEV.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__STDDEVPA.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__VARIANCE.GetName(), typeof(double?)); eventTypeMap.Put(ViewFieldEnum.UNIVARIATE_STATISTICS__AVERAGE.GetName(), typeof(double?)); StatViewAdditionalProps.AddCheckDupProperties(eventTypeMap, additionalProps, ViewFieldEnum.UNIVARIATE_STATISTICS__DATAPOINTS, ViewFieldEnum.UNIVARIATE_STATISTICS__TOTAL, ViewFieldEnum.UNIVARIATE_STATISTICS__STDDEV, ViewFieldEnum.UNIVARIATE_STATISTICS__STDDEVPA, ViewFieldEnum.UNIVARIATE_STATISTICS__VARIANCE, ViewFieldEnum.UNIVARIATE_STATISTICS__AVERAGE ); String outputEventTypeName = statementContext.StatementId + "_statview_" + streamNum; return(statementContext.EventAdapterService.CreateAnonymousMapType(outputEventTypeName, eventTypeMap, false)); }
/// <summary>Populate bean. </summary> /// <param name="baseStatisticsBean">results</param> /// <param name="eventAdapterService">event adapters</param> /// <param name="eventType">type</param> /// <param name="additionalProps">additional props</param> /// <param name="decoration">decoration values</param> /// <returns>bean</returns> protected abstract EventBean PopulateMap(BaseStatisticsBean baseStatisticsBean, EventAdapterService eventAdapterService, EventType eventType, StatViewAdditionalProps additionalProps, Object[] decoration);
public static void AddCheckDupProperties(IDictionary <String, Object> target, StatViewAdditionalProps addProps, params ViewFieldEnum[] builtin) { if (addProps == null) { return; } for (var i = 0; i < addProps.AdditionalProps.Length; i++) { var name = addProps.AdditionalProps[i]; for (var j = 0; j < builtin.Length; j++) { if (string.Equals(name, builtin[j].GetName(), StringComparison.OrdinalIgnoreCase)) { throw new ArgumentException("The property by name '" + name + "' overlaps the property name that the view provides"); } } target.Put(name, addProps.AdditionalExpr[i].ReturnType); } }
/// <summary> /// Constructor. /// </summary> /// <param name="viewFactory"></param> /// <param name="agentInstanceContext">contains required view services</param> /// <param name="xFieldName">is the field name of the field providing X data points</param> /// <param name="yFieldName">is the field name of the field providing X data points</param> /// <param name="eventType">Type of the event.</param> /// <param name="additionalProps">The additional props.</param> public RegressionLinestView(ViewFactory viewFactory, AgentInstanceContext agentInstanceContext, ExprNode xFieldName, ExprNode yFieldName, EventType eventType, StatViewAdditionalProps additionalProps) : base(viewFactory, agentInstanceContext, xFieldName, yFieldName, eventType, additionalProps) { }
/// <summary>Constructor. </summary> /// <param name="viewFactory"></param> /// <param name="agentInstanceContext">contains required view services</param> /// <param name="xExpression">is the expression providing X data points</param> /// <param name="yExpression">is the expression providing X data points</param> /// <param name="eventType">event type</param> /// <param name="additionalProps">additional properties</param> public CorrelationView(ViewFactory viewFactory, AgentInstanceContext agentInstanceContext, ExprNode xExpression, ExprNode yExpression, EventType eventType, StatViewAdditionalProps additionalProps) : base(viewFactory, agentInstanceContext, xExpression, yExpression, eventType, additionalProps) { }