This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 50b43711c99b chore(components): clearning csv compilation warnings
50b43711c99b is described below

commit 50b43711c99be39bf5ececbff91ed7ddebf97e5e
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Thu Jan 15 10:52:59 2026 +0100

    chore(components): clearning csv compilation warnings
    
    Ref CAMEL-22549
---
 .../apache/camel/dataformat/csv/CsvDataFormat.java |  44 +-
 .../apache/camel/dataformat/csv/CsvMarshaller.java |   2 +-
 .../camel/dataformat/csv/CsvRecordConverters.java  |   1 -
 .../camel/dataformat/csv/CsvUnmarshaller.java      |  12 +-
 .../camel/dataformat/csv/CsvDataFormatTest.java    | 710 +++++++++++----------
 .../dataformat/csv/CsvMarshalCharsetTest.java      |   3 +-
 ...MarshalHeaderWithCustomMarshallFactoryTest.java |   3 +-
 .../csv/CsvMarshalPipeDelimiterTest.java           |   2 +
 .../camel/dataformat/csv/CsvMarshalTest.java       |   2 +
 .../dataformat/csv/CsvRecordConvertersTest.java    |   4 +-
 .../apache/camel/dataformat/csv/CsvRouteTest.java  |   9 +-
 .../csv/CsvUnmarshalPipeDelimiterTest.java         |   2 +
 .../csv/CsvUnmarshalStreamSpringTest.java          |   6 +-
 .../dataformat/csv/CsvUnmarshalStreamTest.java     |   2 +
 .../csv/CsvUnmarshalTabDelimiterTest.java          |   2 +
 .../camel/dataformat/csv/CsvUnmarshalTest.java     |  12 +-
 ...CsvUnmarshalTwoCsvDataFormatConcurrentTest.java |   4 +
 17 files changed, 432 insertions(+), 388 deletions(-)

diff --git 
a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
 
b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
index 5cdde017136b..ce0f9c7a152e 100644
--- 
a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
+++ 
b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
@@ -124,79 +124,79 @@ public class CsvDataFormat extends ServiceSupport 
implements DataFormat, DataFor
         CSVFormat answer = csvFormat;
 
         if (commentMarkerDisabled) {
-            answer = answer.withCommentMarker(null); // null disables the 
comment marker
+            answer = answer.builder().setCommentMarker(null).get(); // null 
disables the comment marker
         } else if (commentMarker != null) {
-            answer = answer.withCommentMarker(commentMarker);
+            answer = answer.builder().setCommentMarker(commentMarker).get();
         }
 
         if (delimiter != null) {
-            answer = answer.withDelimiter(delimiter);
+            answer = answer.builder().setDelimiter(delimiter).get();
         }
 
         if (escapeDisabled) {
-            answer = answer.withEscape(null); // null disables the escape
+            answer = answer.builder().setEscape(null).get(); // null disables 
the escape
         } else if (escape != null) {
-            answer = answer.withEscape(escape);
+            answer = answer.builder().setEscape(escape).get();
         }
 
         if (headerDisabled) {
-            answer = answer.withHeader((String[]) null); // null disables the 
header
+            answer = answer.builder().setHeader((String[]) null).get(); // 
null disables the header
         } else if (header != null) {
             if (header.indexOf(',') != -1) {
-                answer = answer.withHeader(header.split(","));
+                answer = answer.builder().setHeader(header.split(",")).get();
             } else {
-                answer = answer.withHeader(header);
+                answer = answer.builder().setHeader(header).get();
             }
         }
 
         if (allowMissingColumnNames != null) {
-            answer = 
answer.withAllowMissingColumnNames(allowMissingColumnNames);
+            answer = 
answer.builder().setAllowMissingColumnNames(allowMissingColumnNames).get();
         }
 
         if (ignoreEmptyLines != null) {
-            answer = answer.withIgnoreEmptyLines(ignoreEmptyLines);
+            answer = 
answer.builder().setIgnoreEmptyLines(ignoreEmptyLines).get();
         }
 
         if (ignoreSurroundingSpaces != null) {
-            answer = 
answer.withIgnoreSurroundingSpaces(ignoreSurroundingSpaces);
+            answer = 
answer.builder().setIgnoreSurroundingSpaces(ignoreSurroundingSpaces).get();
         }
 
         if (nullStringDisabled) {
-            answer = answer.withNullString(null); // null disables the null 
string replacement
+            answer = answer.builder().setNullString(null).get(); // null 
disables the null string replacement
         } else if (nullString != null) {
-            answer = answer.withNullString(nullString);
+            answer = answer.builder().setNullString(nullString).get();
         }
 
         if (quoteDisabled) {
-            answer = answer.withQuote(null); // null disables quotes
+            answer = answer.builder().setQuote(null).get(); // null disables 
quotes
         } else if (quote != null) {
-            answer = answer.withQuote(quote);
+            answer = answer.builder().setQuote(quote).get();
         }
 
         if (quoteMode != null) {
-            answer = answer.withQuoteMode(quoteMode);
+            answer = answer.builder().setQuoteMode(quoteMode).get();
         }
 
         if (recordSeparatorDisabled) {
-            answer = answer.withRecordSeparator(null); // null disables the 
record separator
+            answer = answer.builder().setRecordSeparator(null).get(); // null 
disables the record separator
         } else if (recordSeparator != null) {
-            answer = answer.withRecordSeparator(recordSeparator);
+            answer = 
answer.builder().setRecordSeparator(recordSeparator).get();
         }
 
         if (skipHeaderRecord != null) {
-            answer = answer.withSkipHeaderRecord(skipHeaderRecord);
+            answer = 
answer.builder().setSkipHeaderRecord(skipHeaderRecord).get();
         }
 
         if (trim != null) {
-            answer = answer.withTrim(trim);
+            answer = answer.builder().setTrim(trim).get();
         }
 
         if (ignoreHeaderCase != null) {
-            answer = answer.withIgnoreHeaderCase(ignoreHeaderCase);
+            answer = 
answer.builder().setIgnoreHeaderCase(ignoreHeaderCase).get();
         }
 
         if (trailingDelimiter != null) {
-            answer = answer.withTrailingDelimiter(trailingDelimiter);
+            answer = 
answer.builder().setTrailingDelimiter(trailingDelimiter).get();
         }
 
         return answer;
