You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2014/08/25 14:56:48 UTC
[2/3] git commit: CAMEL-7744: xslt allow to configure custom error
listener.
CAMEL-7744: xslt allow to configure custom error listener.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/fd97b75f
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/fd97b75f
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/fd97b75f
Branch: refs/heads/master
Commit: fd97b75f423e29f10b92fed6bcabc8ce2c43a7f6
Parents: 5e15108
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Aug 25 14:42:25 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Aug 25 14:56:35 2014 +0200
----------------------------------------------------------------------
.../apache/camel/builder/xml/XsltBuilder.java | 20 +++++++++++++++++---
.../camel/component/xslt/XsltComponent.java | 8 +++++++-
2 files changed, 24 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/fd97b75f/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
index 908bd8f..944e214 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
@@ -252,8 +252,14 @@ public class XsltBuilder implements Processor {
setAllowStAX(true);
return this;
}
-
-
+
+ /**
+ * Used for caching {@link Transformer}s.
+ * <p/>
+ * By default no caching is in use.
+ *
+ * @param numberToCache the maximum number of transformers to cache
+ */
public XsltBuilder transformerCacheSize(int numberToCache) {
if (numberToCache > 0) {
transformers = new ArrayBlockingQueue<Transformer>(numberToCache);
@@ -263,7 +269,15 @@ public class XsltBuilder implements Processor {
return this;
}
- // Properties
+ /**
+ * Uses a custom {@link javax.xml.transform.ErrorListener}.
+ */
+ public XsltBuilder errorListener(ErrorListener errorListener) {
+ setErrorListener(errorListener);
+ return this;
+ }
+
+ // Properties
// -------------------------------------------------------------------------
public Map<String, Object> getParameters() {
http://git-wip-us.apache.org/repos/asf/camel/blob/fd97b75f/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
index 5c7adde..095cdb2 100644
--- a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.xslt;
import java.util.Map;
+import javax.xml.transform.ErrorListener;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.URIResolver;
@@ -129,9 +130,14 @@ public class XsltComponent extends UriEndpointComponent {
String output = getAndRemoveParameter(parameters, "output", String.class);
configureOutput(xslt, output);
- Integer cs = getAndRemoveParameter(parameters, "transformerCacheSize", Integer.class, Integer.valueOf(0));
+ Integer cs = getAndRemoveParameter(parameters, "transformerCacheSize", Integer.class, 0);
xslt.transformerCacheSize(cs);
+ ErrorListener errorListener = getAndRemoveParameter(parameters, "errorListener", ErrorListener.class);
+ if (errorListener != null) {
+ xslt.errorListener(errorListener);
+ }
+
// default to use the cache option from the component if the endpoint did not have the contentCache parameter
boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);