Author: davsclaus
Date: Thu Feb 11 15:52:55 2010
New Revision: 909036

URL: http://svn.apache.org/viewvc?rev=909036&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=909036&r1=909035&r2=909036&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:52:55 2010
@@ -37,6 +37,7 @@
  */
 public class XsltComponent extends ResourceBasedComponent {
     private XmlConverter xmlConverter;
+    private URIResolver uriResolver;
 
     public XmlConverter getXmlConverter() {
         return xmlConverter;
@@ -46,6 +47,14 @@
         this.xmlConverter = xmlConverter;
     }
 
+    public URIResolver getUriResolver() {
+        return uriResolver;
+    }
+
+    public void setUriResolver(URIResolver uriResolver) {
+        this.uriResolver = uriResolver;
+    }
+
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
         Resource resource = resolveMandatoryResource(remaining);
         if (log.isDebugEnabled()) {
@@ -83,7 +92,11 @@
         }
 
         // set resolver before input stream as resolver is used when loading 
the input stream
-        URIResolver resolver = new 
XsltUriResolver(getCamelContext().getClassResolver(), remaining);
+        URIResolver resolver = getUriResolver();
+        if (resolver == null) {
+            // fallback to use a Camel specific resolver
+            resolver = new 
XsltUriResolver(getCamelContext().getClassResolver(), remaining);
+        }
         xslt.setUriResolver(resolver);
 
         xslt.setTransformerInputStream(resource.getInputStream());


Reply via email to