diff --git 
a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvMarshaller.java
 
b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvMarshaller.java
index 1563af2e701b..a67bbf68747a 100644
--- 
a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvMarshaller.java
+++ 
b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvMarshaller.java
@@ -57,7 +57,7 @@ public abstract class CsvMarshaller {
         String[] headers = format.getHeader();
         // If we don't want the header record, clear it
         if (format.getSkipHeaderRecord()) {
-            format = format.withHeader((String[]) null);
+            format = format.builder().setHeader((String[]) null).get();
         }
 
         if (headers != null && headers.length != 0) {
diff --git 
a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvRecordConverters.java
 
b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvRecordConverters.java
index 4c9ec4d5b27e..6dd1fa6c47a1 100644
--- 
a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvRecordConverters.java
+++ 
b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvRecordConverters.java
@@ -85,7 +85,6 @@ final class CsvRecordConverters {
         private static final OrderedMapCsvRecordConverter SINGLETON = new 
OrderedMapCsvRecordConverter();
 
         @Override
-        @SuppressWarnings("unchecked")
         public Map<String, String> convertRecord(CSVRecord csvRecord) {
             return csvRecord.toMap();
         }
diff --git 
a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvUnmarshaller.java
 
b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvUnmarshaller.java
index 6811ef71166c..c7a8747c5f1d 100644
--- 
a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvUnmarshaller.java
+++ 
b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvUnmarshaller.java
@@ -49,15 +49,15 @@ abstract class CsvUnmarshaller {
     public static CsvUnmarshaller create(CSVFormat format, CsvDataFormat 
dataFormat) {
         // If we want to capture the header record, thus the header must be 
either fixed or automatic
         if (dataFormat.isCaptureHeaderRecord() && format.getHeader() == null) {
-            format = format.withHeader();
+            format = format.builder().setHeader().get();
         }
         // If we want to use maps, thus the header must be either fixed or 
automatic
         if ((dataFormat.isUseMaps() || dataFormat.isUseOrderedMaps()) && 
format.getHeader() == null) {
-            format = format.withHeader();
+            format = format.builder().setHeader().get();
         }
         // If we want to skip the header record it must automatic otherwise 
it's not working
         if (format.getSkipHeaderRecord() && format.getHeader() == null) {
-            format = format.withHeader();
+            format = format.builder().setHeader().get();
         }
 
         if (dataFormat.isLazyLoad()) {
@@ -106,8 +106,7 @@ abstract class CsvUnmarshaller {
                 InputStream is = 
exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, 
exchange, body);
                 reader = new InputStreamReader(is, 
ExchangeHelper.getCharsetName(exchange));
             }
-            CSVParser parser
-                    = new CSVParser(reader, format);
+            CSVParser parser = 
CSVParser.builder().setReader(reader).setFormat(format).get();
             try {
                 if (dataFormat.isCaptureHeaderRecord()) {
                     
exchange.getMessage().setHeader(CsvConstants.HEADER_RECORD, 
parser.getHeaderNames());
@@ -130,7 +129,6 @@ abstract class CsvUnmarshaller {
     /**
      * This class streams the content of the CSV
      */
-    @SuppressWarnings("unchecked")
     private static final class StreamCsvUnmarshaller extends CsvUnmarshaller {
 
         private StreamCsvUnmarshaller(CSVFormat format, CsvDataFormat 
dataFormat) {
@@ -146,7 +144,7 @@ abstract class CsvUnmarshaller {
                 reader = new InputStreamReader(is, 
ExchangeHelper.getCharsetName(exchange));
             }
             try {
-                CSVParser parser = new CSVParser(reader, format);
+                CSVParser parser = 
CSVParser.builder().setReader(reader).setFormat(format).get();
                 CsvIterator<?> answer = new CsvIterator<>(parser, converter);
                 // add to UoW, so we can close the iterator, so it can release 
any resources
                 exchange.getExchangeExtension().addOnCompletion(new 
CsvUnmarshalOnCompletion(answer));
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvDataFormatTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvDataFormatTest.java
index 512845a40766..d556fd5042df 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvDataFormatTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvDataFormatTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.dataformat.csv;
 
+import java.io.IOException;
+
 import org.apache.commons.csv.CSVFormat;
 import org.apache.commons.csv.CSVRecord;
 import org.apache.commons.csv.QuoteMode;
@@ -35,403 +37,421 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  */
 public class CsvDataFormatTest {
     @Test
-    void shouldUseDefaultFormat() {
-        CsvDataFormat dataFormat = new CsvDataFormat();
-        dataFormat.start();
-
-        // Properly initialized
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-
-        // Properly used
-        assertEquals(CSVFormat.DEFAULT, dataFormat.getActiveFormat());
+    void shouldUseDefaultFormat() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat) {
+            dataFormat.start();
+            // Properly initialized
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            // Properly used
+            assertEquals(CSVFormat.DEFAULT, dataFormat.getActiveFormat());
+        }
     }
 
     @Test
-    void shouldUseFormatFromConstructor() {
-        CsvDataFormat dataFormat = new CsvDataFormat(CSVFormat.EXCEL);
-        dataFormat.start();
-
-        // Properly initialized
-        assertSame(CSVFormat.EXCEL, dataFormat.getCsvFormat());
-
-        // Properly used
-        assertEquals(CSVFormat.EXCEL, dataFormat.getActiveFormat());
+    void shouldUseFormatFromConstructor() throws IOException {
+        try (CsvDataFormat dataFormat = new CsvDataFormat(CSVFormat.EXCEL)) {
+            dataFormat.start();
+            // Properly initialized
+            assertSame(CSVFormat.EXCEL, dataFormat.getCsvFormat());
+            // Properly used
+            assertEquals(CSVFormat.EXCEL, dataFormat.getActiveFormat());
+        }
     }
 
     @Test
-    void shouldUseSpecifiedFormat() {
-        CsvDataFormat dataFormat = new CsvDataFormat(CSVFormat.MYSQL);
-        dataFormat.start();
-
-        // Properly saved
-        assertSame(CSVFormat.MYSQL, dataFormat.getCsvFormat());
-
-        // Properly used
-        assertEquals(CSVFormat.MYSQL, dataFormat.getActiveFormat());
+    void shouldUseSpecifiedFormat() throws IOException {
+        try (CsvDataFormat dataFormat = new CsvDataFormat(CSVFormat.MYSQL)) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.MYSQL, dataFormat.getCsvFormat());
+            // Properly used
+            assertEquals(CSVFormat.MYSQL, dataFormat.getActiveFormat());
+        }
     }
 
     @Test
-    void shouldDefineFormatByName() {
-        CsvDataFormat dataFormat = new CsvDataFormat(CSVFormat.EXCEL);
-        dataFormat.start();
-
-        // Properly saved
-        assertSame(CSVFormat.EXCEL, dataFormat.getCsvFormat());
-
-        // Properly used
-        assertEquals(CSVFormat.EXCEL, dataFormat.getActiveFormat());
+    void shouldDefineFormatByName() throws IOException {
+        try (CsvDataFormat dataFormat = new CsvDataFormat(CSVFormat.EXCEL)) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.EXCEL, dataFormat.getCsvFormat());
+            // Properly used
+            assertEquals(CSVFormat.EXCEL, dataFormat.getActiveFormat());
+        }
     }
 
     @Test
-    void shouldDisableCommentMarker() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
+    void shouldDisableCommentMarker() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
                 .setCommentMarkerDisabled(true)
-                .setCommentMarker('c');
-        dataFormat.start();
-
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertTrue(dataFormat.isCommentMarkerDisabled());
-        assertEquals(Character.valueOf('c'), dataFormat.getCommentMarker());
-
-        // Properly used
-        assertNull(dataFormat.getActiveFormat().getCommentMarker());
+                .setCommentMarker('c')) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertTrue(dataFormat.isCommentMarkerDisabled());
+            assertEquals(Character.valueOf('c'), 
dataFormat.getCommentMarker());
+            // Properly used
+            assertNull(dataFormat.getActiveFormat().getCommentMarker());
+        }
     }
 
     @Test
-    void shouldOverrideCommentMarker() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setCommentMarker('c');
-        dataFormat.start();
+    void shouldOverrideCommentMarker() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setCommentMarker('c')) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Character.valueOf('c'), dataFormat.getCommentMarker());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Character.valueOf('c'), 
dataFormat.getCommentMarker());
 
-        // Properly used
-        assertEquals(Character.valueOf('c'), 
dataFormat.getActiveFormat().getCommentMarker());
+            // Properly used
+            assertEquals(Character.valueOf('c'), 
dataFormat.getActiveFormat().getCommentMarker());
+        }
     }
 
     @Test
-    void shouldOverrideDelimiter() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setDelimiter('d');
-        dataFormat.start();
+    void shouldOverrideDelimiter() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setDelimiter('d')) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Character.valueOf('d'), dataFormat.getDelimiter());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Character.valueOf('d'), dataFormat.getDelimiter());
 
