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);