本文整理汇总了Java中org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator类的典型用法代码示例。如果您正苦于以下问题:Java OutputAttributeAggregator类的具体用法?Java OutputAttributeAggregator怎么用?Java OutputAttributeAggregator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
OutputAttributeAggregator类属于org.wso2.siddhi.core.query.selector.attribute.handler包,在下文中一共展示了OutputAttributeAggregator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: process
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
protected Object process(AtomicEvent event, OutputAttributeAggregator outputAttributeAggregator) {
if (size > 1) {
Object[] data = new Object[expressionExecutors.size()];
for (int i = 0, size = data.length; i < size; i++) {
data[i] = expressionExecutors.get(i).execute(event);
}
if (event instanceof RemoveStream) {
return outputAttributeAggregator.processRemove(data);
} else {
return outputAttributeAggregator.processAdd(data);
}
} else {
if (event instanceof RemoveStream) {
return outputAttributeAggregator.processRemove(expressionExecutors.get(0).execute(event));
} else {
return outputAttributeAggregator.processAdd(expressionExecutors.get(0).execute(event));
}
}
}
示例2: createSumAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
public static OutputAttributeAggregator createSumAggregator(Attribute.Type[] types) {
if (types.length > 1) {
throw new QueryCreationException("Sum can only have one parameter");
}
Attribute.Type type = types[0];
switch (type) {
case STRING:
throw new OperationNotSupportedException("Sum not supported for string");
case INT:
return new SumOutputAttributeAggregatorInt();
case LONG:
return new SumOutputAttributeAggregatorLong();
case FLOAT:
return new SumOutputAttributeAggregatorFloat();
case DOUBLE:
return new SumOutputAttributeAggregatorDouble();
case BOOL:
throw new OperationNotSupportedException("Sum not supported for bool");
}
throw new OperationNotSupportedException("Sum not supported for " + type);
}
示例3: createAvgAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
public static OutputAttributeAggregator createAvgAggregator(Attribute.Type[] types) {
if (types.length > 1) {
throw new QueryCreationException("Avg can only have one parameter");
}
Attribute.Type type = types[0];
switch (type) {
case STRING:
throw new OperationNotSupportedException("Avg not supported for string");
case INT:
return new AvgOutputAttributeAggregatorInt();
case LONG:
return new AvgOutputAttributeAggregatorLong();
case FLOAT:
return new AvgOutputAttributeAggregatorFloat();
case DOUBLE:
return new AvgOutputAttributeAggregatorDouble();
case BOOL:
throw new OperationNotSupportedException("Avg not supported for bool");
}
throw new OperationNotSupportedException("Avg not supported for " + type);
}
示例4: createMaxAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
public static OutputAttributeAggregator createMaxAggregator(Attribute.Type[] types) {
if (types.length > 1) {
throw new QueryCreationException("Max can only have one parameter");
}
Attribute.Type type = types[0];
switch (type) {
case STRING:
throw new OperationNotSupportedException("Max not supported for string");
case INT:
return new MaxOutputAttributeAggregatorInt();
case LONG:
return new MaxOutputAttributeAggregatorLong();
case FLOAT:
return new MaxOutputAttributeAggregatorFloat();
case DOUBLE:
return new MaxOutputAttributeAggregatorDouble();
case BOOL:
throw new OperationNotSupportedException("Max not supported for bool");
}
throw new OperationNotSupportedException("Max not supported for " + type);
}
示例5: createMinAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
public static OutputAttributeAggregator createMinAggregator(Attribute.Type[] types) {
if (types.length > 1) {
throw new QueryCreationException("Min can only have one parameter");
}
Attribute.Type type = types[0];
switch (type) {
case STRING:
throw new OperationNotSupportedException("Min not supported for string");
case INT:
return new MinOutputAttributeAggregatorInt();
case LONG:
return new MinOutputAttributeAggregatorLong();
case FLOAT:
return new MinOutputAttributeAggregatorFloat();
case DOUBLE:
return new MinOutputAttributeAggregatorDouble();
case BOOL:
throw new OperationNotSupportedException("Min not supported for bool");
}
throw new OperationNotSupportedException("Min not supported for " + type);
}
示例6: process
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
protected Object process(StreamEvent event, OutputAttributeAggregator outputAttributeAggregator) {
if (size > 1) {
Object[] data = new Object[expressionExecutors.size()];
for (int i = 0, size = data.length; i < size; i++) {
data[i] = expressionExecutors.get(i).execute(event);
}
if (event instanceof RemoveStream) {
return outputAttributeAggregator.processRemove(data);
} else {
return outputAttributeAggregator.processAdd(data);
}
} else {
if (event instanceof RemoveStream) {
return outputAttributeAggregator.processRemove(expressionExecutors.get(0).execute(event));
} else {
return outputAttributeAggregator.processAdd(expressionExecutors.get(0).execute(event));
}
}
}
示例7: currentState
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
public Object[] currentState() {
Map<String, OutputAttributeAggregator> tempMap = new HashMap<String, OutputAttributeAggregator>();
for (Map.Entry<String, OutputAttributeAggregator> entry : distributedAggregatorMap.entrySet()) {
tempMap.put(entry.getKey(), entry.getValue());
}
//todo may be we throw an error saying we don't support for distributed cases
return new Object[]{tempMap};
}
示例8: unlock
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
@Override
public synchronized void unlock() {
if (lockedAcquired) {
for (Map.Entry<String, OutputAttributeAggregator> entry : tempAggregatorMap.entrySet()) {
distributedAggregatorMap.putAsync(entry.getKey(), entry.getValue());
}
tempAggregatorMap.clear();
lockedAcquired = false;
// distributedAggregatorMap.unlockMap();
lock.unlock();
}
}
示例9: currentState
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
@Override
protected Object[] currentState() {
distributedAggregatorMap.lock(elementId);
OutputAttributeAggregator currentOutputAttributeAggregator = (OutputAttributeAggregator) distributedAggregatorMap.get(elementId);
Object[] data = new Object[]{currentOutputAttributeAggregator};
distributedAggregatorMap.unlock(elementId);
return data;
}
示例10: lock
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
@Override
public synchronized void lock() {
distributedAggregatorMap.lock(elementId);
lockedAcquired = true;
try {
outputAttributeAggregator = (OutputAttributeAggregator) distributedAggregatorMap.getAsync(elementId).get();
} catch (Exception e) {
log.error(e);
}
}
示例11: process
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
public synchronized Object process(AtomicEvent event, String key) {
OutputAttributeAggregator currentOutputAttributeAggregator = aggregatorMap.get(key);
if (currentOutputAttributeAggregator == null) {
currentOutputAttributeAggregator = sampleOutputAttributeAggregator.newInstance();
siddhiContext.addEternalReferencedHolder(currentOutputAttributeAggregator);
aggregatorMap.put(key, currentOutputAttributeAggregator);
}
return process(event, currentOutputAttributeAggregator);
}
示例12: createAttributeAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
@Override
public OutputAttributeAggregator createAttributeAggregator(Attribute.Type[] types) {
return OutputAttributeHandlerParser.createMinAggregator(types);
}
示例13: createAttributeAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
public OutputAttributeAggregator createAttributeAggregator(Attribute.Type[] types){
return OutputAttributeHandlerParser.createAvgAggregator(types);
}
示例14: createAttributeAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
@Override
public OutputAttributeAggregator createAttributeAggregator(Attribute.Type[] types) {
return OutputAttributeHandlerParser.createMaxAggregator(types);
}
示例15: createAttributeAggregator
import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; //导入依赖的package包/类
public OutputAttributeAggregator createAttributeAggregator(Attribute.Type[] types) {
return OutputAttributeHandlerParser.createCountAggregator(types);
}