-        // Properly used
-        assertEquals('d', dataFormat.getActiveFormat().getDelimiter());
+            // Properly used
+            assertEquals(String.valueOf('d'), 
dataFormat.getActiveFormat().getDelimiterString());
+        }
     }
 
     @Test
-    void shouldDisableEscape() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
+    void shouldDisableEscape() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
                 .setEscapeDisabled(true)
-                .setEscape('e');
-        dataFormat.start();
+                .setEscape('e')) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertTrue(dataFormat.isEscapeDisabled());
-        assertEquals(Character.valueOf('e'), dataFormat.getEscape());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertTrue(dataFormat.isEscapeDisabled());
+            assertEquals(Character.valueOf('e'), dataFormat.getEscape());
 
-        // Properly used
-        assertNull(dataFormat.getActiveFormat().getEscapeCharacter());
+            // Properly used
+            assertNull(dataFormat.getActiveFormat().getEscapeCharacter());
+        }
     }
 
     @Test
-    void shouldOverrideEscape() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setEscape('e');
-        dataFormat.start();
+    void shouldOverrideEscape() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setEscape('e')) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Character.valueOf('e'), dataFormat.getEscape());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Character.valueOf('e'), dataFormat.getEscape());
 
-        // Properly used
-        assertEquals(Character.valueOf('e'), 
dataFormat.getActiveFormat().getEscapeCharacter());
+            // Properly used
+            assertEquals(Character.valueOf('e'), 
dataFormat.getActiveFormat().getEscapeCharacter());
+        }
     }
 
     @Test
-    void shouldDisableHeader() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
+    void shouldDisableHeader() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
                 .setHeaderDisabled(true)
