package com.produban.openbus.siddhiCep; import org.wso2.siddhi.core.query.selector.attribute.handler.OutputAttributeAggregator; import org.wso2.siddhi.query.api.definition.Attribute.Type; public class SumadorCondicionalConReinicioAggregatorLong implements OutputAttributeAggregator { private static final long serialVersionUID = -1590558006202301712L; private Long acum=0L; @Override public void destroy() { // TODO Auto-generated method stub } @Override public Type getReturnType() { return Type.LONG; } @Override public Object processAdd(Object obj) { if (obj instanceof Object[]) { Object[] objArray = (Object[]) obj; Long sumaActual = (Long)objArray[0]; String valor = (String)objArray[1]; String valorReinicio = (String)objArray[2]; if(valor.equals(valorReinicio)){ acum=0L; return 0; }else{ acum+=sumaActual; return Long.valueOf(acum); } } return null; } @Override public Object processRemove(Object obj) { return Long.valueOf(acum); } @Override public OutputAttributeAggregator newInstance() { return new SumadorCondicionalConReinicioAggregatorLong(); } }