public ConversionAttributeProcessor( Expression[] expressions, List<QueryEventStream> queryEventStreamList, OutputAttributeProcessorFactory outputAttributeProcessorFactory, SiddhiContext siddhiContext) { this.expressionExecutor = ExecutorParser.parseExpression( expressions[0], queryEventStreamList, null, false, siddhiContext); this.attributeConverterFactory = outputAttributeProcessorFactory; this.outputAttributeProcessor = outputAttributeProcessorFactory.createAggregator(expressionExecutor.getType()); }
public AbstractAggregationAttributeProcessor( Expression[] expressions, List<QueryEventSource> queryEventSourceList, OutputAttributeAggregatorFactory outputAttributeAggregatorFactory, String elementId, SiddhiContext siddhiContext) { this.outputAttributeAggregatorFactory = outputAttributeAggregatorFactory; this.siddhiContext = siddhiContext; this.expressionExecutors = new ArrayList<ExpressionExecutor>(); for (Expression expression : expressions) { this.expressionExecutors.add( ExecutorParser.parseExpression( expression, queryEventSourceList, null, false, siddhiContext)); } this.elementId = elementId; Attribute.Type[] attributeTypes = new Attribute.Type[expressionExecutors.size()]; for (int i = 0; i < expressionExecutors.size(); i++) { attributeTypes[i] = expressionExecutors.get(i).getReturnType(); } this.sampleOutputAttributeAggregator = outputAttributeAggregatorFactory.createAttributeAggregator(attributeTypes); siddhiContext.addEternalReferencedHolder(sampleOutputAttributeAggregator); size = expressionExecutors.size(); }