-                .setHeader(new String[] { "a", "b", "c" });
-        dataFormat.start();
+                .setHeader(new String[] { "a", "b", "c" })) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertTrue(dataFormat.isHeaderDisabled());
-        assertEquals("a,b,c", dataFormat.getHeader());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertTrue(dataFormat.isHeaderDisabled());
+            assertEquals("a,b,c", dataFormat.getHeader());
 
-        // Properly used
-        assertNull(dataFormat.getActiveFormat().getHeader());
+            // Properly used
+            assertNull(dataFormat.getActiveFormat().getHeader());
+        }
     }
 
     @Test
-    void shouldOverrideHeader() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setHeader("a,b,c");
-        dataFormat.start();
+    void shouldOverrideHeader() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setHeader("a,b,c")) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals("a,b,c", dataFormat.getHeader());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals("a,b,c", dataFormat.getHeader());
 
-        // Properly used
-        assertArrayEquals(new String[] { "a", "b", "c" }, 
dataFormat.getActiveFormat().getHeader());
+            // Properly used
+            assertArrayEquals(new String[] { "a", "b", "c" }, 
dataFormat.getActiveFormat().getHeader());
+        }
     }
 
     @Test
-    void shouldAllowMissingColumnNames() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setAllowMissingColumnNames(true);
-        dataFormat.start();
+    void shouldAllowMissingColumnNames() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setAllowMissingColumnNames(true)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.TRUE, dataFormat.getAllowMissingColumnNames());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.TRUE, 
dataFormat.getAllowMissingColumnNames());
 
-        // Properly used
-        assertTrue(dataFormat.getActiveFormat().getAllowMissingColumnNames());
+            // Properly used
+            
assertTrue(dataFormat.getActiveFormat().getAllowMissingColumnNames());
+        }
     }
 
     @Test
-    void shouldNotAllowMissingColumnNames() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setAllowMissingColumnNames(false);
-        dataFormat.start();
+    void shouldNotAllowMissingColumnNames() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setAllowMissingColumnNames(false)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.FALSE, dataFormat.getAllowMissingColumnNames());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.FALSE, 
dataFormat.getAllowMissingColumnNames());
 
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getAllowMissingColumnNames());
+            // Properly used
+            
assertFalse(dataFormat.getActiveFormat().getAllowMissingColumnNames());
+        }
     }
 
     @Test
-    void shouldIgnoreEmptyLines() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setIgnoreEmptyLines(true);
-        dataFormat.start();
+    void shouldIgnoreEmptyLines() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setIgnoreEmptyLines(true)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.TRUE, dataFormat.getIgnoreEmptyLines());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.TRUE, dataFormat.getIgnoreEmptyLines());
 
-        // Properly used
-        assertTrue(dataFormat.getActiveFormat().getIgnoreEmptyLines());
+            // Properly used
+            assertTrue(dataFormat.getActiveFormat().getIgnoreEmptyLines());
+        }
     }
 
     @Test
-    void shouldNotIgnoreEmptyLines() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setIgnoreEmptyLines(false);
-        dataFormat.start();
+    void shouldNotIgnoreEmptyLines() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setIgnoreEmptyLines(false)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.FALSE, dataFormat.getIgnoreEmptyLines());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.FALSE, dataFormat.getIgnoreEmptyLines());
 
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getIgnoreEmptyLines());
+            // Properly used
+            assertFalse(dataFormat.getActiveFormat().getIgnoreEmptyLines());
+        }
     }
 
     @Test
-    void shouldIgnoreSurroundingSpaces() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setIgnoreSurroundingSpaces(true);
-        dataFormat.start();
+    void shouldIgnoreSurroundingSpaces() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setIgnoreSurroundingSpaces(true)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.TRUE, dataFormat.getIgnoreSurroundingSpaces());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.TRUE, 
dataFormat.getIgnoreSurroundingSpaces());
 
-        // Properly used
-        assertTrue(dataFormat.getActiveFormat().getIgnoreSurroundingSpaces());
+            // Properly used
+            
assertTrue(dataFormat.getActiveFormat().getIgnoreSurroundingSpaces());
+        }
     }
 
     @Test
-    void shouldNotIgnoreSurroundingSpaces() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setIgnoreSurroundingSpaces(false);
-        dataFormat.start();
+    void shouldNotIgnoreSurroundingSpaces() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setIgnoreSurroundingSpaces(false)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.FALSE, dataFormat.getIgnoreSurroundingSpaces());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.FALSE, 
dataFormat.getIgnoreSurroundingSpaces());
 
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getIgnoreSurroundingSpaces());
+            // Properly used
+            
assertFalse(dataFormat.getActiveFormat().getIgnoreSurroundingSpaces());
+        }
     }
 
     @Test
-    void shouldDisableNullString() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
+    void shouldDisableNullString() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
                 .setNullStringDisabled(true)
-                .setNullString("****");
-        dataFormat.start();
+                .setNullString("****")) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertTrue(dataFormat.isNullStringDisabled());
-        assertEquals("****", dataFormat.getNullString());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertTrue(dataFormat.isNullStringDisabled());
+            assertEquals("****", dataFormat.getNullString());
 
-        // Properly used
-        assertNull(dataFormat.getActiveFormat().getNullString());
+            // Properly used
+            assertNull(dataFormat.getActiveFormat().getNullString());
+        }
     }
 
     @Test
-    void shouldOverrideNullString() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setNullString("****");
-        dataFormat.start();
+    void shouldOverrideNullString() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setNullString("****")) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals("****", dataFormat.getNullString());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals("****", dataFormat.getNullString());
 
-        // Properly used
-        assertEquals("****", dataFormat.getActiveFormat().getNullString());
+            // Properly used
+            assertEquals("****", dataFormat.getActiveFormat().getNullString());
+        }
     }
 
     @Test
