camel-file component does not close a file when it's used with camel-xslt
-------------------------------------------------------------------------

                 Key: CAMEL-4560
                 URL: https://issues.apache.org/jira/browse/CAMEL-4560
             Project: Camel
          Issue Type: Bug
          Components: camel-core, camel-xslt
    Affects Versions: 2.8.1
            Reporter: Sergey Zhemzhitsky


Here are the steps to reproduce:

# Create the directory target/in.
# Put the file "file.xml" into the directory target/in. Note: the end tag in 
this file is not closed properly.
# Run the test.
# The test should fail.
# The file "file.xml" remains in the target/in but it should not.

{code:java|title=FileLockedTest.java}
package org.apache.camel;

import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;

public class FileLockedTest extends CamelTestSupport {

    @Test
    public void testFileLocked() throws Exception {
        MockEndpoint result = getMockEndpoint("mock:result");
        result.setAssertPeriod(10000);
        result.expectedMessageCount(1);
        result.assertIsSatisfied();
    }

    @Override
    protected RouteBuilder createRouteBuilder() throws Exception {
        return new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                from("file:target/in?delay=100&moveFailed=.error")
                    .onException(Throwable.class)
                        .to("mock:result")
                    .end()
                    .to("xslt:FileLockedTest.xsl");
            }
        };
    }

}
{code}

{code:xml|title=FileLockedTest.xsl}
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns="http://schemas.computershare.ru/codex/2011/08/";
    version="1.0">

    <xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" />
    <xsl:preserve-space elements="*"/>

    <xsl:template match="/">
        <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()" />
        </xsl:copy>
    </xsl:template>

</xsl:stylesheet>
{code}
{code:xml|title=file.xml; Note: the end tag is not closed properly}
<root></root
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to