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 2012/04/20 17:01:15 UTC
svn commit: r1328392 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/builder/xml/
test/java/org/apache/camel/component/xslt/
test/resources/org/apache/camel/component/xslt/
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>