-    void shouldDisableQuote() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
+    void shouldDisableQuote() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
                 .setQuoteDisabled(true)
-                .setQuote('q');
-        dataFormat.start();
+                .setQuote('q')) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertTrue(dataFormat.isQuoteDisabled());
-        assertEquals(Character.valueOf('q'), dataFormat.getQuote());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertTrue(dataFormat.isQuoteDisabled());
+            assertEquals(Character.valueOf('q'), dataFormat.getQuote());
 
-        // Properly used
-        assertNull(dataFormat.getActiveFormat().getQuoteCharacter());
+            // Properly used
+            assertNull(dataFormat.getActiveFormat().getQuoteCharacter());
+        }
     }
 
     @Test
-    void shouldOverrideQuote() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setQuote('q');
-        dataFormat.start();
+    void shouldOverrideQuote() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setQuote('q')) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Character.valueOf('q'), dataFormat.getQuote());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Character.valueOf('q'), dataFormat.getQuote());
 
-        // Properly used
-        assertEquals(Character.valueOf('q'), 
dataFormat.getActiveFormat().getQuoteCharacter());
+            // Properly used
+            assertEquals(Character.valueOf('q'), 
dataFormat.getActiveFormat().getQuoteCharacter());
+        }
     }
 
     @Test
-    void shouldOverrideQuoteMode() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setQuoteMode(QuoteMode.ALL);
-        dataFormat.start();
+    void shouldOverrideQuoteMode() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setQuoteMode(QuoteMode.ALL)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(QuoteMode.ALL, dataFormat.getQuoteMode());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(QuoteMode.ALL, dataFormat.getQuoteMode());
 
-        // Properly used
-        assertEquals(QuoteMode.ALL, 
dataFormat.getActiveFormat().getQuoteMode());
+            // Properly used
+            assertEquals(QuoteMode.ALL, 
dataFormat.getActiveFormat().getQuoteMode());
+        }
     }
 
     @Test
-    void shouldDisableRecordSeparator() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
+    void shouldDisableRecordSeparator() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
                 .setRecordSeparatorDisabled(true)
-                .setRecordSeparator("separator");
-        dataFormat.start();
+                .setRecordSeparator("separator")) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertTrue(dataFormat.isRecordSeparatorDisabled());
-        assertEquals("separator", dataFormat.getRecordSeparator());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertTrue(dataFormat.isRecordSeparatorDisabled());
+            assertEquals("separator", dataFormat.getRecordSeparator());
 
-        // Properly used
-        assertNull(dataFormat.getActiveFormat().getRecordSeparator());
+            // Properly used
+            assertNull(dataFormat.getActiveFormat().getRecordSeparator());
+        }
     }
 
     @Test
-    void shouldOverrideRecordSeparator() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setRecordSeparator("separator");
-        dataFormat.start();
+    void shouldOverrideRecordSeparator() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setRecordSeparator("separator")) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals("separator", dataFormat.getRecordSeparator());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals("separator", dataFormat.getRecordSeparator());
 
-        // Properly used
-        assertEquals("separator", 
dataFormat.getActiveFormat().getRecordSeparator());
+            // Properly used
+            assertEquals("separator", 
dataFormat.getActiveFormat().getRecordSeparator());
+        }
     }
 
     @Test
-    void shouldSkipHeaderRecord() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setSkipHeaderRecord(true);
-        dataFormat.start();
+    void shouldSkipHeaderRecord() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setSkipHeaderRecord(true)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.TRUE, dataFormat.getSkipHeaderRecord());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.TRUE, dataFormat.getSkipHeaderRecord());
 
-        // Properly used
-        assertTrue(dataFormat.getActiveFormat().getSkipHeaderRecord());
+            // Properly used
+            assertTrue(dataFormat.getActiveFormat().getSkipHeaderRecord());
+        }
     }
 
     @Test
-    void shouldNotSkipHeaderRecord() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setSkipHeaderRecord(false);
-        dataFormat.start();
+    void shouldNotSkipHeaderRecord() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setSkipHeaderRecord(false)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.FALSE, dataFormat.getSkipHeaderRecord());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.FALSE, dataFormat.getSkipHeaderRecord());
 
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getSkipHeaderRecord());
+            // Properly used
+            assertFalse(dataFormat.getActiveFormat().getSkipHeaderRecord());
+        }
     }
 
     @Test
-    void shouldHandleLazyLoad() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setLazyLoad(true);
-        dataFormat.start();
+    void shouldHandleLazyLoad() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setLazyLoad(true)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertTrue(dataFormat.isLazyLoad());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertTrue(dataFormat.isLazyLoad());
 
-        // Properly used (it doesn't modify the format)
-        assertEquals(CSVFormat.DEFAULT, dataFormat.getActiveFormat());
+            // Properly used (it doesn't modify the format)
+            assertEquals(CSVFormat.DEFAULT, dataFormat.getActiveFormat());
+        }
     }
 
     @Test
-    void shouldHandleUseMaps() {
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setUseMaps(true);
-        dataFormat.start();
+    void shouldHandleUseMaps() throws IOException {
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setUseMaps(true)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertTrue(dataFormat.isUseMaps());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertTrue(dataFormat.isUseMaps());
 
-        // Properly used (it doesn't modify the format)
-        assertEquals(CSVFormat.DEFAULT, dataFormat.getActiveFormat());
+            // Properly used (it doesn't modify the format)
+            assertEquals(CSVFormat.DEFAULT, dataFormat.getActiveFormat());
+        }
     }
 
     @Test
