The idea is to filter the sources, replacing @<var>@ occurrences with the mapping for <var> (which is currently hard-coded). @@ -> @. In order to make this work, I had to move the doc sources one directory down (into akka-docs/rst) so that the filtered result could be in a sibling directory so that relative links (to _sphinx plugins or real code) would continue to work. While I was at it I also changed it so that WARNINGs and ERRORs are not swallowed into the debug dump anymore but printed at [warn] level (minimum). One piece of fallout is that the (online) html build is now run after the normal one, not in parallel.
36 lines
841 B
Java
36 lines
841 B
Java
package docs.camel;
|
|
//#TransformOutgoingMessage
|
|
import akka.camel.CamelMessage;
|
|
import akka.camel.javaapi.UntypedProducerActor;
|
|
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) {
|
|
return msg.mapBody(new Function<String,String>() {
|
|
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
|