Author: davsclaus
Date: Thu Feb 11 15:56:05 2010
New Revision: 909038

URL: http://svn.apache.org/viewvc?rev=909038&view=rev
Log:
CAMEL-2463: xslt component now supports using xsl:include where the included 
files is loaded from classpath and relative according to the endpoint 
configured location.

Modified:
    
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java

Modified: 
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java?rev=909038&r1=909037&r2=909038&view=diff
==============================================================================
--- 
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
 (original)
+++ 
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
 Thu Feb 11 15:56:05 2010
@@ -17,7 +17,6 @@
 package org.apache.camel.component.xslt;
 
 import java.util.Map;
-
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.URIResolver;
 
@@ -91,12 +90,17 @@
             xslt.getConverter().setTransformerFactory(factory);
         }
 
-        // set resolver before input stream as resolver is used when loading 
the input stream
-        URIResolver resolver = getUriResolver();
+        // lookup custom resolver to use
+        URIResolver resolver = resolveAndRemoveReferenceParameter(parameters, 
"uriResolver", URIResolver.class);
+        if (resolver == null) {
+            // not in endpoint then use component specific resolver
+            resolver = getUriResolver();
+        }
         if (resolver == null) {
             // fallback to use a Camel specific resolver
             resolver = new 
XsltUriResolver(getCamelContext().getClassResolver(), remaining);
         }
+        // set resolver before input stream as resolver is used when loading 
the input stream
         xslt.setUriResolver(resolver);
 
         xslt.setTransformerInputStream(resource.getInputStream());


Reply via email to