-    void shouldHandleRecordConverter() {
+    void shouldHandleRecordConverter() throws IOException {
         CsvRecordConverter<String> converter = new 
CsvRecordConverter<String>() {
             @Override
             public String convertRecord(CSVRecord record) {
@@ -439,107 +459,115 @@ public class CsvDataFormatTest {
             }
         };
 
-        CsvDataFormat dataFormat = new CsvDataFormat()
-                .setRecordConverter(converter);
-        dataFormat.start();
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat
+                .setRecordConverter(converter)) {
+            dataFormat.start();
 
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertSame(converter, dataFormat.getRecordConverter());
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertSame(converter, dataFormat.getRecordConverter());
 
-        // Properly used (it doesn't modify the format)
-        assertEquals(CSVFormat.DEFAULT, dataFormat.getActiveFormat());
+            // Properly used (it doesn't modify the format)
+            assertEquals(CSVFormat.DEFAULT, dataFormat.getActiveFormat());
+        }
     }
 
     @Test
-    void testTrim() {
+    void testTrim() throws IOException {
         // Set to TRUE
-        CsvDataFormat dataFormat = new CsvDataFormat().setTrim(true);
-        dataFormat.start();
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.TRUE, dataFormat.getTrim());
-        // Properly used
-        assertTrue(dataFormat.getActiveFormat().getTrim());
-
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat.setTrim(true)) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.TRUE, dataFormat.getTrim());
+            // Properly used
+            assertTrue(dataFormat.getActiveFormat().getTrim());
+        }
         // NOT set
-        dataFormat = new CsvDataFormat();
-        dataFormat.start();
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertNull(dataFormat.getTrim());
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getTrim());
-
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertNull(dataFormat.getTrim());
+            // Properly used
+            assertFalse(dataFormat.getActiveFormat().getTrim());
+        }
         // Set to false
-        dataFormat = new CsvDataFormat().setTrim(false);
-        dataFormat.start();
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.FALSE, dataFormat.getTrim());
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getTrim());
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat.setTrim(false)) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.FALSE, dataFormat.getTrim());
+            // Properly used
+            assertFalse(dataFormat.getActiveFormat().getTrim());
+        }
 
     }
 
     @Test
-    void testIgnoreHeaderCase() {
+    void testIgnoreHeaderCase() throws IOException {
         // Set to TRUE
-        CsvDataFormat dataFormat = new 
CsvDataFormat().setIgnoreHeaderCase(true);
-        dataFormat.start();
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.TRUE, dataFormat.getIgnoreHeaderCase());
-        // Properly used
-        assertTrue(dataFormat.getActiveFormat().getIgnoreHeaderCase());
-
+        try (CsvDataFormat defDataFormat = new CsvDataFormat();
+             CsvDataFormat dataFormat = 
defDataFormat.setIgnoreHeaderCase(true)) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.TRUE, dataFormat.getIgnoreHeaderCase());
+            // Properly used
+            assertTrue(dataFormat.getActiveFormat().getIgnoreHeaderCase());
+        }
         // NOT set
-        dataFormat = new CsvDataFormat();
-        dataFormat.start();
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertNull(dataFormat.getIgnoreHeaderCase());
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getIgnoreHeaderCase());
-
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertNull(dataFormat.getIgnoreHeaderCase());
+            // Properly used
+            assertFalse(dataFormat.getActiveFormat().getIgnoreHeaderCase());
+        }
         // Set to false
-        dataFormat = new CsvDataFormat().setIgnoreHeaderCase(false);
-        dataFormat.start();
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.FALSE, dataFormat.getIgnoreHeaderCase());
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getIgnoreHeaderCase());
+        try (CsvDataFormat defDataFormat = new CsvDataFormat();
+             CsvDataFormat dataFormat = 
defDataFormat.setIgnoreHeaderCase(false)) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.FALSE, dataFormat.getIgnoreHeaderCase());
+            // Properly used
+            assertFalse(dataFormat.getActiveFormat().getIgnoreHeaderCase());
+        }
     }
 
     @Test
-    void testTrailingDelimiter() {
+    void testTrailingDelimiter() throws IOException {
         // Set to TRUE
-        CsvDataFormat dataFormat = new 
CsvDataFormat().setTrailingDelimiter(true);
-        dataFormat.start();
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.TRUE, dataFormat.getTrailingDelimiter());
-        // Properly used
-        assertTrue(dataFormat.getActiveFormat().getTrailingDelimiter());
-
+        try (CsvDataFormat defDataFormat = new CsvDataFormat();
+             CsvDataFormat dataFormat = 
defDataFormat.setTrailingDelimiter(true)) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.TRUE, dataFormat.getTrailingDelimiter());
+            // Properly used
+            assertTrue(dataFormat.getActiveFormat().getTrailingDelimiter());
+        }
         // NOT set
-        dataFormat = new CsvDataFormat();
-        dataFormat.start();
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertNull(dataFormat.getTrailingDelimiter());
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getTrailingDelimiter());
-
+        try (CsvDataFormat defDataFormat = new CsvDataFormat(); CsvDataFormat 
dataFormat = defDataFormat) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertNull(dataFormat.getTrailingDelimiter());
+            // Properly used
+            assertFalse(dataFormat.getActiveFormat().getTrailingDelimiter());
+        }
         // Set to false
