Ejemplo n.º 1
0
        protected internal static object[] EvalTypable(
            ObjectArrayBackedEventBean @event,
            AggregationRow row,
            IDictionary<string, TableMetadataColumn> items,
            EventBean[] eventsPerStream,
            bool isNewData,
            ExprEvaluatorContext exprEvaluatorContext)
        {
            object[] values = new object[items.Count];
            int count = 0;
            foreach (KeyValuePair<string, TableMetadataColumn> entry in items) {
                if (entry.Value is TableMetadataColumnPlain) {
                    TableMetadataColumnPlain plain = (TableMetadataColumnPlain) entry.Value;
                    values[count] = @event.Properties[plain.IndexPlain];
                }
                else {
                    TableMetadataColumnAggregation aggcol = (TableMetadataColumnAggregation) entry.Value;
                    values[count] = row.GetValue(aggcol.Column, eventsPerStream, isNewData, exprEvaluatorContext);
                }

                count++;
            }

            return values;
        }
Ejemplo n.º 2
0
        protected internal static IDictionary<string, object> EvalMap(
            ObjectArrayBackedEventBean @event,
            AggregationRow row,
            IDictionary<string, TableMetadataColumn> items,
            EventBean[] eventsPerStream,
            bool isNewData,
            ExprEvaluatorContext exprEvaluatorContext)
        {
            Dictionary<string, object> cols = new Dictionary<string, object>();
            foreach (KeyValuePair<string, TableMetadataColumn> entry in items) {
                if (entry.Value is TableMetadataColumnPlain) {
                    TableMetadataColumnPlain plain = (TableMetadataColumnPlain) entry.Value;
                    cols.Put(entry.Key, @event.Properties[plain.IndexPlain]);
                }
                else {
                    TableMetadataColumnAggregation aggcol = (TableMetadataColumnAggregation) entry.Value;
                    cols.Put(entry.Key, row.GetValue(aggcol.Column, eventsPerStream, isNewData, exprEvaluatorContext));
                }
            }

            return cols;
        }