diff --git a/spring-oxm/src/main/java/org/springframework/oxm/castor/CastorMarshaller.java b/spring-oxm/src/main/java/org/springframework/oxm/castor/CastorMarshaller.java index 7e8ecfc42e..adc403ccf0 100644 --- a/spring-oxm/src/main/java/org/springframework/oxm/castor/CastorMarshaller.java +++ b/spring-oxm/src/main/java/org/springframework/oxm/castor/CastorMarshaller.java @@ -170,30 +170,32 @@ public class CastorMarshaller extends AbstractMarshaller implements Initializing } /** - * Set the locations of the Castor XML Mapping files. + * Set the locations of the Castor XML mapping files. */ public void setMappingLocations(Resource... mappingLocations) { this.mappingLocations = mappingLocations; } /** - * Set the Castor target class. Alternative means of configuring {@code CastorMarshaller} for unmarshalling - * multiple classes include use of mapping files, and specifying packages with Castor descriptor classes. + * Set the Castor target class. + * @see #setTargetPackage + * @see #setMappingLocation */ public void setTargetClass(Class targetClass) { this.targetClasses = new Class[] {targetClass}; } /** - * Set the Castor target classes. Alternative means of configuring {@code CastorMarshaller} for unmarshalling - * multiple classes include use of mapping files, and specifying packages with Castor descriptor classes. + * Set the Castor target classes. + * @see #setTargetPackages + * @see #setMappingLocations */ public void setTargetClasses(Class... targetClasses) { this.targetClasses = targetClasses; } /** - * Set the names of package with the Castor descriptor classes. + * Set the name of a package with the Castor descriptor classes. */ public void setTargetPackage(String targetPackage) { this.targetPackages = new String[] {targetPackage}; diff --git a/spring-oxm/src/main/java/org/springframework/oxm/jibx/JibxMarshaller.java b/spring-oxm/src/main/java/org/springframework/oxm/jibx/JibxMarshaller.java index 494ac097f9..b184560457 100644 --- a/spring-oxm/src/main/java/org/springframework/oxm/jibx/JibxMarshaller.java +++ b/spring-oxm/src/main/java/org/springframework/oxm/jibx/JibxMarshaller.java @@ -107,7 +107,7 @@ public class JibxMarshaller extends AbstractMarshaller implements InitializingBe private IBindingFactory bindingFactory; - private TransformerFactory transformerFactory = TransformerFactory.newInstance(); + private final TransformerFactory transformerFactory = TransformerFactory.newInstance(); /** @@ -127,6 +127,7 @@ public class JibxMarshaller extends AbstractMarshaller implements InitializingBe public void setTargetPackage(String targetPackage) { this.targetPackage = targetPackage; } + /** * Set the optional binding name for this instance. */ @@ -167,7 +168,7 @@ public class JibxMarshaller extends AbstractMarshaller implements InitializingBe } /** - * Set the system Id for the DTD declaration written when marshalling. + * Set the system id for the DTD declaration written when marshalling. * By default, this is {@code null}. Only used when the root element also has been set. *

Set either this property or {@code docTypePublicId}, not both. * @see #setDocTypeRootElementName(String) @@ -177,7 +178,7 @@ public class JibxMarshaller extends AbstractMarshaller implements InitializingBe } /** - * Set the public Id for the DTD declaration written when marshalling. + * Set the public id for the DTD declaration written when marshalling. * By default, this is {@code null}. Only used when the root element also has been set. *

Set either this property or {@code docTypeSystemId}, not both. * @see #setDocTypeRootElementName(String) @@ -217,12 +218,12 @@ public class JibxMarshaller extends AbstractMarshaller implements InitializingBe bindingName = DEFAULT_BINDING_NAME; } if (logger.isInfoEnabled()) { - logger.info("Configured for target package [" + targetPackage + "] using binding [" + bindingName + "]"); + logger.info("Configured for target package [" + this.targetPackage + "] using binding [" + this.bindingName + "]"); } - this.bindingFactory = BindingDirectory.getFactory(bindingName, targetPackage); + this.bindingFactory = BindingDirectory.getFactory(this.bindingName, this.targetPackage); } else { - throw new IllegalArgumentException("either 'targetClass' or 'targetPackage' is required"); + throw new IllegalArgumentException("Either 'targetClass' or 'targetPackage' is required"); } } @@ -407,12 +408,13 @@ public class JibxMarshaller extends AbstractMarshaller implements InitializingBe @Override protected Object unmarshalSaxReader(XMLReader xmlReader, InputSource inputSource) throws XmlMappingException, IOException { + return transformAndUnmarshal(new SAXSource(xmlReader, inputSource)); } private Object transformAndUnmarshal(Source source) throws IOException { try { - Transformer transformer = transformerFactory.newTransformer(); + Transformer transformer = this.transformerFactory.newTransformer(); ByteArrayOutputStream os = new ByteArrayOutputStream(); transformer.transform(source, new StreamResult(os)); ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());