package com.megatim.fdxconsultation.service.impl.sockets.encoders;
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import java.io.IOException;
|
import com.megatim.fdxcommons.model.dataproduction.CommonDataProduction;
|
import javax.websocket.DecodeException;
|
import javax.websocket.Decoder;
|
import javax.websocket.EndpointConfig;
|
|
/**
|
*
|
* @author lenovo
|
*/
|
public class DataProductionDecoder implements Decoder.Text<CommonDataProduction> {
|
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
|
@Override
|
public CommonDataProduction decode(String s) throws DecodeException {
|
try {
|
return objectMapper.readValue(s, new TypeReference<CommonDataProduction>() {
|
});
|
} catch (IOException e) {
|
throw new DecodeException(s, "Unable to decode map", e);
|
}
|
}
|
|
@Override
|
public boolean willDecode(String s) {
|
return s != null;
|
}
|
|
@Override
|
public void init(EndpointConfig endpointConfig) {
|
}
|
|
@Override
|
public void destroy() {
|
}
|
}
|