Search in sources :

Example 11 with Message

use of io.protostuff.compiler.model.Message in project incubator-servicecomb-java-chassis by apache.

the class OperationProtobuf method initResponseCodec.

private void initResponseCodec(ScopedProtobufSchemaManager scopedProtobufSchemaManager, Invocation invocation) {
    ProtoMapper mapper = scopedProtobufSchemaManager.getOrCreateProtoMapper(invocation.getSchemaMeta());
    Message responseMessage = mapper.getResponseMessage(invocation.getOperationMeta().getOperationId());
    JavaType responseType = invocation.findResponseType(Status.OK.getStatusCode());
    if (!invocation.isConsumer()) {
        initProviderResponseCode(responseMessage, mapper, responseType);
    } else {
        initConsumerResponseCode(responseMessage, mapper, responseType);
    }
    anyResponseRootSerializer = new ResponseRootSerializer(mapper.createRootSerializer(ProtoConst.ANY, Object.class), false, true);
    anyResponseRootDeserializer = new ResponseRootDeserializer<>(mapper.createRootDeserializer(ProtoConst.ANY, Object.class), false);
}
Also used : JavaType(com.fasterxml.jackson.databind.JavaType) Message(io.protostuff.compiler.model.Message) ProtoMapper(org.apache.servicecomb.foundation.protobuf.ProtoMapper)

Example 12 with Message

use of io.protostuff.compiler.model.Message in project incubator-servicecomb-java-chassis by apache.

the class AnyEntrySchema method createRootDeserializerFromCanonicaName.

protected RootDeserializer<Object> createRootDeserializerFromCanonicaName(String msgCanonicalName) {
    Message message = protoMapper.getMessageFromCanonicaName(msgCanonicalName);
    if (message == null) {
        throw new IllegalStateException("can not find proto message to create deserializer, name=" + msgCanonicalName);
    }
    JavaType javaType = protoMapper.getAnyTypes().getOrDefault(msgCanonicalName, constructRuntimeType(ProtoConst.MAP_TYPE));
    return protoMapper.createRootDeserializer(message, javaType);
}
Also used : JavaType(com.fasterxml.jackson.databind.JavaType) Message(io.protostuff.compiler.model.Message)

Aggregations

Message (io.protostuff.compiler.model.Message)12 JavaType (com.fasterxml.jackson.databind.JavaType)6 ProtoMapper (org.apache.servicecomb.foundation.protobuf.ProtoMapper)6 TypeFactory (com.fasterxml.jackson.databind.type.TypeFactory)2 InputEx (io.protostuff.InputEx)2 OutputEx (io.protostuff.OutputEx)2 SchemaEx (io.protostuff.SchemaEx)2 SchemaWriter (io.protostuff.SchemaWriter)2 WireFormat (io.protostuff.WireFormat)2 Enum (io.protostuff.compiler.model.Enum)2 Field (io.protostuff.compiler.model.Field)2 Import (io.protostuff.compiler.model.Import)2 Service (io.protostuff.compiler.model.Service)2 IOException (java.io.IOException)2 Type (java.lang.reflect.Type)2 Map (java.util.Map)2 ConcurrentHashMapEx (org.apache.servicecomb.foundation.common.concurrent.ConcurrentHashMapEx)2 RootDeserializer (org.apache.servicecomb.foundation.protobuf.RootDeserializer)2 RootSerializer (org.apache.servicecomb.foundation.protobuf.RootSerializer)2 ProtoConst (org.apache.servicecomb.foundation.protobuf.internal.ProtoConst)2