Skip to content

Commit

Permalink
Polishing
Browse files Browse the repository at this point in the history
(cherry picked from commit 6fef8b9)
  • Loading branch information
jhoeller committed May 20, 2014
1 parent 44ee51a commit d4e1b9e
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 23 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2013 the original author or authors.
* Copyright 2002-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -37,7 +37,6 @@
import java.util.Date;
import java.util.Map;
import java.util.UUID;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.xml.XMLConstants;
Expand Down Expand Up @@ -78,6 +77,7 @@
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;

import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.core.JdkVersion;
Expand Down Expand Up @@ -111,6 +111,7 @@
*
* @author Arjen Poutsma
* @author Juergen Hoeller
* @author Rossen Stoyanchev
* @since 3.0
* @see #setContextPath(String)
* @see #setClassesToBeBound(Class[])
Expand Down Expand Up @@ -893,7 +894,7 @@ private static class Jaxb2AttachmentMarshaller extends AttachmentMarshaller {

private final MimeContainer mimeContainer;

private Jaxb2AttachmentMarshaller(MimeContainer mimeContainer) {
public Jaxb2AttachmentMarshaller(MimeContainer mimeContainer) {
this.mimeContainer = mimeContainer;
}

Expand Down Expand Up @@ -947,7 +948,7 @@ private static class Jaxb2AttachmentUnmarshaller extends AttachmentUnmarshaller

private final MimeContainer mimeContainer;

private Jaxb2AttachmentUnmarshaller(MimeContainer mimeContainer) {
public Jaxb2AttachmentUnmarshaller(MimeContainer mimeContainer) {
this.mimeContainer = mimeContainer;
}

Expand Down Expand Up @@ -997,7 +998,7 @@ private static class ByteArrayDataSource implements DataSource {

private final int length;

private ByteArrayDataSource(String contentType, byte[] data, int offset, int length) {
public ByteArrayDataSource(String contentType, byte[] data, int offset, int length) {
this.contentType = contentType;
this.data = data;
this.offset = offset;
Expand Down Expand Up @@ -1025,6 +1026,7 @@ public String getName() {
}
}


private static final EntityResolver NO_OP_ENTITY_RESOLVER = new EntityResolver() {
@Override
public InputSource resolveEntity(String publicId, String systemId) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -26,7 +26,6 @@
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;

import javax.xml.bind.JAXBException;
import javax.xml.bind.UnmarshalException;
import javax.xml.bind.Unmarshaller;
Expand Down Expand Up @@ -54,6 +53,7 @@
* does not support writing.
*
* @author Arjen Poutsma
* @author Rossen Stoyanchev
* @since 3.2
*/
@SuppressWarnings("rawtypes")
Expand All @@ -62,6 +62,7 @@ public class Jaxb2CollectionHttpMessageConverter<T extends Collection>

private final XMLInputFactory inputFactory = createXmlInputFactory();


/**
* Always returns {@code false} since Jaxb2CollectionHttpMessageConverter
* required generic type information in order to read a Collection.
Expand Down Expand Up @@ -166,7 +167,6 @@ else if (elementClass.isAnnotationPresent(XmlType.class)) {
/**
* Create a Collection of the given type, with the given initial capacity
* (if supported by the Collection type).
*
* @param collectionClass the type of Collection to instantiate
* @return the created Collection instance
*/
Expand Down Expand Up @@ -224,10 +224,8 @@ protected void writeToResult(T t, HttpHeaders headers, Result result) throws IOE
/**
* Create a {@code XMLInputFactory} that this converter will use to create {@link
* javax.xml.stream.XMLStreamReader} and {@link javax.xml.stream.XMLEventReader} objects.
* <p/> Can be overridden in subclasses, adding further initialization of the factory.
* <p>Can be overridden in subclasses, adding further initialization of the factory.
* The resulting factory is cached, so this method will only be called once.
*
* @return the created factory
*/
protected XMLInputFactory createXmlInputFactory() {
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,30 @@
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.stream.StreamSource;

import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;

import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConversionException;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.http.converter.HttpMessageNotWritableException;
import org.springframework.util.ClassUtils;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;

/**
* Implementation of {@link org.springframework.http.converter.HttpMessageConverter HttpMessageConverter} that can read
* and write XML using JAXB2.
* Implementation of {@link org.springframework.http.converter.HttpMessageConverter HttpMessageConverter}
* that can read and write XML using JAXB2.
*
* <p>This converter can read classes annotated with {@link XmlRootElement} and {@link XmlType}, and write classes
* annotated with with {@link XmlRootElement}, or subclasses thereof.
* <p>This converter can read classes annotated with {@link XmlRootElement} and {@link XmlType},
* and write classes annotated with with {@link XmlRootElement}, or subclasses thereof.
*
* @author Arjen Poutsma
* @author Sebastien Deleuze
* @author Rossen Stoyanchev
* @since 3.0
*/
public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessageConverter<Object> {
Expand All @@ -69,10 +71,14 @@ public void setProcessExternalEntities(boolean processExternalEntities) {
this.processExternalEntities = processExternalEntities;
}

/**
* Returns the configured value for whether XML external entities are allowed.
*/
public boolean isProcessExternalEntities() {
return this.processExternalEntities;
}


@Override
public boolean canRead(Class<?> clazz, MediaType mediaType) {
return (clazz.isAnnotationPresent(XmlRootElement.class) || clazz.isAnnotationPresent(XmlType.class)) &&
Expand All @@ -81,7 +87,7 @@ public boolean canRead(Class<?> clazz, MediaType mediaType) {

@Override
public boolean canWrite(Class<?> clazz, MediaType mediaType) {
return AnnotationUtils.findAnnotation(clazz, XmlRootElement.class) != null && canWrite(mediaType);
return (AnnotationUtils.findAnnotation(clazz, XmlRootElement.class) != null && canWrite(mediaType));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2013 the original author or authors.
* Copyright 2002-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -61,6 +61,7 @@
* that can read and write {@link Source} objects.
*
* @author Arjen Poutsma
* @author Rossen Stoyanchev
* @since 3.0
*/
public class SourceHttpMessageConverter<T extends Source> extends AbstractHttpMessageConverter<T> {
Expand Down Expand Up @@ -99,12 +100,13 @@ public void setProcessExternalEntities(boolean processExternalEntities) {
}

/**
* @return the configured value for whether XML external entities are allowed.
* Returns the configured value for whether XML external entities are allowed.
*/
public boolean isProcessExternalEntities() {
return this.processExternalEntities;
}


@Override
public boolean supports(Class<?> clazz) {
return SUPPORTED_CLASSES.contains(clazz);
Expand Down

0 comments on commit d4e1b9e

Please sign in to comment.