refined fix so that XStreamMarshaller does not wrap IllegalArgumentException

Issue: SPR-9536
This commit is contained in:
Juergen Hoeller 2012-06-28 17:41:54 +02:00 committed by unknown
parent e870c9a392
commit 309e51ba5b
1 changed files with 13 additions and 13 deletions

View File

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