All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openprovenance.prov.service.core.readers.MapMessageBodyReader Maven / Gradle / Ivy

package org.openprovenance.prov.service.core.readers;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import jakarta.ws.rs.WebApplicationException;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.MultivaluedMap;
import jakarta.ws.rs.ext.MessageBodyReader;
import jakarta.ws.rs.ext.Provider;
import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.Map;

@Provider
public class MapMessageBodyReader implements MessageBodyReader {
	static Logger logger = LogManager.getLogger(MessageBodyReader.class);

	@Override
	public boolean isReadable(Class type, Type genericType,
							  Annotation[] annotations, MediaType mediaType) {
		logger.debug("media "+ mediaType.toString());
		return "application/json".equals(mediaType.toString());
	}

	@Override
	public Map readFrom(Class type, Type genericType,
								Annotation[] annotations, MediaType mediaType,
								MultivaluedMap httpHeaders,
								InputStream is) throws IOException,
			WebApplicationException {

		return new ObjectMapper().readValue(is,Map.class);

	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy