package org.hackreduce.storm.vmc.spouts; import java.util.Map; import java.util.Random; import backtype.storm.topology.OutputFieldsDeclarer; import backtype.storm.tuple.Fields; import backtype.storm.tuple.Values; import org.hackreduce.storm.vmc.common.Utils; import org.hackreduce.storm.vmc.common.Whatever; public class HelloSpout extends BaseSpout { private Random r; private Values[] tuples; public HelloSpout(Map<String, String> lookup) { r = new Random(); this.tuples = Utils.mapToTuples(lookup); } @Override public void nextTuple() { int i = this.r.nextInt(this.tuples.length); this.collector.emit(this.tuples[i]); //System.err.println("Hello in [" + this.tuples[i].get(0) + "] is [" + this.tuples[i].get(1) + "]."); } @Override public void declareOutputFields(OutputFieldsDeclarer declarer) {declarer.declare(new Fields(Whatever.LANGUAGEFIELD, Whatever.HELLOFIELD));} }