Avoid throws Exception where possible - Phase III
This commit is contained in:
committed by
Artem Bilan
parent
b138ab80f8
commit
78199dca9b
@@ -86,7 +86,7 @@ public class XPathMessageSplitter extends AbstractMessageSplitter {
|
||||
|
||||
private Properties outputProperties;
|
||||
|
||||
private boolean iterator = true;
|
||||
private boolean returnIterator = true;
|
||||
|
||||
public XPathMessageSplitter(String expression) {
|
||||
this(expression, new HashMap<>());
|
||||
@@ -182,7 +182,7 @@ public class XPathMessageSplitter extends AbstractMessageSplitter {
|
||||
* @since 4.2
|
||||
*/
|
||||
public void setIterator(boolean iterator) {
|
||||
this.iterator = iterator;
|
||||
this.returnIterator = iterator;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -200,9 +200,9 @@ public class XPathMessageSplitter extends AbstractMessageSplitter {
|
||||
@Override
|
||||
protected void doInit() {
|
||||
super.doInit();
|
||||
if (this.iterator && this.jaxpExpression == null) {
|
||||
if (this.returnIterator && this.jaxpExpression == null) {
|
||||
logger.info("The 'iterator' option isn't available for an external XPathExpression. Will be ignored");
|
||||
this.iterator = false;
|
||||
this.returnIterator = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ public class XPathMessageSplitter extends AbstractMessageSplitter {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private Object splitDocument(Document document) throws Exception {
|
||||
private Object splitDocument(Document document) throws ParserConfigurationException, TransformerException {
|
||||
Object nodes = splitNode(document);
|
||||
final Transformer transformer;
|
||||
synchronized (this.transformerFactory) {
|
||||
@@ -282,7 +282,7 @@ public class XPathMessageSplitter extends AbstractMessageSplitter {
|
||||
}
|
||||
|
||||
private Object splitNode(Node node) throws ParserConfigurationException {
|
||||
if (this.iterator) {
|
||||
if (this.returnIterator) {
|
||||
try {
|
||||
NodeList nodeList = (NodeList) this.jaxpExpression.evaluate(node, XPathConstants.NODESET);
|
||||
return new NodeListIterator(nodeList);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
* Copyright 2002-2019 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.
|
||||
@@ -112,7 +112,7 @@ public class XPathTransformer extends AbstractTransformer {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object doTransform(Message<?> message) throws Exception {
|
||||
protected Object doTransform(Message<?> message) {
|
||||
Node node = this.converter.convertToNode(message.getPayload());
|
||||
Object result = null;
|
||||
if (this.nodeMapper != null) {
|
||||
|
||||
@@ -250,7 +250,7 @@ public class XsltPayloadTransformer extends AbstractXmlTransformer implements Be
|
||||
try {
|
||||
transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "file,jar:file");
|
||||
}
|
||||
catch (IllegalArgumentException ex) {
|
||||
catch (@SuppressWarnings("unused") IllegalArgumentException ex) {
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("The '" + XMLConstants.ACCESS_EXTERNAL_STYLESHEET + "' property is not supported by "
|
||||
+ transformerFactory.getClass().getCanonicalName());
|
||||
@@ -260,33 +260,38 @@ public class XsltPayloadTransformer extends AbstractXmlTransformer implements Be
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object doTransform(Message<?> message) throws Exception {
|
||||
Transformer transformer = buildTransformer(message);
|
||||
Object payload;
|
||||
if (this.alwaysUseSourceFactory) {
|
||||
payload = this.sourceFactory.createSource(message.getPayload());
|
||||
protected Object doTransform(Message<?> message) {
|
||||
try {
|
||||
Transformer transformer = buildTransformer(message);
|
||||
Object payload;
|
||||
if (this.alwaysUseSourceFactory) {
|
||||
payload = this.sourceFactory.createSource(message.getPayload());
|
||||
}
|
||||
else {
|
||||
payload = message.getPayload();
|
||||
}
|
||||
Object transformedPayload = null;
|
||||
if (this.alwaysUseResultFactory) {
|
||||
transformedPayload = transformUsingResultFactory(payload, transformer);
|
||||
}
|
||||
else if (payload instanceof String) {
|
||||
transformedPayload = transformString((String) payload, transformer);
|
||||
}
|
||||
else if (payload instanceof Document) {
|
||||
transformedPayload = transformDocument((Document) payload, transformer);
|
||||
}
|
||||
else if (payload instanceof Source) {
|
||||
transformedPayload = transformSource((Source) payload, payload, transformer);
|
||||
}
|
||||
else {
|
||||
// fall back to trying factories
|
||||
transformedPayload = transformUsingResultFactory(payload, transformer);
|
||||
}
|
||||
return transformedPayload;
|
||||
}
|
||||
else {
|
||||
payload = message.getPayload();
|
||||
catch (TransformerException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
Object transformedPayload = null;
|
||||
if (this.alwaysUseResultFactory) {
|
||||
transformedPayload = transformUsingResultFactory(payload, transformer);
|
||||
}
|
||||
else if (payload instanceof String) {
|
||||
transformedPayload = transformString((String) payload, transformer);
|
||||
}
|
||||
else if (payload instanceof Document) {
|
||||
transformedPayload = transformDocument((Document) payload, transformer);
|
||||
}
|
||||
else if (payload instanceof Source) {
|
||||
transformedPayload = transformSource((Source) payload, payload, transformer);
|
||||
}
|
||||
else {
|
||||
// fall back to trying factories
|
||||
transformedPayload = transformUsingResultFactory(payload, transformer);
|
||||
}
|
||||
return transformedPayload;
|
||||
}
|
||||
|
||||
private Object transformUsingResultFactory(Object payload, Transformer transformer) throws TransformerException {
|
||||
|
||||
Reference in New Issue
Block a user