// Copyright (c) P. Taylor Goetz (ptgoetz@gmail.com) package ch.epfl.data.squall.components.signal_components.storm; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import backtype.storm.task.OutputCollector; import backtype.storm.task.TopologyContext; import backtype.storm.topology.base.BaseRichBolt; @SuppressWarnings("serial") public abstract class BaseSignalBolt extends BaseRichBolt implements SignalListener { private static final Logger LOG = LoggerFactory .getLogger(BaseSignalBolt.class); private String name; private StormSignalConnection signalConnection; public BaseSignalBolt(String name) { this.name = name; } @SuppressWarnings("rawtypes") @Override public void prepare(Map conf, TopologyContext context, OutputCollector collector) { try { this.signalConnection = new StormSignalConnection(this.name, this); this.signalConnection.init(conf); } catch (Exception e) { LOG.error("Error SignalConnection.", e); } } public void sendSignal(String toPath, byte[] signal) throws Exception { this.signalConnection.send(toPath, signal); } @Override public void cleanup() { // TODO Auto-generated method stub super.cleanup(); this.signalConnection.close(); } }