Search in sources :

Example 1 with RootDeserializer

use of org.apache.servicecomb.foundation.protobuf.RootDeserializer in project java-chassis by ServiceComb.

the class DeserializerSchemaManager method createRootDeserializer.

@SuppressWarnings({ "rawtypes", "unchecked" })
public <T> RootDeserializer<T> createRootDeserializer(Message message, Type type) {
    if (ProtoUtils.isAnyMessage(message)) {
        SchemaEx<Object> messageSchema = new AnyEntrySchema(protoMapper, type);
        return new RootDeserializer(messageSchema);
    }
    JavaType javaType = TypeFactory.defaultInstance().constructType(type);
    SchemaEx<T> messageSchema = getOrCreateMessageSchema(message, javaType);
    return new RootDeserializer<>(messageSchema);
}
Also used : AnyEntrySchema(org.apache.servicecomb.foundation.protobuf.internal.schema.any.AnyEntrySchema) JavaType(com.fasterxml.jackson.databind.JavaType) RootDeserializer(org.apache.servicecomb.foundation.protobuf.RootDeserializer)

Example 2 with RootDeserializer

use of org.apache.servicecomb.foundation.protobuf.RootDeserializer in project incubator-servicecomb-java-chassis by apache.

the class DeserializerSchemaManager method createRootDeserializer.

@SuppressWarnings({ "rawtypes", "unchecked" })
public <T> RootDeserializer<T> createRootDeserializer(Message message, Type type) {
    if (ProtoUtils.isAnyMessage(message)) {
        SchemaEx<Object> messageSchema = new AnyEntrySchema(protoMapper, type);
        return new RootDeserializer(messageSchema);
    }
    JavaType javaType = TypeFactory.defaultInstance().constructType(type);
    SchemaEx<T> messageSchema = getOrCreateMessageSchema(message, javaType);
    return new RootDeserializer<>(messageSchema);
}
Also used : AnyEntrySchema(org.apache.servicecomb.foundation.protobuf.internal.schema.any.AnyEntrySchema) JavaType(com.fasterxml.jackson.databind.JavaType) RootDeserializer(org.apache.servicecomb.foundation.protobuf.RootDeserializer)

Aggregations

JavaType (com.fasterxml.jackson.databind.JavaType)2 RootDeserializer (org.apache.servicecomb.foundation.protobuf.RootDeserializer)2 AnyEntrySchema (org.apache.servicecomb.foundation.protobuf.internal.schema.any.AnyEntrySchema)2