package com.produban.openbus.trident; import java.util.Arrays; import java.util.Iterator; import java.util.List; import org.apache.log4j.Logger; import com.produban.openbus.webservice.MetricaOnLine; import backtype.storm.topology.BasicOutputCollector; import backtype.storm.topology.OutputFieldsDeclarer; import backtype.storm.topology.base.BaseBasicBolt; import backtype.storm.tuple.Tuple; public class EchoBolt extends BaseBasicBolt { private static Logger LOG = Logger.getLogger(EchoBolt.class); @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { } @Override public void execute(Tuple tuple, BasicOutputCollector collector) { List<Object> objetos =tuple.getValues(); /*if (objetos.get(0) instanceof String){ System.out.println("Es String: "+ tuple.getString(0)+" "+tuple.getString(0)); }else if(objetos.get(0) instanceof byte[]){ System.out.println("Es byte[]: "+new String((byte[]) tuple.getValues().get(0))+"--"+new String((byte[]) tuple.getValues().get(1))); }*/ /*if (tuple.getString(0).equals("DATOS")){ System.out.println(tuple.getValueByField("datos").getClass().getName()); String[] datos = (String[]) tuple.getValueByField("datos"); String contenido=""; for(int i=1;i<datos.length;i++){ contenido+=datos[i]+","; } System.out.println("Stream destino: "+datos[0] +" con datos: "+contenido); }else{ MetricaOnLine metrica = (MetricaOnLine) tuple.getValueByField("datos"); System.out.println("metrica recibida: "+metrica.getOnLineMetricName()); }*/ System.out.println("Destino (index/type/id):"+tuple.getValueByField("index")+"/"+tuple.getValueByField("type")+"/"+ tuple.getValueByField("id")+ "Datos: "+tuple.getValueByField("document")); } }