Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.accidia.protoserver.providers;
 
Message body reader implementation for reading converting Json to Message
public class JsonMessageReader<ProtobufType extends Messageimplements MessageBodyReader<ProtobufType> {
    private static final Logger logger = LoggerFactory.getLogger(JsonMessageReader.class);
    private final ExtensionRegistry extensionRegistry = ExtensionRegistry.newInstance();
    @Override
    public boolean isReadable(final Class type,
                              final Type genericType,
                              final Annotation[] annotations,
                              final MediaType mediaType) {
        // The 'Message' abstract class does not have a 'builder' implementation, so resources cannot
        // simply ask for a Message object; instead the concrete class definition must be given.
        return mediaType.isCompatible(.)
                && type.getClass().isAssignableFrom(Message.class)
                && type.getClass() != Message.class.getClass();
    }
    @SuppressWarnings("unchecked")
    @Override
    public ProtobufType readFrom(final Class type,
                            final Type genericType,
                            final Annotation[] annotations,
                            final MediaType mediaType,
                            final MultivaluedMap httpHeaders,
                            final InputStream entityStreamthrows IOExceptionWebApplicationException {
        try {
            final Method newBuilder = type.getMethod("newBuilder");
            final GeneratedMessage.Builder builder = (GeneratedMessage.BuildernewBuilder.invoke(type);
            final String data = CharStreams.toString(new InputStreamReader(entityStream.));
            JsonFormat.merge(datathis.builder);
            return (ProtobufType) builder.buildPartial();
        } catch (final Exception e) {
            .warn("exception caught while reading message: "e);
            throw new WebApplicationException(e..);
        }
    }
New to GrepCode? Check out our FAQ X