Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #164 from futures/ProducesAnnotations
Adding @Producer annotations to MessageBodyWriters
  • Loading branch information
barmintor committed Nov 22, 2013
2 parents 36125ff + 28044a4 commit 19369d8
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 1 deletion.
Expand Up @@ -19,6 +19,7 @@
import static com.google.common.collect.ImmutableList.of;
import static com.google.common.collect.ImmutableMap.builder;
import static com.hp.hpl.jena.graph.Node.ANY;
import static javax.ws.rs.core.MediaType.APPLICATION_XHTML_XML;
import static javax.ws.rs.core.MediaType.TEXT_HTML;
import static javax.ws.rs.core.MediaType.TEXT_HTML_TYPE;
import static org.fcrepo.kernel.rdf.SerializationUtils.getDatasetSubject;
Expand All @@ -44,6 +45,7 @@
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.nodetype.NodeTypeIterator;
import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
Expand Down Expand Up @@ -77,6 +79,7 @@
* @date May 19, 2013
*/
@Provider
@Produces({TEXT_HTML, APPLICATION_XHTML_XML})
public class BaseHtmlProvider implements MessageBodyWriter<Dataset> {

@Autowired
Expand Down Expand Up @@ -258,7 +261,8 @@ public boolean isWriteable(final Class<?> type, final Type genericType,
LOGGER.debug(
"Checking to see if type: {} is serializable to mimeType: {}",
type.getName(), mediaType);
return mediaType.equals(TEXT_HTML_TYPE)
return (mediaType.equals(TEXT_HTML_TYPE) || mediaType
.equals(APPLICATION_XHTML_XML))
&& Dataset.class.isAssignableFrom(type);
}

Expand Down
Expand Up @@ -18,13 +18,22 @@

import static java.util.Collections.singletonList;
import static org.apache.jena.riot.WebContent.contentTypeToLang;
import static org.fcrepo.http.commons.domain.RDFMediaType.N3;
import static org.fcrepo.http.commons.domain.RDFMediaType.N3_ALT1;
import static org.fcrepo.http.commons.domain.RDFMediaType.N3_ALT2;
import static org.fcrepo.http.commons.domain.RDFMediaType.NTRIPLES;
import static org.fcrepo.http.commons.domain.RDFMediaType.RDF_JSON;
import static org.fcrepo.http.commons.domain.RDFMediaType.RDF_XML;
import static org.fcrepo.http.commons.domain.RDFMediaType.TURTLE;
import static org.fcrepo.http.commons.responses.RdfSerializationUtils.setCachingHeaders;
import static org.slf4j.LoggerFactory.getLogger;

import java.io.IOException;
import java.io.OutputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;

import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
Expand All @@ -42,6 +51,7 @@
*/
@Provider
@Component
@Produces({TURTLE, N3, N3_ALT1, N3_ALT2, RDF_XML, RDF_JSON, NTRIPLES})
public class RdfProvider implements MessageBodyWriter<Dataset> {

private static final Logger logger = getLogger(RdfProvider.class);
Expand Down
Expand Up @@ -19,6 +19,13 @@
import static com.google.common.util.concurrent.Futures.addCallback;
import static javax.ws.rs.core.MediaType.APPLICATION_XHTML_XML_TYPE;
import static javax.ws.rs.core.MediaType.TEXT_HTML_TYPE;
import static org.fcrepo.http.commons.domain.RDFMediaType.N3;
import static org.fcrepo.http.commons.domain.RDFMediaType.N3_ALT1;
import static org.fcrepo.http.commons.domain.RDFMediaType.N3_ALT2;
import static org.fcrepo.http.commons.domain.RDFMediaType.NTRIPLES;
import static org.fcrepo.http.commons.domain.RDFMediaType.RDF_JSON;
import static org.fcrepo.http.commons.domain.RDFMediaType.RDF_XML;
import static org.fcrepo.http.commons.domain.RDFMediaType.TURTLE;
import static org.openrdf.rio.RDFFormat.NO_CONTEXTS;
import static org.openrdf.rio.RDFFormat.NO_NAMESPACES;
import static org.slf4j.LoggerFactory.getLogger;
Expand All @@ -30,6 +37,7 @@
import java.nio.charset.Charset;

import javax.annotation.PostConstruct;
import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
Expand All @@ -52,6 +60,7 @@
*/
@Provider
@Component
@Produces({TURTLE, N3, N3_ALT1, N3_ALT2, RDF_XML, RDF_JSON, NTRIPLES})
public class RdfStreamProvider implements MessageBodyWriter<RdfStream> {

private static final Logger LOGGER = getLogger(RdfStreamProvider.class);
Expand Down
Expand Up @@ -16,6 +16,8 @@

package org.fcrepo.http.commons.responses;

import static javax.ws.rs.core.MediaType.APPLICATION_XHTML_XML;
import static javax.ws.rs.core.MediaType.TEXT_HTML;
import static org.fcrepo.kernel.rdf.SerializationUtils.subjectKey;
import static org.slf4j.LoggerFactory.getLogger;

Expand All @@ -26,6 +28,7 @@

import javax.annotation.PostConstruct;
import javax.jcr.RepositoryException;
import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
Expand All @@ -48,6 +51,7 @@
* @date Nov 19, 2013
*/
@Provider
@Produces({TEXT_HTML, APPLICATION_XHTML_XML})
public class StreamingBaseHtmlProvider implements MessageBodyWriter<RdfStream>,
ApplicationContextAware {

Expand Down

0 comments on commit 19369d8

Please sign in to comment.