Author: davsclaus
Date: Fri Apr 20 15:01:15 2012
New Revision: 1328392
URL: http://svn.apache.org/viewvc?rev=1328392&view=rev
Log:
CAMEL-5195: Fixed issue with xsl:include should use / as class path separator.
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java
- copied, changed from r1328276,
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathTest.java
camel/trunk/camel-core/src/test/resources/org/apache/camel/component/xslt/staff_include_classpath2.xsl
- copied, changed from r1328276,
camel/trunk/camel-core/src/test/resources/org/apache/camel/component/xslt/staff_include_classpath.xsl
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltUriResolver.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltUriResolver.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltUriResolver.java?rev=1328392&r1=1328391&r2=1328392&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltUriResolver.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/XsltUriResolver.java
Fri Apr 20 15:01:15 2012
@@ -76,6 +76,9 @@ public class XsltUriResolver implements
String name = ObjectHelper.after(href, ":");
File file = new File(name);
+ if (!file.exists()) {
+ throw new TransformerException("Cannot find " + name + " in
the file system");
+ }
return new StreamSource(file);
}
@@ -87,7 +90,7 @@ public class XsltUriResolver implements
return resolve(path, base);
} else {
// default to use classpath: location
- path = "classpath:" + path + File.separator + href;
+ path = "classpath:" + path + "/" + href;
return resolve(path, base);
}
}
Copied:
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java
(from r1328276,
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathTest.java)
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathTest.java&r1=1328276&r2=1328392&rev=1328392&view=diff
==============================================================================
---
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathTest.java
(original)
+++
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java
Fri Apr 20 15:01:15 2012
@@ -16,14 +16,32 @@
*/
package org.apache.camel.component.xslt;
+import java.io.File;
+
import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.util.FileUtil;
/**
*
*/
-public class XsltIncludeClasspathTest extends ContextTestSupport {
+public class XsltIncludeClasspathDotInDirectoryTest extends ContextTestSupport
{
+
+ @Override
+ protected void setUp() throws Exception {
+ deleteDirectory("target/classes/com.mycompany");
+ createDirectory("target/classes/com.mycompany");
+
+ // copy templates to this directory
+ FileUtil.copyFile(new
File("src/test/resources/org/apache/camel/component/xslt/staff_include_classpath2.xsl"),
+ new
File("target/classes/com.mycompany/staff_include_classpath2.xsl"));
+
+ FileUtil.copyFile(new
File("src/test/resources/org/apache/camel/component/xslt/staff_template.xsl"),
+ new File("target/classes/com.mycompany/staff_template.xsl"));
+
+ super.setUp();
+ }
public void testXsltIncludeClasspath() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
@@ -40,7 +58,7 @@ public class XsltIncludeClasspathTest ex
@Override
public void configure() throws Exception {
from("file:src/test/data/?fileName=staff.xml&noop=true")
-
.to("xslt:org/apache/camel/component/xslt/staff_include_classpath.xsl")
+ .to("xslt:com.mycompany/staff_include_classpath2.xsl")
.to("log:foo")
.to("mock:result");
}
Copied:
camel/trunk/camel-core/src/test/resources/org/apache/camel/component/xslt/staff_include_classpath2.xsl
(from r1328276,
camel/trunk/camel-core/src/test/resources/org/apache/camel/component/xslt/staff_include_classpath.xsl)
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/resources/org/apache/camel/component/xslt/staff_include_classpath2.xsl?p2=camel/trunk/camel-core/src/test/resources/org/apache/camel/component/xslt/staff_include_classpath2.xsl&p1=camel/trunk/camel-core/src/test/resources/org/apache/camel/component/xslt/staff_include_classpath.xsl&r1=1328276&r2=1328392&rev=1328392&view=diff
==============================================================================
---
camel/trunk/camel-core/src/test/resources/org/apache/camel/component/xslt/staff_include_classpath.xsl
(original)
+++
camel/trunk/camel-core/src/test/resources/org/apache/camel/component/xslt/staff_include_classpath2.xsl
Fri Apr 20 15:01:15 2012
@@ -17,7 +17,8 @@
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:include
href="classpath:org/apache/camel/component/xslt/staff_template.xsl"/>
+ <!-- test with a directory from classpath that has dot in the name -->
+ <xsl:include href="staff_template.xsl"/>
<xsl:template match="staff/programmer">
<html>