diff --git a/apache-libraries/pom.xml b/apache-libraries/pom.xml
index 3d78869865..b6418e6a04 100644
--- a/apache-libraries/pom.xml
+++ b/apache-libraries/pom.xml
@@ -118,11 +118,6 @@
curator-recipes
${curator.version}
-
- org.apache.zookeeper
- zookeeper
- ${zookeeper.version}
-
com.fasterxml.jackson.core
jackson-core
@@ -191,10 +186,8 @@
- 1.8
- 1.8
1.8.2
- 2.19.0
+ 2.45.0
1.1.2
1.1.0.Final
1.2.0
diff --git a/core-groovy-modules/core-groovy-2/README.md b/core-groovy-modules/core-groovy-2/README.md
index 9f81ac6c16..f128b43092 100644
--- a/core-groovy-modules/core-groovy-2/README.md
+++ b/core-groovy-modules/core-groovy-2/README.md
@@ -14,4 +14,4 @@ This module contains articles about core Groovy concepts
- [A Quick Guide to Working with Web Services in Groovy](https://www.baeldung.com/groovy-web-services)
- [Categories in Groovy](https://www.baeldung.com/groovy-categories)
- [How to Determine the Data Type in Groovy](https://www.baeldung.com/groovy-determine-data-type)
-- [[<-- Prev]](/core-groovy)
+- [[<-- Prev]](/core-groovy-modules/core-groovy)
diff --git a/core-groovy-modules/core-groovy-2/pom.xml b/core-groovy-modules/core-groovy-2/pom.xml
index 2b864ec7a1..ca6a9a62c7 100644
--- a/core-groovy-modules/core-groovy-2/pom.xml
+++ b/core-groovy-modules/core-groovy-2/pom.xml
@@ -83,7 +83,7 @@
org.codehaus.groovy
groovy-eclipse-batch
- ${groovy.version}-01
+ ${groovy-eclipse-batch.version}
@@ -163,9 +163,10 @@
1.1.3
- 3.1.0
- 3.8.0
- 3.3.0-01
+ 3.4.2
+ 3.8.1
+ 3.7.0
+ 3.0.8-01
diff --git a/core-groovy-modules/pom.xml b/core-groovy-modules/pom.xml
index 2d1120e435..6faa7f94c8 100644
--- a/core-groovy-modules/pom.xml
+++ b/core-groovy-modules/pom.xml
@@ -21,12 +21,12 @@
- 3.0.8
- 3.0.8
- 3.0.8
- 2.4.0
+ 3.0.15
+ 3.0.15
+ 3.0.15
+ 2.7.1
2.3-groovy-3.0
- 1.6
+ 2.1.0
diff --git a/core-java-modules/core-java-annotations/src/main/java/com/baeldung/annotations/ClassWithSuppressWarningsNames.java b/core-java-modules/core-java-annotations/src/main/java/com/baeldung/annotations/ClassWithSuppressWarningsNames.java
index aad7cf49eb..d0a325a155 100644
--- a/core-java-modules/core-java-annotations/src/main/java/com/baeldung/annotations/ClassWithSuppressWarningsNames.java
+++ b/core-java-modules/core-java-annotations/src/main/java/com/baeldung/annotations/ClassWithSuppressWarningsNames.java
@@ -17,7 +17,7 @@ public class ClassWithSuppressWarningsNames implements Serializable {
list.add(Integer.valueOf(value));
}
- @SuppressWarnings("deprecated")
+ @SuppressWarnings("deprecation")
void suppressDeprecatedWarning() {
ClassWithSuppressWarningsNames cls = new ClassWithSuppressWarningsNames();
cls.deprecatedMethod(); // no warning here
diff --git a/core-java-modules/core-java-collections-5/README.md b/core-java-modules/core-java-collections-5/README.md
new file mode 100644
index 0000000000..cf479ec507
--- /dev/null
+++ b/core-java-modules/core-java-collections-5/README.md
@@ -0,0 +1,7 @@
+=========
+
+## Core Java Collections Cookbooks and Examples
+
+### Relevant Articles:
+
+- More articles: [[<-- prev]](/core-java-modules/core-java-collections-4)
\ No newline at end of file
diff --git a/core-java-modules/core-java-collections-5/pom.xml b/core-java-modules/core-java-collections-5/pom.xml
new file mode 100644
index 0000000000..67c9f7120c
--- /dev/null
+++ b/core-java-modules/core-java-collections-5/pom.xml
@@ -0,0 +1,58 @@
+
+
+ 4.0.0
+ core-java-collections-5
+ 0.0.1-SNAPSHOT
+ core-java-collections-5
+ jar
+
+
+ com.baeldung.core-java-modules
+ core-java-modules
+ 0.0.1-SNAPSHOT
+
+
+
+
+ org.junit.platform
+ junit-platform-runner
+ ${junit-platform.version}
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ ${junit.version}
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ ${junit.version}
+ test
+
+
+ org.roaringbitmap
+ RoaringBitmap
+ ${roaringbitmap.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh.version}
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh.version}
+
+
+
+
+ 5.9.2
+ 0.9.38
+ 1.36
+
+
diff --git a/core-java-modules/core-java-collections-5/src/main/java/com/baeldung/roaringbitmap/BitSetsBenchmark.java b/core-java-modules/core-java-collections-5/src/main/java/com/baeldung/roaringbitmap/BitSetsBenchmark.java
new file mode 100644
index 0000000000..4968afb752
--- /dev/null
+++ b/core-java-modules/core-java-collections-5/src/main/java/com/baeldung/roaringbitmap/BitSetsBenchmark.java
@@ -0,0 +1,82 @@
+package com.baeldung.roaringbitmap;
+
+import java.util.BitSet;
+
+import org.openjdk.jmh.annotations.Benchmark;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.Setup;
+import org.openjdk.jmh.annotations.State;
+import org.roaringbitmap.RoaringBitmap;
+
+@State(Scope.Thread)
+public class BitSetsBenchmark {
+ private RoaringBitmap rb1;
+ private BitSet bs1;
+ private RoaringBitmap rb2;
+ private BitSet bs2;
+ private final static int SIZE = 10_000_000;
+
+ @Setup
+ public void setup() {
+ rb1 = new RoaringBitmap();
+ bs1 = new BitSet(SIZE);
+ rb2 = new RoaringBitmap();
+ bs2 = new BitSet(SIZE);
+ for (int i = 0; i < SIZE / 2; i++) {
+ rb1.add(i);
+ bs1.set(i);
+ }
+ for (int i = SIZE / 2; i < SIZE; i++) {
+ rb2.add(i);
+ bs2.set(i);
+ }
+ }
+
+ @Benchmark
+ public RoaringBitmap roaringBitmapUnion() {
+ return RoaringBitmap.or(rb1, rb2);
+ }
+
+ @Benchmark
+ public BitSet bitSetUnion() {
+ BitSet result = (BitSet) bs1.clone();
+ result.or(bs2);
+ return result;
+ }
+
+ @Benchmark
+ public RoaringBitmap roaringBitmapIntersection() {
+ return RoaringBitmap.and(rb1, rb2);
+ }
+
+ @Benchmark
+ public BitSet bitSetIntersection() {
+ BitSet result = (BitSet) bs1.clone();
+ result.and(bs2);
+ return result;
+ }
+
+ @Benchmark
+ public RoaringBitmap roaringBitmapDifference() {
+ return RoaringBitmap.andNot(rb1, rb2);
+ }
+
+ @Benchmark
+ public BitSet bitSetDifference() {
+ BitSet result = (BitSet) bs1.clone();
+ result.andNot(bs2);
+ return result;
+ }
+
+ @Benchmark
+ public RoaringBitmap roaringBitmapXOR() {
+ return RoaringBitmap.xor(rb1, rb2);
+ }
+
+ @Benchmark
+ public BitSet bitSetXOR() {
+ BitSet result = (BitSet) bs1.clone();
+ result.xor(bs2);
+ return result;
+ }
+}
\ No newline at end of file
diff --git a/core-java-modules/core-java-collections-5/src/main/java/com/baeldung/roaringbitmap/BitSetsBenchmarkRunner.java b/core-java-modules/core-java-collections-5/src/main/java/com/baeldung/roaringbitmap/BitSetsBenchmarkRunner.java
new file mode 100644
index 0000000000..49d556df7e
--- /dev/null
+++ b/core-java-modules/core-java-collections-5/src/main/java/com/baeldung/roaringbitmap/BitSetsBenchmarkRunner.java
@@ -0,0 +1,9 @@
+package com.baeldung.roaringbitmap;
+
+import java.io.IOException;
+
+public class BitSetsBenchmarkRunner {
+ public static void main(String... args) throws IOException {
+ org.openjdk.jmh.Main.main(args);
+ }
+}
\ No newline at end of file
diff --git a/core-java-modules/core-java-collections-5/src/test/java/com/baeldung/roaringbitmap/RoaringBitmapBenchmarkUnitTest.java b/core-java-modules/core-java-collections-5/src/test/java/com/baeldung/roaringbitmap/RoaringBitmapBenchmarkUnitTest.java
new file mode 100644
index 0000000000..07170512d9
--- /dev/null
+++ b/core-java-modules/core-java-collections-5/src/test/java/com/baeldung/roaringbitmap/RoaringBitmapBenchmarkUnitTest.java
@@ -0,0 +1,45 @@
+package com.baeldung.roaringbitmap;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import org.junit.jupiter.api.Test;
+import org.roaringbitmap.RoaringBitmap;
+
+class RoaringBitmapBenchmarkUnitTest {
+ @Test
+ public void givenTwoRoaringBitmap_whenUsingOr_thenWillGetSetsUnion() {
+ RoaringBitmap expected = RoaringBitmap.bitmapOf(1, 2, 3, 4, 5, 6, 7, 8);
+ RoaringBitmap A = RoaringBitmap.bitmapOf(1, 2, 3, 4, 5);
+ RoaringBitmap B = RoaringBitmap.bitmapOf(4, 5, 6, 7, 8);
+ RoaringBitmap union = RoaringBitmap.or(A, B);
+ assertEquals(expected, union);
+ }
+
+ @Test
+ public void givenTwoRoaringBitmap_whenUsingAnd_thenWillGetSetsIntersection() {
+ RoaringBitmap expected = RoaringBitmap.bitmapOf(4, 5);
+ RoaringBitmap A = RoaringBitmap.bitmapOfRange(1, 6);
+ RoaringBitmap B = RoaringBitmap.bitmapOf(4, 5, 6, 7, 8);
+ RoaringBitmap intersection = RoaringBitmap.and(A, B);
+ assertEquals(expected, intersection);
+ }
+
+ @Test
+ public void givenTwoRoaringBitmap_whenUsingAndNot_thenWillGetSetsDifference() {
+ RoaringBitmap expected = RoaringBitmap.bitmapOf(1, 2, 3);
+ RoaringBitmap A = new RoaringBitmap();
+ A.add(1L, 6L);
+ RoaringBitmap B = RoaringBitmap.bitmapOf(4, 5, 6, 7, 8);
+ RoaringBitmap difference = RoaringBitmap.andNot(A, B);
+ assertEquals(expected, difference);
+ }
+
+ @Test
+ public void givenTwoRoaringBitmap_whenUsingXOR_thenWillGetSetsSymmetricDifference() {
+ RoaringBitmap expected = RoaringBitmap.bitmapOf(1, 2, 3, 6, 7, 8);
+ RoaringBitmap A = RoaringBitmap.bitmapOfRange(1, 6);
+ RoaringBitmap B = RoaringBitmap.bitmapOfRange(4, 9);
+ RoaringBitmap xor = RoaringBitmap.xor(A, B);
+ assertEquals(expected, xor);
+ }
+}
\ No newline at end of file
diff --git a/core-java-modules/core-java-collections-list-5/src/main/java/com/baeldung/listduplicate/ListDuplicate.java b/core-java-modules/core-java-collections-list-5/src/main/java/com/baeldung/listduplicate/ListDuplicate.java
new file mode 100644
index 0000000000..5e3e845916
--- /dev/null
+++ b/core-java-modules/core-java-collections-list-5/src/main/java/com/baeldung/listduplicate/ListDuplicate.java
@@ -0,0 +1,69 @@
+package com.baeldung.listduplicate;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+public class ListDuplicate {
+ public List listDuplicateUsingSet(List list) {
+ List duplicates = new ArrayList<>();
+ Set set = new HashSet<>();
+ for (Integer i : list) {
+ if (set.contains(i)) {
+ duplicates.add(i);
+ } else {
+ set.add(i);
+ }
+ }
+ return duplicates;
+ }
+
+ public List listDuplicateUsingMap(List list) {
+ List duplicates = new ArrayList<>();
+ Map frequencyMap = new HashMap<>();
+ for (Integer number : list) {
+ frequencyMap.put(number, frequencyMap.getOrDefault(number, 0) + 1);
+ }
+ for (int number : frequencyMap.keySet()) {
+ if (frequencyMap.get(number) != 1) {
+ duplicates.add(number);
+ }
+ }
+ return duplicates;
+ }
+
+ public List listDuplicateUsingFilterAndSetAdd(List list) {
+ Set elements = new HashSet();
+ return list.stream()
+ .filter(n -> !elements.add(n))
+ .collect(Collectors.toList());
+ }
+
+ public List listDuplicateUsingCollectionsFrequency(List list) {
+ List duplicates = new ArrayList<>();
+ Set set = list.stream()
+ .filter(i -> Collections.frequency(list, i) > 1)
+ .collect(Collectors.toSet());
+ duplicates.addAll(set);
+ return duplicates;
+ }
+
+ public List listDuplicateUsingMapAndCollectorsGroupingBy(List list) {
+ List duplicates = new ArrayList<>();
+ Set set = list.stream()
+ .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
+ .entrySet()
+ .stream()
+ .filter(m -> m.getValue() > 1)
+ .map(Map.Entry::getKey)
+ .collect(Collectors.toSet());
+ duplicates.addAll(set);
+ return duplicates;
+ }
+}
diff --git a/core-java-modules/core-java-collections-list-5/src/test/java/com/baeldung/listduplicate/ListDuplicateUnitTest.java b/core-java-modules/core-java-collections-list-5/src/test/java/com/baeldung/listduplicate/ListDuplicateUnitTest.java
new file mode 100644
index 0000000000..0d81387aea
--- /dev/null
+++ b/core-java-modules/core-java-collections-list-5/src/test/java/com/baeldung/listduplicate/ListDuplicateUnitTest.java
@@ -0,0 +1,68 @@
+package com.baeldung.listduplicate;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class ListDuplicateUnitTest {
+ private static ListDuplicate listDuplicate;
+
+ @BeforeClass
+ public static void setup() {
+ listDuplicate = new ListDuplicate();
+ }
+
+ @Test
+ public void givenList_whenUsingSet_thenReturnDuplicateElements() {
+ List list = Arrays.asList(1, 2, 3, 3, 4, 4, 5);
+ List duplicates = listDuplicate.listDuplicateUsingSet(list);
+ Assert.assertEquals(duplicates.size(), 2);
+ Assert.assertEquals(duplicates.contains(3), true);
+ Assert.assertEquals(duplicates.contains(4), true);
+ Assert.assertEquals(duplicates.contains(1), false);
+ }
+
+ @Test
+ public void givenList_whenUsingFrequencyMap_thenReturnDuplicateElements() {
+ List list = Arrays.asList(1, 2, 3, 3, 4, 4, 5);
+ List duplicates = listDuplicate.listDuplicateUsingMap(list);
+ Assert.assertEquals(duplicates.size(), 2);
+ Assert.assertEquals(duplicates.contains(3), true);
+ Assert.assertEquals(duplicates.contains(4), true);
+ Assert.assertEquals(duplicates.contains(1), false);
+ }
+
+ @Test
+ public void givenList_whenUsingFilterAndSetAdd_thenReturnDuplicateElements() {
+ List list = Arrays.asList(1, 2, 3, 3, 4, 4, 5);
+ List duplicates = listDuplicate.listDuplicateUsingFilterAndSetAdd(list);
+ Assert.assertEquals(duplicates.size(), 2);
+ Assert.assertEquals(duplicates.contains(3), true);
+ Assert.assertEquals(duplicates.contains(4), true);
+ Assert.assertEquals(duplicates.contains(1), false);
+ }
+
+ @Test
+ public void givenList_whenUsingCollectionsFrequency_thenReturnDuplicateElements() {
+ List list = Arrays.asList(1, 2, 3, 3, 4, 4, 5);
+ List duplicates = listDuplicate.listDuplicateUsingCollectionsFrequency(list);
+ Assert.assertEquals(duplicates.size(), 2);
+ Assert.assertEquals(duplicates.contains(3), true);
+ Assert.assertEquals(duplicates.contains(4), true);
+ Assert.assertEquals(duplicates.contains(1), false);
+ }
+
+ @Test
+ public void givenList_whenUsingMapAndCollectorsGroupingBy_thenReturnDuplicateElements() {
+ List list = Arrays.asList(1, 2, 3, 3, 4, 4, 5);
+ List duplicates = listDuplicate.listDuplicateUsingCollectionsFrequency(list);
+ Assert.assertEquals(duplicates.size(), 2);
+ Assert.assertEquals(duplicates.contains(3), true);
+ Assert.assertEquals(duplicates.contains(4), true);
+ Assert.assertEquals(duplicates.contains(1), false);
+ }
+
+}
diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml
index 1033213cd1..a96489ec6f 100644
--- a/core-java-modules/pom.xml
+++ b/core-java-modules/pom.xml
@@ -31,6 +31,7 @@
core-java-collections-2
core-java-collections-3
core-java-collections-4
+ core-java-collections-5
core-java-collections-conversions
core-java-collections-conversions-2
core-java-collections-set-2
diff --git a/couchbase/pom.xml b/couchbase/pom.xml
index e87975a53c..095bda3610 100644
--- a/couchbase/pom.xml
+++ b/couchbase/pom.xml
@@ -64,11 +64,16 @@
${commons-lang3.version}
test
+
+ javax.annotation
+ javax.annotation-api
+ 1.3.2
+
- 2.5.0
- 4.3.5.RELEASE
+ 2.7.2
+ 5.3.25
\ No newline at end of file
diff --git a/dependency-exclusion/core-java-exclusions/pom.xml b/dependency-exclusion/core-java-exclusions/pom.xml
new file mode 100644
index 0000000000..cf1b36656d
--- /dev/null
+++ b/dependency-exclusion/core-java-exclusions/pom.xml
@@ -0,0 +1,53 @@
+
+
+ 4.0.0
+ core-java-exclusions
+ 0.0.0-SNAPSHOT
+ core-java-exclusions
+ jar
+
+
+ com.baeldung.dependency-exclusion
+ dependency-exclusion
+ 0.0.1-SNAPSHOT
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${surefire-version}
+
+ alphabetical
+ 1
+
+
+ junit
+ false
+
+
+
+
+
+
+ org.apache.maven.surefire
+ surefire-junit47
+ dummy
+
+
+
+
+
+
+
+
+ junit
+ junit
+ test
+
+
+
+
diff --git a/dependency-exclusion/core-java-exclusions/src/test/java/com/sample/project/tests/ExcludeDirectDependencyUnitTest.java b/dependency-exclusion/core-java-exclusions/src/test/java/com/sample/project/tests/ExcludeDirectDependencyUnitTest.java
new file mode 100644
index 0000000000..ed2400f9ac
--- /dev/null
+++ b/dependency-exclusion/core-java-exclusions/src/test/java/com/sample/project/tests/ExcludeDirectDependencyUnitTest.java
@@ -0,0 +1,12 @@
+package com.sample.project.tests;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class ExcludeDirectDependencyUnitTest {
+ @Test
+ public void basicUnitTest() {
+ assertTrue(true);
+ }
+}
diff --git a/dependency-exclusion/dummy-surefire-junit47/pom.xml b/dependency-exclusion/dummy-surefire-junit47/pom.xml
new file mode 100644
index 0000000000..5859ddbe72
--- /dev/null
+++ b/dependency-exclusion/dummy-surefire-junit47/pom.xml
@@ -0,0 +1,9 @@
+
+
+ 4.0.0
+ org.apache.maven.surefire
+ surefire-junit47
+ dummy
+
diff --git a/dependency-exclusion/pom.xml b/dependency-exclusion/pom.xml
new file mode 100644
index 0000000000..ac83cc161a
--- /dev/null
+++ b/dependency-exclusion/pom.xml
@@ -0,0 +1,71 @@
+
+
+ 4.0.0
+ com.baeldung.dependency-exclusion
+ dependency-exclusion
+ dependency-exclusion
+ pom
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../parent-java
+
+
+
+ 2.22.2
+
+
+
+ dummy-surefire-junit47
+ core-java-exclusions
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.7.0
+
+ 1.8
+ 1.8
+
+ -parameters
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${surefire-version}
+
+ 1
+
+
+
+ org.apache.maven.surefire
+ surefire-junit-platform
+ ${surefire-version}
+
+
+
+
+
+
+
+
+
+
+ junit
+ junit
+ 4.13
+
+
+
+
+
diff --git a/geotools/pom.xml b/geotools/pom.xml
index 6edb344c8c..f17b4cc5da 100644
--- a/geotools/pom.xml
+++ b/geotools/pom.xml
@@ -39,13 +39,6 @@
gt-swing
${geotools-swing.version}
-
- org.locationtech.jts
- jts-core
- 1.19.0
-
-
-
diff --git a/guava-modules/guava-collections/pom.xml b/guava-modules/guava-collections/pom.xml
index 9283107023..8dc052db75 100644
--- a/guava-modules/guava-collections/pom.xml
+++ b/guava-modules/guava-collections/pom.xml
@@ -37,6 +37,7 @@
${java-hamcrest.version}
test
+
diff --git a/libraries-apache-commons-io/pom.xml b/libraries-apache-commons-io/pom.xml
index b45572ddad..7cac50a8e2 100644
--- a/libraries-apache-commons-io/pom.xml
+++ b/libraries-apache-commons-io/pom.xml
@@ -26,7 +26,7 @@
- 1.9.0
+ 1.10.0
\ No newline at end of file
diff --git a/libraries-apache-commons-io/src/test/java/com/baeldung/commons/io/csv/CSVReaderWriterUnitTest.java b/libraries-apache-commons-io/src/test/java/com/baeldung/commons/io/csv/CSVReaderWriterUnitTest.java
index b99f4e8bc3..b37613e962 100644
--- a/libraries-apache-commons-io/src/test/java/com/baeldung/commons/io/csv/CSVReaderWriterUnitTest.java
+++ b/libraries-apache-commons-io/src/test/java/com/baeldung/commons/io/csv/CSVReaderWriterUnitTest.java
@@ -1,9 +1,11 @@
package com.baeldung.commons.io.csv;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.junit.jupiter.api.Test;
+
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
import org.apache.commons.csv.CSVRecord;
-import org.junit.Test;
import java.io.FileReader;
import java.io.IOException;
@@ -13,9 +15,7 @@ import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
-import static org.junit.Assert.assertEquals;
-
-public class CSVReaderWriterUnitTest {
+class CSVReaderWriterUnitTest {
public static final Map AUTHOR_BOOK_MAP = Collections.unmodifiableMap(new LinkedHashMap() {
{
@@ -24,12 +24,24 @@ public class CSVReaderWriterUnitTest {
}
});
public static final String[] HEADERS = { "author", "title" };
+
+ enum BookHeaders{
+ author, title
+ }
+
public static final String EXPECTED_FILESTREAM = "author,title\r\n" + "Dan Simmons,Hyperion\r\n" + "Douglas Adams,The Hitchhiker's Guide to the Galaxy";
@Test
- public void givenCSVFile_whenRead_thenContentsAsExpected() throws IOException {
+ void givenCSVFile_whenReadWithArrayHeader_thenContentsAsExpected() throws IOException {
Reader in = new FileReader("src/test/resources/book.csv");
- Iterable records = CSVFormat.DEFAULT.withHeader(HEADERS).withFirstRecordAsHeader().parse(in);
+
+ CSVFormat csvFormat = CSVFormat.DEFAULT.builder()
+ .setHeader(HEADERS)
+ .setSkipHeaderRecord(true)
+ .build();
+
+ Iterable records = csvFormat.parse(in);
+
for (CSVRecord record : records) {
String author = record.get("author");
String title = record.get("title");
@@ -38,9 +50,32 @@ public class CSVReaderWriterUnitTest {
}
@Test
- public void givenAuthorBookMap_whenWrittenToStream_thenOutputStreamAsExpected() throws IOException {
+ void givenCSVFile_whenReadWithEnumHeader_thenContentsAsExpected() throws IOException {
+ Reader in = new FileReader("src/test/resources/book.csv");
+
+ CSVFormat csvFormat = CSVFormat.DEFAULT.builder()
+ .setHeader(BookHeaders.class)
+ .setSkipHeaderRecord(true)
+ .build();
+
+ Iterable records = csvFormat.parse(in);
+
+ for (CSVRecord record : records) {
+ String author = record.get(BookHeaders.author);
+ String title = record.get(BookHeaders.title);
+ assertEquals(AUTHOR_BOOK_MAP.get(author), title);
+ }
+ }
+
+ @Test
+ void givenAuthorBookMap_whenWrittenToStream_thenOutputStreamAsExpected() throws IOException {
StringWriter sw = new StringWriter();
- try (final CSVPrinter printer = new CSVPrinter(sw, CSVFormat.DEFAULT.withHeader(HEADERS))) {
+
+ CSVFormat csvFormat = CSVFormat.DEFAULT.builder()
+ .setHeader(BookHeaders.class)
+ .build();
+
+ try (final CSVPrinter printer = new CSVPrinter(sw, csvFormat)) {
AUTHOR_BOOK_MAP.forEach((author, title) -> {
try {
printer.printRecord(author, title);
@@ -49,7 +84,8 @@ public class CSVReaderWriterUnitTest {
}
});
}
- assertEquals(EXPECTED_FILESTREAM, sw.toString().trim());
+ assertEquals(EXPECTED_FILESTREAM, sw.toString()
+ .trim());
}
}
diff --git a/libraries-testing/pom.xml b/libraries-testing/pom.xml
index 2aaad59e09..9274c292ba 100644
--- a/libraries-testing/pom.xml
+++ b/libraries-testing/pom.xml
@@ -179,17 +179,16 @@
1.9.9
1.9.0
1.9.0
- 1.9.27
+ 3.6.12
1.5.0
3.0.0
0.8.1
4.3.8.RELEASE
- 4.1.1
+ 5.3.0
2.0.0.0
2.7.0
0.14.1
1.0.0
- 2.1.214
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 63113b665c..c315f4c6eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -331,14 +331,13 @@
parent-java
apache-cxf-modules
- apache-libraries
azure
checker-plugin
- core-groovy-modules
core-java-modules
+
couchbase
drools
@@ -347,7 +346,6 @@
gradle-modules/gradle/maven-to-gradle
- guava-modules
apache-httpclient
@@ -363,7 +361,7 @@
jaxb
jersey
jhipster-5
- jmeter
+
jmh
jsf
@@ -380,7 +378,6 @@
libraries-data-db
libraries-security
libraries-server-2
- libraries-testing
logging-modules
lombok-modules
@@ -402,13 +399,6 @@
performance-tests
persistence-modules
-
- quarkus-modules
-
- rule-engines-modules
- rxjava-modules
-
- reactive-systems
security-modules
vavr-modules
@@ -462,7 +452,6 @@
spf4j
spring-4
spring-aop
- spring-aop-2
spring-batch
spring-bom
spring-boot-modules
@@ -598,22 +587,19 @@
parent-java
apache-cxf-modules
- apache-libraries
azure
checker-plugin
- core-groovy-modules
core-java-modules
couchbase
+
drools
gradle-modules/gradle/maven-to-gradle
-
- guava-modules
apache-httpclient
@@ -629,7 +615,6 @@
jaxb
jersey
jhipster-5
- jmeter
jmh
jsf
@@ -646,7 +631,6 @@
libraries-data-db
libraries-security
libraries-server-2
- libraries-testing
logging-modules
lombok-modules
@@ -657,7 +641,6 @@
microservices-modules
muleesb
-
netflix-modules
osgi
@@ -668,13 +651,6 @@
performance-tests
persistence-modules
-
- quarkus-modules
-
- rule-engines-modules
- rxjava-modules
-
- reactive-systems
security-modules
vavr-modules
@@ -719,8 +695,6 @@
server-modules
spf4j
spring-4
- spring-aop
- spring-aop-2
spring-batch
spring-bom
spring-boot-modules
@@ -875,12 +849,20 @@
+ spring-aop
+ jmeter
+ spring-aop-2
algorithms-modules
+ apache-libraries
apache-poi
apache-velocity
di-modules
asciidoctor
aws-modules
+
+ couchbase
+ core-groovy-modules
+
core-java-modules/core-java-9
core-java-modules/core-java-9-improvements
core-java-modules/core-java-9-jigsaw
@@ -918,23 +900,24 @@
core-java-modules/core-java-networking-3
core-java-modules/core-java-strings
core-java-modules/core-java-httpclient
- custom-pmd
+ custom-pmd
spring-core-6
data-structures
ddd-contexts
deeplearning4j
docker-modules
+ guava-modules
apache-httpclient-2
kubernetes-modules/kubernetes-spring
libraries-concurrency
+ libraries-testing
maven-modules/compiler-plugin-java-9
maven-modules/maven-generate-war
maven-modules/multimodulemavenproject
optaplanner
persistence-modules/sirix
persistence-modules/spring-data-cassandra-2
- quarkus-modules/quarkus-vs-springboot
- quarkus-modules/quarkus-jandex
+ quarkus-modules
spring-boot-modules/spring-boot-cassandre
spring-boot-modules/spring-boot-3
spring-boot-modules/spring-boot-3-native
@@ -944,6 +927,12 @@
spring-swagger-codegen/custom-validations-opeanpi-codegen
testing-modules/testing-assertions
persistence-modules/fauna
+
+ rule-engines-modules
+
+ reactive-systems
+ rxjava-modules
+
lightrun
tablesaw
geotools
@@ -967,7 +956,7 @@
asm
atomikos
atomix
- axon
+
bazel
code-generation
@@ -1058,7 +1047,8 @@
UTF-8
11
- 11
+ 11
+ 11
@@ -1086,12 +1076,16 @@
algorithms-modules
+ apache-libraries
apache-poi
apache-velocity
di-modules
asciidoctor
aws-modules
+ couchbase
+
+ core-groovy-modules
core-java-modules/core-java-9
core-java-modules/core-java-9-improvements
core-java-modules/core-java-9-jigsaw
@@ -1129,23 +1123,28 @@
core-java-modules/core-java-networking-3
core-java-modules/core-java-strings
core-java-modules/core-java-httpclient
- custom-pmd
+ spring-aop
+ spring-aop-2
+
+ custom-pmd
spring-core-6
data-structures
ddd-contexts
deeplearning4j
+ jmeter
docker-modules
+ guava-modules
apache-httpclient-2
kubernetes-modules/kubernetes-spring
libraries-concurrency
+ libraries-testing
maven-modules/compiler-plugin-java-9
maven-modules/maven-generate-war
maven-modules/multimodulemavenproject
optaplanner
persistence-modules/sirix
persistence-modules/spring-data-cassandra-2
- quarkus-modules/quarkus-vs-springboot
- quarkus-modules/quarkus-jandex
+ quarkus-modules
spring-boot-modules/spring-boot-cassandre
spring-boot-modules/spring-boot-3
spring-boot-modules/spring-boot-3-native
@@ -1155,6 +1154,12 @@
spring-swagger-codegen/custom-validations-opeanpi-codegen
testing-modules/testing-assertions
persistence-modules/fauna
+
+ rule-engines-modules
+
+ reactive-systems
+ rxjava-modules
+
lightrun
tablesaw
geotools
@@ -1177,7 +1182,7 @@
asm
atomikos
atomix
- axon
+
bazel
code-generation
@@ -1272,7 +1277,8 @@
UTF-8
11
- 11
+ 11
+ 11
@@ -1343,8 +1349,8 @@
1.2
2.13.3
1.4
- 1.8.1
- 5.8.1
+ 1.9.2
+ 5.9.2
1.3.2
0.3.1
2.5.2
diff --git a/quarkus-modules/pom.xml b/quarkus-modules/pom.xml
index 94fe1ae10f..ab9f7c3906 100644
--- a/quarkus-modules/pom.xml
+++ b/quarkus-modules/pom.xml
@@ -16,7 +16,8 @@
quarkus
quarkus-extension
-
+ quarkus-jandex
+ quarkus-vs-springboot
\ No newline at end of file
diff --git a/quarkus-modules/quarkus/pom.xml b/quarkus-modules/quarkus/pom.xml
index 3e1cbff01c..99d18579c3 100644
--- a/quarkus-modules/quarkus/pom.xml
+++ b/quarkus-modules/quarkus/pom.xml
@@ -182,7 +182,7 @@
- 1.7.0.Final
+ 2.16.3.Final
3.3.0
diff --git a/rule-engines-modules/easy-rules/pom.xml b/rule-engines-modules/easy-rules/pom.xml
index c8e875944c..6f43307e89 100644
--- a/rule-engines-modules/easy-rules/pom.xml
+++ b/rule-engines-modules/easy-rules/pom.xml
@@ -23,7 +23,7 @@
- 3.0.0
+ 4.1.0
\ No newline at end of file
diff --git a/rule-engines-modules/evrete/pom.xml b/rule-engines-modules/evrete/pom.xml
index d94da2853f..5b7f195722 100644
--- a/rule-engines-modules/evrete/pom.xml
+++ b/rule-engines-modules/evrete/pom.xml
@@ -30,7 +30,7 @@
- 2.1.04
+ 3.0.01
\ No newline at end of file
diff --git a/rule-engines-modules/openl-tablets/pom.xml b/rule-engines-modules/openl-tablets/pom.xml
index 204efce6c5..a24e06c44d 100644
--- a/rule-engines-modules/openl-tablets/pom.xml
+++ b/rule-engines-modules/openl-tablets/pom.xml
@@ -28,7 +28,7 @@
- 5.19.4
+ 5.26.5
\ No newline at end of file
diff --git a/rule-engines-modules/rulebook/pom.xml b/rule-engines-modules/rulebook/pom.xml
index 55e312289e..88feb148e2 100644
--- a/rule-engines-modules/rulebook/pom.xml
+++ b/rule-engines-modules/rulebook/pom.xml
@@ -23,7 +23,7 @@
- 0.6.2
+ 0.12
\ No newline at end of file
diff --git a/rxjava-modules/pom.xml b/rxjava-modules/pom.xml
index cd46270d92..2f2597b644 100644
--- a/rxjava-modules/pom.xml
+++ b/rxjava-modules/pom.xml
@@ -17,6 +17,7 @@
rxjava-core
+ rxjava-core-2
rxjava-libraries
rxjava-observables
rxjava-operators
diff --git a/rxjava-modules/rxjava-core-2/src/test/java/com/baeldung/rxjava/justvscallable/SingleJustVsFromCallableTest.java b/rxjava-modules/rxjava-core-2/src/test/java/com/baeldung/rxjava/justvscallable/SingleJustVsFromCallableTest.java
index d0de86fed8..a693432343 100644
--- a/rxjava-modules/rxjava-core-2/src/test/java/com/baeldung/rxjava/justvscallable/SingleJustVsFromCallableTest.java
+++ b/rxjava-modules/rxjava-core-2/src/test/java/com/baeldung/rxjava/justvscallable/SingleJustVsFromCallableTest.java
@@ -12,7 +12,7 @@ import org.mockito.Mockito;
import rx.Single;
import rx.observers.TestSubscriber;
-class SingleJustVsFromCallableTest {
+class SingleJustVsFromCallableUnitTest {
public EmployeeRepository repository = mock(EmployeeRepository.class);
diff --git a/spring-aop-2/pom.xml b/spring-aop-2/pom.xml
index 76e4780e72..cb84ed4ca2 100644
--- a/spring-aop-2/pom.xml
+++ b/spring-aop-2/pom.xml
@@ -39,8 +39,22 @@
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven-war-plugin.version}
+
+ false
+
+
+
+
+
- 1.11
+ 1.14.0
+ 3.3.2
\ No newline at end of file
diff --git a/spring-aop/pom.xml b/spring-aop/pom.xml
index 0d48c479ca..ae5ab5fce1 100644
--- a/spring-aop/pom.xml
+++ b/spring-aop/pom.xml
@@ -69,11 +69,20 @@
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven-war-plugin.version}
+
+ false
+
+
- 1.11
+ 1.14.0
+ 3.3.2
\ No newline at end of file
diff --git a/testing-modules/instancio/pom.xml b/testing-modules/instancio/pom.xml
index 137da91897..7687ce282d 100644
--- a/testing-modules/instancio/pom.xml
+++ b/testing-modules/instancio/pom.xml
@@ -51,8 +51,8 @@
- 2.6.0
+ 2.9.0
2.14.1
5.9.2
-
\ No newline at end of file
+
diff --git a/testing-modules/junit5-annotations/pom.xml b/testing-modules/junit5-annotations/pom.xml
index a4035a23f1..847baa827c 100644
--- a/testing-modules/junit5-annotations/pom.xml
+++ b/testing-modules/junit5-annotations/pom.xml
@@ -15,6 +15,12 @@
+
+ org.junit.jupiter
+ junit-jupiter
+ ${junit-jupiter.version}
+ test
+
org.junit.platform
junit-platform-engine
@@ -39,7 +45,7 @@
- 2.17.1
+ 2.19.0
\ No newline at end of file