package resa.evaluation.simulate.sleep;
import backtype.storm.topology.OutputFieldsDeclarer;
import backtype.storm.tuple.Fields;
import backtype.storm.tuple.Tuple;
import backtype.storm.tuple.Values;
import java.util.StringTokenizer;
/**
* Created by ding on 14-1-27.
*/
public class TASplitSentence extends TASleepBolt {
private static final long serialVersionUID = 9182719848878455933L;
public TASplitSentence(IntervalSupplier sleep) {
super(sleep);
}
public void execute(Tuple tuple) {
super.execute(tuple);
String sid = tuple.getString(0);
String sentence = tuple.getString(1);
StringTokenizer tokenizer = new StringTokenizer(sentence);
while (tokenizer.hasMoreTokens()) {
collector.emit(tuple, new Values(sid, tokenizer.nextToken()));
}
collector.ack(tuple);
}
public void declareOutputFields(OutputFieldsDeclarer declarer) {
declarer.declare(new Fields("sid", "word"));
}
}