Author: romkal
Date: Wed May 21 10:18:13 2008
New Revision: 658768

URL: http://svn.apache.org/viewvc?rev=658768&view=rev
Log:
CAMEL-539 : Removed synchronization from process method at XSLT builder

Modified:
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java?rev=658768&r1=658767&r2=658768&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
 Wed May 21 10:18:13 2008
@@ -27,6 +27,7 @@
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.Result;
 import javax.xml.transform.Source;
+import javax.xml.transform.Templates;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerConfigurationException;
 import javax.xml.transform.stream.StreamSource;
@@ -49,27 +50,27 @@
 public class XsltBuilder implements Processor {
     private Map<String, Object> parameters = new HashMap<String, Object>();
     private XmlConverter converter = new XmlConverter();
-    private Transformer transformer;
+    private Templates template;
     private ResultHandlerFactory resultHandlerFactory = new 
StringResultHandlerFactory();
     private boolean failOnNullBody = true;
 
     public XsltBuilder() {
     }
 
-    public XsltBuilder(Transformer transformer) {
-        this.transformer = transformer;
+    public XsltBuilder(Templates templates) {
+        this.template = templates;
     }
 
     @Override
     public String toString() {
-        return "XSLT[" + transformer + "]";
+        return "XSLT[" + template + "]";
     }
 
-    public synchronized void process(Exchange exchange) throws Exception {
-        Transformer transformer = getTransformer();
-        if (transformer == null) {
-            throw new IllegalArgumentException("No transformer configured!");
+    public void process(Exchange exchange) throws Exception {
+        if (getTemplate() == null) {
+            throw new IllegalArgumentException("No template configured!");
         }
+        Transformer transformer = getTemplate().newTransformer();
         configureTransformer(transformer, exchange);
         Source source = getSource(exchange);
         ResultHandler resultHandler = resultHandlerFactory.createResult();
@@ -87,10 +88,10 @@
     // 
-------------------------------------------------------------------------
 
     /**
-     * Creates an XSLT processor using the given transformer instance
+     * Creates an XSLT processor using the given templates instance
      */
-    public static XsltBuilder xslt(Transformer transformer) {
-        return new XsltBuilder(transformer);
+    public static XsltBuilder xslt(Templates templates) {
+        return new XsltBuilder(templates);
     }
 
     /**
@@ -167,12 +168,12 @@
         this.parameters = parameters;
     }
 
-    public Transformer getTransformer() {
-        return transformer;
+    public void setTemplate(Templates template) {
+        this.template = template;
     }
-
-    public void setTransformer(Transformer transformer) {
-        this.transformer = transformer;
+    
+    public Templates getTemplate() {
+        return template;
     }
 
     public boolean isFailOnNullBody() {
@@ -198,14 +199,14 @@
      * @throws TransformerConfigurationException is thrown if creating a XSLT 
transformer failed.
      */
     public void setTransformerSource(Source source) throws 
TransformerConfigurationException {
-        // Check that the call to newTransformer() returns a valid transformer 
instance.
+        // Check that the call to newTemplates() returns a valid template 
instance.
         // In case of an xslt parse error, it will return null and we should 
stop the
         // deployment and raise an exception as the route will not be setup 
properly.
-        Transformer transformer = 
converter.getTransformerFactory().newTransformer(source);
-        if (transformer != null) {
-            setTransformer(transformer);
+        Templates templates = 
converter.getTransformerFactory().newTemplates(source);
+        if (templates != null) {
+            setTemplate(templates);
         } else {
-            throw new TransformerConfigurationException("Error creating XSLT 
transformer. "
+            throw new TransformerConfigurationException("Error creating XSLT 
template. "
                     + "This is most likely be caused by an XML parse error. "
                     + "Please verify your XSLT file configured.");
         }
@@ -266,7 +267,7 @@
     }
 
     /**
-     * Configures the transformerwith exchange specific parameters
+     * Configures the transformer with exchange specific parameters
      */
     protected void configureTransformer(Transformer transformer, Exchange 
exchange) {
         transformer.clearParameters();


Reply via email to