Пример #1
0
        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));
        }
Пример #2
0
        /// <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));
        }
Пример #3
0
 protected override EventBean PopulateMap(BaseStatisticsBean baseStatisticsBean,
                                          EventAdapterService eventAdapterService,
                                          EventType eventType,
                                          StatViewAdditionalProps additionalProps,
                                          Object[] decoration)
 {
     return(DoPopulateMap(baseStatisticsBean, eventAdapterService, eventType, additionalProps, decoration));
 }
Пример #4
0
        /// <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));
        }
Пример #5
0
        /// <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));
        }
Пример #6
0
        /// <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);
        }
Пример #8
0
 /// <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));
        }
Пример #10
0
        /// <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));
        }
Пример #11
0
 /// <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);
Пример #12
0
        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);
            }
        }
Пример #13
0
 /// <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)
 {
 }
Пример #14
0
 /// <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)
 {
 }