Slide 200
Slide 200 text
public class DocCreatedEvent1_to_2Upcaster extends SingleEventUpcaster {
private static final SimpleSerializedType TARGET_TYPE =
new SimpleSerializedType(DocCreated.class.getTypeName(), "1.0");
@Override
protected boolean canUpcast(IntermediateEventRepresentation intermediateRepresentation) {
return intermediateRepresentation.getType().equals(TARGET_TYPE);
}
@Override
protected IntermediateEventRepresentation doUpcast(
IntermediateEventRepresentation intermediateRepresentation
) {
return intermediateRepresentation.upcastPayload(
new SimpleSerializedType(TARGET_TYPE.getName(), "2.0"),
com.fasterxml.jackson.databind.JsonNode.class,
event -> {
var node = (ObjectNode) event;
var body = node.get("body").asText();
node.put("text", body);
return node;
}
);
}
}