package com.eswaraj.tasks.bolt;
import java.io.FileReader;
import java.util.Map;
import au.com.bytecode.opencsv.CSVReader;
import backtype.storm.task.OutputCollector;
import backtype.storm.task.TopologyContext;
import backtype.storm.topology.IRichBolt;
import backtype.storm.topology.OutputFieldsDeclarer;
import backtype.storm.tuple.Tuple;
import com.eswaraj.web.dto.LocationBoundaryFileDto;
public class SaveLocationBolt implements IRichBolt{
/**
*
*/
private static final long serialVersionUID = 1L;
private OutputCollector collector;
@Override
public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) {
this.collector = collector;
}
@Override
public void execute(Tuple input) {
try{
LocationBoundaryFileDto locationBoundaryFileDto = (LocationBoundaryFileDto)input.getValueByField("locationBoundaryFileDto");
CSVReader csvReader = new CSVReader(new FileReader(locationBoundaryFileDto.getFileNameAndPath()));
String headers[] = csvReader.readNext();
//First column will be latitude and second column will be longitude
String line[];
while((line = csvReader.readNext()) != null){
}
}catch(Exception ex){
collector.fail(input);
}
}
@Override
public void cleanup() {
// TODO Auto-generated method stub
}
@Override
public void declareOutputFields(OutputFieldsDeclarer declarer) {
// TODO Auto-generated method stub
}
@Override
public Map<String, Object> getComponentConfiguration() {
// TODO Auto-generated method stub
return null;
}
}