package eu.europeana.cloud.service.dps.storm.kafka;
import java.io.IOException;
import kafka.serializer.Encoder;
import kafka.utils.VerifiableProperties;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class JsonEncoder implements Encoder<Object> {
private static final Logger LOGGER = LoggerFactory.getLogger(JsonEncoder.class);
public JsonEncoder(VerifiableProperties verifiableProperties) {
}
@Override
public byte[] toBytes(Object object) {
ObjectMapper objectMapper = new ObjectMapper();
try {
return objectMapper.writeValueAsString(object).getBytes();
} catch (JsonProcessingException e) {
LOGGER.error(String.format("Json processing failed for object: %s", object.getClass().getName()), e);
} catch (IOException e) {
e.printStackTrace();
}
return "".getBytes();
}
}