2012-07-15 14:12:03 +02:00
|
|
|
package docs.camel;
|
|
|
|
|
//#TransformOutgoingMessage
|
|
|
|
|
import akka.camel.CamelMessage;
|
|
|
|
|
import akka.camel.javaapi.UntypedProducerActor;
|
2012-09-03 12:08:46 +02:00
|
|
|
import akka.dispatch.Mapper;
|
2012-07-15 14:12:03 +02:00
|
|
|
import akka.japi.Function;
|
|
|
|
|
|
|
|
|
|
public class Transformer extends UntypedProducerActor{
|
|
|
|
|
private String uri;
|
|
|
|
|
|
|
|
|
|
public Transformer(String uri) {
|
|
|
|
|
this.uri = uri;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String getEndpointUri() {
|
|
|
|
|
return uri;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private CamelMessage upperCase(CamelMessage msg) {
|
2012-09-03 12:08:46 +02:00
|
|
|
return msg.mapBody(new Mapper<String,String>() {
|
|
|
|
|
@Override
|
2012-07-15 14:12:03 +02:00
|
|
|
public String apply(String body) {
|
|
|
|
|
return body.toUpperCase();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Object onTransformOutgoingMessage(Object message) {
|
|
|
|
|
if(message instanceof CamelMessage) {
|
|
|
|
|
CamelMessage camelMessage = (CamelMessage) message;
|
|
|
|
|
return upperCase(camelMessage);
|
|
|
|
|
} else {
|
|
|
|
|
return message;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//#TransformOutgoingMessage
|