Browse Source

refined fix so that XStreamMarshaller does not wrap IllegalArgumentException

Issue: SPR-9536
pull/100/merge
Juergen Hoeller 14 years ago committed by unknown
parent
commit
309e51ba5b
  1. 26
      spring-oxm/src/main/java/org/springframework/oxm/xstream/XStreamMarshaller.java

26
spring-oxm/src/main/java/org/springframework/oxm/xstream/XStreamMarshaller.java

@ -202,7 +202,7 @@ public class XStreamMarshaller extends AbstractMarshaller implements Initializin
* @param aliases * @param aliases
* @throws ClassNotFoundException * @throws ClassNotFoundException
* @throws NoSuchFieldException * @throws NoSuchFieldException
* @see XStream#aliasField(String, Class, String) * @see XStream#aliasField(String, Class, String)
*/ */
public void setFieldAliases(Map<String, String> aliases) throws ClassNotFoundException, NoSuchFieldException { public void setFieldAliases(Map<String, String> aliases) throws ClassNotFoundException, NoSuchFieldException {
for (Map.Entry<String, String> entry : aliases.entrySet()) { for (Map.Entry<String, String> entry : aliases.entrySet()) {
@ -473,17 +473,17 @@ public class XStreamMarshaller extends AbstractMarshaller implements Initializin
@Override @Override
protected Object unmarshalDomNode(Node node) throws XmlMappingException { protected Object unmarshalDomNode(Node node) throws XmlMappingException {
try { HierarchicalStreamReader streamReader;
HierarchicalStreamReader streamReader; if (node instanceof Document) {
if (node instanceof Document) { streamReader = new DomReader((Document) node);
streamReader = new DomReader((Document) node); }
} else if (node instanceof Element) {
else if (node instanceof Element) { streamReader = new DomReader((Element) node);
streamReader = new DomReader((Element) node); }
} else {
else {
throw new IllegalArgumentException("DOMSource contains neither Document nor Element"); throw new IllegalArgumentException("DOMSource contains neither Document nor Element");
} }
try {
return getXStream().unmarshal(streamReader); return getXStream().unmarshal(streamReader);
} }
catch (Exception ex) { catch (Exception ex) {
@ -523,8 +523,8 @@ public class XStreamMarshaller extends AbstractMarshaller implements Initializin
protected Object unmarshalReader(Reader reader) throws XmlMappingException, IOException { protected Object unmarshalReader(Reader reader) throws XmlMappingException, IOException {
try { try {
HierarchicalStreamReader streamReader; HierarchicalStreamReader streamReader;
if (streamDriver != null) { if (this.streamDriver != null) {
streamReader = streamDriver.createReader(reader); streamReader = this.streamDriver.createReader(reader);
} }
else { else {
streamReader = new XppReader(reader); streamReader = new XppReader(reader);

Loading…
Cancel
Save