/**
*
*/
package net.frontlinesms.camel.smslib;
import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultProducer;
import org.smslib.COutgoingMessage;
/**
* @author Alex Anderson
*/
class SmslibProducer extends DefaultProducer implements SmslibServiceProducer {
private final SmslibService smslibService;
public SmslibProducer(SmslibEndpoint endpoint, SmslibService smslibService) {
super(endpoint);
this.smslibService = smslibService;
}
/** @see Processor#process(Exchange) */
public void process(Exchange exchange) throws Exception {
OutgoingSmslibCamelMessage msg = new OutgoingSmslibCamelMessage((COutgoingMessage) exchange.getIn().getBody());
this.smslibService.send(msg);
}
@Override
protected void doStart() throws Exception {
super.doStart();
this.smslibService.startForProducer();
}
@Override
public void doStop() throws Exception {
super.doStop();
this.smslibService.stopForProducer(this);
}
}