id.unum.facade.rest.serialization.DidDocumentDeserializer Maven / Gradle / Ivy
The newest version!
package id.unum.facade.rest.serialization;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.util.JsonFormat;
import id.unum.protos.didDocument.v1.DidDocument;
import lombok.extern.log4j.Log4j2;
import java.lang.reflect.Type;
@Log4j2
public class DidDocumentDeserializer implements JsonDeserializer {
@Override
public DidDocument deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
log.info("starting deserialization of DidDocument");
DidDocument.Builder builder = DidDocument.newBuilder();
try {
log.info("starting deserialization of DidDocument. in Try");
log.info("json " + jsonElement);
JsonFormat.parser().ignoringUnknownFields().merge(jsonElement.toString(), builder);
log.info("starting deserialization of DidDocument. after proto parser");
} catch (InvalidProtocolBufferException e) {
log.error("Issue deserializing DidDocument: " + e.getMessage());
e.printStackTrace();
}
log.info("starting deserialization of DidDocument. before build");
return builder.build();
}
}