package com.megatim.fdxconsultation.service.impl.sockets.encoders;
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
import com.megatim.fdxconsultation.model.supervision.Transfert;
|
import javax.websocket.EncodeException;
|
import javax.websocket.Encoder;
|
import javax.websocket.EndpointConfig;
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
/**
|
*
|
* @author lenovo
|
*/
|
public class TransfertEncoder implements Encoder.Text<Transfert> {
|
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
|
@Override
|
public String encode(Transfert transfert) throws EncodeException {
|
try {
|
|
objectMapper.registerModule(new JavaTimeModule());
|
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
|
return objectMapper.writeValueAsString(transfert);
|
} catch (JsonProcessingException e) {
|
throw new EncodeException(transfert, "Unable to encode transfert data message", e);
|
}
|
}
|
|
@Override
|
public void init(EndpointConfig endpointConfig) {
|
}
|
|
@Override
|
public void destroy() {
|
}
|
}
|