-        dataFormat = new CsvDataFormat().setTrailingDelimiter(false);
-        dataFormat.start();
-        // Properly saved
-        assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
-        assertEquals(Boolean.FALSE, dataFormat.getTrailingDelimiter());
-        // Properly used
-        assertFalse(dataFormat.getActiveFormat().getTrailingDelimiter());
+        try (CsvDataFormat defDataFormat = new CsvDataFormat();
+             CsvDataFormat dataFormat = 
defDataFormat.setTrailingDelimiter(false)) {
+            dataFormat.start();
+            // Properly saved
+            assertSame(CSVFormat.DEFAULT, dataFormat.getCsvFormat());
+            assertEquals(Boolean.FALSE, dataFormat.getTrailingDelimiter());
+            // Properly used
+            assertFalse(dataFormat.getActiveFormat().getTrailingDelimiter());
+        }
     }
 
 }
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalCharsetTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalCharsetTest.java
index 9125db828d16..1cf83fa10e1e 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalCharsetTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalCharsetTest.java
@@ -23,6 +23,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.test.junit5.TestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -38,7 +39,7 @@ public class CsvMarshalCharsetTest extends CamelTestSupport {
         List<List<String>> data = new ArrayList<>();
         data.add(0, new ArrayList<String>());
         data.get(0).add(0, "L\u00fccky Luke");
-        Exchange in = createExchangeWithBody(data);
+        Exchange in = TestSupport.createExchangeWithBody(this.context, data);
         in.setProperty(Exchange.CHARSET_NAME, "ISO-8859-1");
         template.send("direct:start", in);
 
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalHeaderWithCustomMarshallFactoryTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalHeaderWithCustomMarshallFactoryTest.java
index 6033d150f1d9..d9ef280177d7 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalHeaderWithCustomMarshallFactoryTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalHeaderWithCustomMarshallFactoryTest.java
@@ -139,8 +139,7 @@ public class CsvMarshalHeaderWithCustomMarshallFactoryTest 
extends CamelTestSupp
         public void marshal(Exchange exchange, Object object, OutputStream 
outputStream) throws IOException {
             lock.lock();
             try {
-                if (object instanceof Map) {
-                    Map map = (Map) object;
+                if (object instanceof Map map) {
                     printer.printRecord(getMapRecordValues(map));
                 } else {
                     Iterator<Map<String, String>> it = (Iterator<Map<String, 
String>>) ObjectHelper.createIterator(object);
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalPipeDelimiterTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalPipeDelimiterTest.java
index 303e1327c1d5..e3e06474df86 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalPipeDelimiterTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalPipeDelimiterTest.java
@@ -72,6 +72,8 @@ public class CsvMarshalPipeDelimiterTest extends 
CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
+                @SuppressWarnings("resource")
+                // Resource lifecycle will be managed by the framework
                 CsvDataFormat csv = new 
CsvDataFormat().setDelimiter('|').setHeaderDisabled(true);
 
                 
from("direct:start").marshal(csv).convertBodyTo(String.class).to("mock:result");
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalTest.java
index 0e610690a2bb..406b632cf426 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvMarshalTest.java
@@ -110,6 +110,8 @@ public class CsvMarshalTest extends CamelTestSupport {
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
+            @SuppressWarnings("resource")
+            // Resource lifecycle will be managed by the framework
             @Override
             public void configure() {
                 // Default format
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvRecordConvertersTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvRecordConvertersTest.java
index ba9663ac8f83..3fd118d7303b 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvRecordConvertersTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvRecordConvertersTest.java
@@ -38,8 +38,8 @@ public class CsvRecordConvertersTest {
 
     @BeforeEach
     public void setUp() throws Exception {
-        CSVFormat format = CSVFormat.DEFAULT.withHeader("A", "B", "C");
-        CSVParser parser = new CSVParser(new StringReader("1,2,3"), format);
+        CSVFormat format = CSVFormat.DEFAULT.builder().setHeader("A", "B", 
"C").get();
+        CSVParser parser = CSVParser.builder().setReader(new 
StringReader("1,2,3")).setFormat(format).get();
         List<CSVRecord> records = parser.getRecords();
         record = records.get(0);
     }
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvRouteTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvRouteTest.java
index 54f8e687fbbf..3abf21f5a8a2 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvRouteTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvRouteTest.java
@@ -26,6 +26,7 @@ import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.test.junit5.TestSupport;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -39,7 +40,7 @@ public class CsvRouteTest extends CamelTestSupport {
 
     @Test
     void testSendMessage() throws Exception {
-        MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", 
MockEndpoint.class);
+        MockEndpoint resultEndpoint = 
TestSupport.resolveMandatoryEndpoint(this.context, "mock:result", 
MockEndpoint.class);
         resultEndpoint.expectedMessageCount(1);
 
         // START SNIPPET: marshalInput
@@ -66,7 +67,7 @@ public class CsvRouteTest extends CamelTestSupport {
 
     @Test
     void testMultipleMessages() throws Exception {
-        MockEndpoint resultEndpoint = 
resolveMandatoryEndpoint("mock:resultMulti",
+        MockEndpoint resultEndpoint = 
TestSupport.resolveMandatoryEndpoint(this.context, "mock:resultMulti",
                 MockEndpoint.class);
         resultEndpoint.expectedMessageCount(2);
         Map<String, Object> body1 = new LinkedHashMap<>();
@@ -104,7 +105,7 @@ public class CsvRouteTest extends CamelTestSupport {
 
     @Test
     void testPresetConfig() {
-        MockEndpoint resultEndpoint = 
resolveMandatoryEndpoint("mock:resultMultiCustom",
+        MockEndpoint resultEndpoint = 
TestSupport.resolveMandatoryEndpoint(this.context, "mock:resultMultiCustom",
                 MockEndpoint.class);
         resultEndpoint.expectedMessageCount(2);
         Map<String, Object> body1 = new LinkedHashMap<>();
@@ -161,6 +162,8 @@ public class CsvRouteTest extends CamelTestSupport {
 
                 
from("direct:startMulti").marshal().csv().to("mock:resultMulti");
 
+                @SuppressWarnings("resource")
+                // resource will be managed by framework lifecyle
                 CsvDataFormat customCsv = new CsvDataFormat()
                         .setDelimiter(';')
                         .setHeader(new String[] { "foo", "baz", "bar" })
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalPipeDelimiterTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalPipeDelimiterTest.java
index 00add6d2046a..902d69545731 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalPipeDelimiterTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalPipeDelimiterTest.java
@@ -74,6 +74,8 @@ public class CsvUnmarshalPipeDelimiterTest extends 
CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
+                @SuppressWarnings("resource")
+                // resource will be managed by framework lifecyle
                 CsvDataFormat csv = new CsvDataFormat().setDelimiter('|');
 
                 from("direct:start").unmarshal(csv)
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalStreamSpringTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalStreamSpringTest.java
index abfc94b6663e..ebde741523ea 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalStreamSpringTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalStreamSpringTest.java
@@ -43,9 +43,9 @@ public class CsvUnmarshalStreamSpringTest extends 
CamelSpringTestSupport {
 
         MockEndpoint.assertIsSatisfied(context);
 
-        List body1 = line.getExchanges().get(0).getIn().getBody(List.class);
-        List body2 = line.getExchanges().get(1).getIn().getBody(List.class);
-        List body3 = line.getExchanges().get(2).getIn().getBody(List.class);
+        List<?> body1 = line.getExchanges().get(0).getIn().getBody(List.class);
+        List<?> body2 = line.getExchanges().get(1).getIn().getBody(List.class);
+        List<?> body3 = line.getExchanges().get(2).getIn().getBody(List.class);
         assertEquals(Arrays.asList("A", "B", "C"), body1);
         assertEquals(Arrays.asList("1", "2", "3"), body2);
         assertEquals(Arrays.asList("one", "two", "three"), body3);
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalStreamTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalStreamTest.java
index 5dc617d74b83..4b8d51c92487 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalStreamTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalStreamTest.java
@@ -103,6 +103,8 @@ public class CsvUnmarshalStreamTest extends 
CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
+                @SuppressWarnings("resource")
+                // resource will be managed by framework lifecyle
                 CsvDataFormat csv = new CsvDataFormat()
                         .setLazyLoad(true)
                         .setDelimiter('|');
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTabDelimiterTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTabDelimiterTest.java
index 991bd804dc12..dc06a2a20f9c 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTabDelimiterTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTabDelimiterTest.java
@@ -71,6 +71,8 @@ public class CsvUnmarshalTabDelimiterTest extends 
CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
+                @SuppressWarnings("resource")
+                // resource will be managed by framework lifecyle
                 CsvDataFormat csv = new CsvDataFormat()
                         .setDelimiter('\t');
 
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTest.java
index 8a47ff3a3f98..14587b040cef 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTest.java
@@ -94,9 +94,9 @@ public class CsvUnmarshalTest extends CamelTestSupport {
         template.sendBody("direct:lazy", CSV_SAMPLE);
         line.assertIsSatisfied();
 
-        List body1 = line.getExchanges().get(0).getIn().getBody(List.class);
-        List body2 = line.getExchanges().get(1).getIn().getBody(List.class);
-        List body3 = line.getExchanges().get(2).getIn().getBody(List.class);
+        List<?> body1 = line.getExchanges().get(0).getIn().getBody(List.class);
+        List<?> body2 = line.getExchanges().get(1).getIn().getBody(List.class);
+        List<?> body3 = line.getExchanges().get(2).getIn().getBody(List.class);
         assertEquals(Arrays.asList("A", "B", "C"), body1);
         assertEquals(Arrays.asList("1", "2", "3"), body2);
         assertEquals(Arrays.asList("one", "two", "three"), body3);
@@ -150,8 +150,8 @@ public class CsvUnmarshalTest extends CamelTestSupport {
         template.sendBody("direct:lazy_map", CSV_SAMPLE);
         line.assertIsSatisfied();
 
-        Map map1 = line.getExchanges().get(0).getIn().getBody(Map.class);
-        Map map2 = line.getExchanges().get(1).getIn().getBody(Map.class);
+        Map<?, ?> map1 = line.getExchanges().get(0).getIn().getBody(Map.class);
+        Map<?, ?> map2 = line.getExchanges().get(1).getIn().getBody(Map.class);
 
         assertEquals(asMap("A", "1", "B", "2", "C", "3"), map1);
         assertEquals(asMap("A", "one", "B", "two", "C", "three"), map2);
@@ -174,6 +174,8 @@ public class CsvUnmarshalTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             @Override
+            @SuppressWarnings("resource")
+            // resource will be managed by framework lifecyle
             public void configure() {
                 // Default format
                 from("direct:default")
diff --git 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTwoCsvDataFormatConcurrentTest.java
 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTwoCsvDataFormatConcurrentTest.java
index 7ccc40169b4e..884b3acb5cf9 100644
--- 
a/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTwoCsvDataFormatConcurrentTest.java
+++ 
b/components/camel-csv/src/test/java/org/apache/camel/dataformat/csv/CsvUnmarshalTwoCsvDataFormatConcurrentTest.java
@@ -69,7 +69,11 @@ public class CsvUnmarshalTwoCsvDataFormatConcurrentTest 
extends CamelTestSupport
         return new RouteBuilder() {
             @Override
             public void configure() {
+                @SuppressWarnings("resource")
+                // resource will be managed by framework lifecyle
                 CsvDataFormat csv = new CsvDataFormat().setDelimiter('|');
+                @SuppressWarnings("resource")
+                // resource will be managed by framework lifecyle
                 CsvDataFormat csv2 = new CsvDataFormat().setDelimiter(';');
 
                 from("direct:start")

Reply via email to