You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2021/03/03 09:45:15 UTC
[camel] 01/03: CAMEL-16277 - Camel-File: Use appendChar for the
first message too
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 26097b73ca35fdff1bbfcf9afb6003fb2b8845ba
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Mar 3 08:31:29 2021 +0100
CAMEL-16277 - Camel-File: Use appendChar for the first message too
---
.../main/java/org/apache/camel/component/file/FileOperations.java | 6 ++----
.../org/apache/camel/component/file/FileProduceAppendCharsTest.java | 4 ++--
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/components/camel-file/src/main/java/org/apache/camel/component/file/FileOperations.java b/components/camel-file/src/main/java/org/apache/camel/component/file/FileOperations.java
index af34501..b0a6898 100644
--- a/components/camel-file/src/main/java/org/apache/camel/component/file/FileOperations.java
+++ b/components/camel-file/src/main/java/org/apache/camel/component/file/FileOperations.java
@@ -443,7 +443,6 @@ public class FileOperations implements GenericFileOperations<File> {
}
private void writeFileByStream(InputStream in, File target) throws IOException {
- boolean exists = target.exists();
try (SeekableByteChannel out = prepareOutputFileChannel(target)) {
LOG.debug("Using InputStream to write file: {}", target);
@@ -464,7 +463,7 @@ public class FileOperations implements GenericFileOperations<File> {
}
boolean append = endpoint.getFileExist() == GenericFileExist.Append;
- if (append && exists && endpoint.getAppendChars() != null) {
+ if (append && endpoint.getAppendChars() != null) {
byteBuffer = ByteBuffer.wrap(endpoint.getAppendChars().getBytes());
out.write(byteBuffer);
// to be compatible with java 8
@@ -478,7 +477,6 @@ public class FileOperations implements GenericFileOperations<File> {
}
private void writeFileByReaderWithCharset(Reader in, File target, String charset) throws IOException {
- boolean exists = target.exists();
boolean append = endpoint.getFileExist() == GenericFileExist.Append;
try (Writer out = Files.newBufferedWriter(target.toPath(), Charset.forName(charset), StandardOpenOption.WRITE,
append ? StandardOpenOption.APPEND : StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE)) {
@@ -486,7 +484,7 @@ public class FileOperations implements GenericFileOperations<File> {
int size = endpoint.getBufferSize();
IOHelper.copy(in, out, size);
- if (append && exists && endpoint.getAppendChars() != null) {
+ if (append && endpoint.getAppendChars() != null) {
out.write(endpoint.getAppendChars());
}
} finally {
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceAppendCharsTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceAppendCharsTest.java
index 08d6e4a..ba20495 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceAppendCharsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceAppendCharsTest.java
@@ -31,9 +31,10 @@ public class FileProduceAppendCharsTest extends ContextTestSupport {
@Test
public void testAppendChars() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMessageCount(2);
+ mock.expectedMessageCount(3);
mock.expectedFileExists("target/data/test-file-append/hello.txt", "Hello\nWorld\nHow are you?\n");
+ template.sendBody("direct:start", "Hello");
template.sendBody("direct:start", "World");
template.sendBody("direct:start", "How are you?");
@@ -45,7 +46,6 @@ public class FileProduceAppendCharsTest extends ContextTestSupport {
public void setUp() throws Exception {
deleteDirectory("target/data/test-file-append");
super.setUp();
- template.sendBodyAndHeader("file://target/data/test-file-append", "Hello\n", Exchange.FILE_NAME, "hello.txt");
}
@Override