diff --git a/core-groovy-collections/README.md b/core-groovy-collections/README.md
index 4afd214e7d..aae8be508e 100644
--- a/core-groovy-collections/README.md
+++ b/core-groovy-collections/README.md
@@ -5,4 +5,6 @@ This module contains articles about Groovy core collections
## Relevant articles:
- [Maps in Groovy](https://www.baeldung.com/groovy-maps)
-
+- [Finding Elements in Collections in Groovy](https://www.baeldung.com/groovy-collections-find-elements)
+- [Lists in Groovy](https://www.baeldung.com/groovy-lists)
+- [A Quick Guide to Iterating a Map in Groovy](https://www.baeldung.com/groovy-map-iterating)
diff --git a/core-groovy/src/test/groovy/com/baeldung/lists/ListUnitTest.groovy b/core-groovy-collections/src/test/groovy/com/baeldung/find/ListFindUnitTest.groovy
similarity index 95%
rename from core-groovy/src/test/groovy/com/baeldung/lists/ListUnitTest.groovy
rename to core-groovy-collections/src/test/groovy/com/baeldung/find/ListFindUnitTest.groovy
index 9617c099ce..82a2138be4 100644
--- a/core-groovy/src/test/groovy/com/baeldung/lists/ListUnitTest.groovy
+++ b/core-groovy-collections/src/test/groovy/com/baeldung/find/ListFindUnitTest.groovy
@@ -1,11 +1,11 @@
-package com.baeldung.lists
+package com.baeldung.find
-import com.baeldung.Person
+import com.baeldung.find.Person
import org.junit.Test
import static org.junit.Assert.*
-class ListUnitTest {
+class ListFindUnitTest {
private final personList = [
new Person("Regina", "Fitzpatrick", 25),
diff --git a/core-groovy/src/test/groovy/com/baeldung/map/MapUnitTest.groovy b/core-groovy-collections/src/test/groovy/com/baeldung/find/MapFindUnitTest.groovy
similarity index 53%
rename from core-groovy/src/test/groovy/com/baeldung/map/MapUnitTest.groovy
rename to core-groovy-collections/src/test/groovy/com/baeldung/find/MapFindUnitTest.groovy
index 0d6bbed04b..16e231182b 100644
--- a/core-groovy/src/test/groovy/com/baeldung/map/MapUnitTest.groovy
+++ b/core-groovy-collections/src/test/groovy/com/baeldung/find/MapFindUnitTest.groovy
@@ -1,11 +1,11 @@
-package com.baeldung.map
+package com.baeldung.find
-import com.baeldung.Person
+import com.baeldung.find.Person
import org.junit.Test
import static org.junit.Assert.*
-class MapUnitTest {
+class MapFindUnitTest {
private final personMap = [
Regina : new Person("Regina", "Fitzpatrick", 25),
@@ -13,84 +13,6 @@ class MapUnitTest {
Lucian : new Person("Lucian", "Walter", 30)
]
- @Test
- void whenUsingEach_thenMapIsIterated() {
- def map = [
- 'FF0000' : 'Red',
- '00FF00' : 'Lime',
- '0000FF' : 'Blue',
- 'FFFF00' : 'Yellow'
- ]
-
- map.each { println "Hex Code: $it.key = Color Name: $it.value" }
- }
-
- @Test
- void whenUsingEachWithEntry_thenMapIsIterated() {
- def map = [
- 'E6E6FA' : 'Lavender',
- 'D8BFD8' : 'Thistle',
- 'DDA0DD' : 'Plum',
- ]
-
- map.each { entry -> println "Hex Code: $entry.key = Color Name: $entry.value" }
- }
-
- @Test
- void whenUsingEachWithKeyAndValue_thenMapIsIterated() {
- def map = [
- '000000' : 'Black',
- 'FFFFFF' : 'White',
- '808080' : 'Gray'
- ]
-
- map.each { key, val ->
- println "Hex Code: $key = Color Name $val"
- }
- }
-
- @Test
- void whenUsingEachWithIndexAndEntry_thenMapIsIterated() {
- def map = [
- '800080' : 'Purple',
- '4B0082' : 'Indigo',
- '6A5ACD' : 'Slate Blue'
- ]
-
- map.eachWithIndex { entry, index ->
- def indent = ((index == 0 || index % 2 == 0) ? " " : "")
- println "$indent Hex Code: $entry.key = Color Name: $entry.value"
- }
- }
-
- @Test
- void whenUsingEachWithIndexAndKeyAndValue_thenMapIsIterated() {
- def map = [
- 'FFA07A' : 'Light Salmon',
- 'FF7F50' : 'Coral',
- 'FF6347' : 'Tomato',
- 'FF4500' : 'Orange Red'
- ]
-
- map.eachWithIndex { key, val, index ->
- def indent = ((index == 0 || index % 2 == 0) ? " " : "")
- println "$indent Hex Code: $key = Color Name: $val"
- }
- }
-
- @Test
- void whenUsingForLoop_thenMapIsIterated() {
- def map = [
- '2E8B57' : 'Seagreen',
- '228B22' : 'Forest Green',
- '008000' : 'Green'
- ]
-
- for (entry in map) {
- println "Hex Code: $entry.key = Color Name: $entry.value"
- }
- }
-
@Test
void whenMapContainsKeyElement_thenCheckReturnsTrue() {
def map = [a: 'd', b: 'e', c: 'f']
diff --git a/core-groovy/src/main/groovy/com/baeldung/Person.groovy b/core-groovy-collections/src/test/groovy/com/baeldung/find/Person.groovy
similarity index 96%
rename from core-groovy/src/main/groovy/com/baeldung/Person.groovy
rename to core-groovy-collections/src/test/groovy/com/baeldung/find/Person.groovy
index 6a009aeee0..e65826363a 100644
--- a/core-groovy/src/main/groovy/com/baeldung/Person.groovy
+++ b/core-groovy-collections/src/test/groovy/com/baeldung/find/Person.groovy
@@ -1,4 +1,4 @@
-package com.baeldung
+package com.baeldung.find
class Person {
private String firstname
diff --git a/core-groovy/src/test/groovy/com/baeldung/set/SetUnitTest.groovy b/core-groovy-collections/src/test/groovy/com/baeldung/find/SetFindUnitTest.groovy
similarity index 83%
rename from core-groovy/src/test/groovy/com/baeldung/set/SetUnitTest.groovy
rename to core-groovy-collections/src/test/groovy/com/baeldung/find/SetFindUnitTest.groovy
index 1248c9ac91..d2d03d5427 100644
--- a/core-groovy/src/test/groovy/com/baeldung/set/SetUnitTest.groovy
+++ b/core-groovy-collections/src/test/groovy/com/baeldung/find/SetFindUnitTest.groovy
@@ -1,10 +1,10 @@
-package com.baeldung.set
+package com.baeldung.find
import org.junit.Test
import static org.junit.Assert.assertTrue
-class SetUnitTest {
+class SetFindUnitTest {
@Test
void whenSetContainsElement_thenCheckReturnsTrue() {
diff --git a/core-groovy-collections/src/test/groovy/com/baeldung/iteratemap/IterateMapUnitTest.groovy b/core-groovy-collections/src/test/groovy/com/baeldung/iteratemap/IterateMapUnitTest.groovy
new file mode 100644
index 0000000000..970203ce85
--- /dev/null
+++ b/core-groovy-collections/src/test/groovy/com/baeldung/iteratemap/IterateMapUnitTest.groovy
@@ -0,0 +1,87 @@
+package com.baeldung.iteratemap
+
+import com.baeldung.find.Person
+import org.junit.Test
+
+import static org.junit.Assert.*
+
+class IterateMapUnitTest {
+
+ @Test
+ void whenUsingEach_thenMapIsIterated() {
+ def map = [
+ 'FF0000' : 'Red',
+ '00FF00' : 'Lime',
+ '0000FF' : 'Blue',
+ 'FFFF00' : 'Yellow'
+ ]
+
+ map.each { println "Hex Code: $it.key = Color Name: $it.value" }
+ }
+
+ @Test
+ void whenUsingEachWithEntry_thenMapIsIterated() {
+ def map = [
+ 'E6E6FA' : 'Lavender',
+ 'D8BFD8' : 'Thistle',
+ 'DDA0DD' : 'Plum',
+ ]
+
+ map.each { entry -> println "Hex Code: $entry.key = Color Name: $entry.value" }
+ }
+
+ @Test
+ void whenUsingEachWithKeyAndValue_thenMapIsIterated() {
+ def map = [
+ '000000' : 'Black',
+ 'FFFFFF' : 'White',
+ '808080' : 'Gray'
+ ]
+
+ map.each { key, val ->
+ println "Hex Code: $key = Color Name $val"
+ }
+ }
+
+ @Test
+ void whenUsingEachWithIndexAndEntry_thenMapIsIterated() {
+ def map = [
+ '800080' : 'Purple',
+ '4B0082' : 'Indigo',
+ '6A5ACD' : 'Slate Blue'
+ ]
+
+ map.eachWithIndex { entry, index ->
+ def indent = ((index == 0 || index % 2 == 0) ? " " : "")
+ println "$indent Hex Code: $entry.key = Color Name: $entry.value"
+ }
+ }
+
+ @Test
+ void whenUsingEachWithIndexAndKeyAndValue_thenMapIsIterated() {
+ def map = [
+ 'FFA07A' : 'Light Salmon',
+ 'FF7F50' : 'Coral',
+ 'FF6347' : 'Tomato',
+ 'FF4500' : 'Orange Red'
+ ]
+
+ map.eachWithIndex { key, val, index ->
+ def indent = ((index == 0 || index % 2 == 0) ? " " : "")
+ println "$indent Hex Code: $key = Color Name: $val"
+ }
+ }
+
+ @Test
+ void whenUsingForLoop_thenMapIsIterated() {
+ def map = [
+ '2E8B57' : 'Seagreen',
+ '228B22' : 'Forest Green',
+ '008000' : 'Green'
+ ]
+
+ for (entry in map) {
+ println "Hex Code: $entry.key = Color Name: $entry.value"
+ }
+ }
+}
diff --git a/core-groovy/src/test/groovy/com/baeldung/lists/ListTest.groovy b/core-groovy-collections/src/test/groovy/com/baeldung/lists/ListUnitTest.groovy
similarity index 98%
rename from core-groovy/src/test/groovy/com/baeldung/lists/ListTest.groovy
rename to core-groovy-collections/src/test/groovy/com/baeldung/lists/ListUnitTest.groovy
index 7771028132..e4c0a0c177 100644
--- a/core-groovy/src/test/groovy/com/baeldung/lists/ListTest.groovy
+++ b/core-groovy-collections/src/test/groovy/com/baeldung/lists/ListUnitTest.groovy
@@ -1,9 +1,9 @@
-package com.baeldung.groovy.lists
+package com.baeldung.lists
import static groovy.test.GroovyAssert.*
import org.junit.Test
-class ListTest{
+class ListUnitTest {
@Test
void testCreateList() {
diff --git a/core-groovy-collections/src/test/groovy/com/baeldung/map/MapTest.groovy b/core-groovy-collections/src/test/groovy/com/baeldung/maps/MapTest.groovy
similarity index 99%
rename from core-groovy-collections/src/test/groovy/com/baeldung/map/MapTest.groovy
rename to core-groovy-collections/src/test/groovy/com/baeldung/maps/MapTest.groovy
index c6105eb1c4..deb552c420 100644
--- a/core-groovy-collections/src/test/groovy/com/baeldung/map/MapTest.groovy
+++ b/core-groovy-collections/src/test/groovy/com/baeldung/maps/MapTest.groovy
@@ -1,4 +1,4 @@
-package com.baeldung.map;
+package com.baeldung.maps;
import static groovy.test.GroovyAssert.*
import org.junit.Test
diff --git a/core-groovy/README.md b/core-groovy/README.md
index 0f45eed879..25a0aece3a 100644
--- a/core-groovy/README.md
+++ b/core-groovy/README.md
@@ -8,11 +8,8 @@ This module contains articles about core Groovy concepts
- [Working with JSON in Groovy](https://www.baeldung.com/groovy-json)
- [Reading a File in Groovy](https://www.baeldung.com/groovy-file-read)
- [Types of Strings in Groovy](https://www.baeldung.com/groovy-strings)
-- [A Quick Guide to Iterating a Map in Groovy](https://www.baeldung.com/groovy-map-iterating)
- [An Introduction to Traits in Groovy](https://www.baeldung.com/groovy-traits)
- [Closures in Groovy](https://www.baeldung.com/groovy-closures)
-- [Finding Elements in Collections in Groovy](https://www.baeldung.com/groovy-collections-find-elements)
-- [Lists in Groovy](https://www.baeldung.com/groovy-lists)
- [Converting a String to a Date in Groovy](https://www.baeldung.com/groovy-string-to-date)
- [Guide to I/O in Groovy](https://www.baeldung.com/groovy-io)
- [[More -->]](/core-groovy-2)
\ No newline at end of file
diff --git a/core-groovy/src/test/groovy/com/baeldung/map/MapTest.groovy b/core-groovy/src/test/groovy/com/baeldung/map/MapTest.groovy
deleted file mode 100644
index f1d528207f..0000000000
--- a/core-groovy/src/test/groovy/com/baeldung/map/MapTest.groovy
+++ /dev/null
@@ -1,148 +0,0 @@
-package com.baeldung.groovy.map;
-
-import static groovy.test.GroovyAssert.*
-import org.junit.Test
-
-class MapTest{
-
- @Test
- void createMap() {
-
- def emptyMap = [:]
- assertNotNull(emptyMap)
-
- assertTrue(emptyMap instanceof java.util.LinkedHashMap)
-
- def map = [name:"Jerry", age: 42, city: "New York"]
- assertTrue(map.size() == 3)
- }
-
- @Test
- void addItemsToMap() {
-
- def map = [name:"Jerry"]
-
- map["age"] = 42
-
- map.city = "New York"
-
- def hobbyLiteral = "hobby"
- def hobbyMap = [(hobbyLiteral): "Singing"]
- map.putAll(hobbyMap)
-
- assertTrue(map == [name:"Jerry", age: 42, city: "New York", hobby:"Singing"])
- assertTrue(hobbyMap.hobby == "Singing")
- assertTrue(hobbyMap[hobbyLiteral] == "Singing")
-
- map.plus([1:20]) // returns new map
-
- map << [2:30]
-
- }
-
- @Test
- void getItemsFromMap() {
-
- def map = [name:"Jerry", age: 42, city: "New York", hobby:"Singing"]
-
- assertTrue(map["name"] == "Jerry")
-
- assertTrue(map.name == "Jerry")
-
- def propertyAge = "age"
- assertTrue(map[propertyAge] == 42)
- }
-
- @Test
- void removeItemsFromMap() {
-
- def map = [1:20, a:30, 2:42, 4:34, ba:67, 6:39, 7:49]
-
- def minusMap = map.minus([2:42, 4:34]);
- assertTrue(minusMap == [1:20, a:30, ba:67, 6:39, 7:49])
-
- minusMap.removeAll{it -> it.key instanceof String}
- assertTrue( minusMap == [ 1:20, 6:39, 7:49])
-
- minusMap.retainAll{it -> it.value %2 == 0}
- assertTrue( minusMap == [1:20])
- }
-
- @Test
- void iteratingOnMaps(){
- def map = [name:"Jerry", age: 42, city: "New York", hobby:"Singing"]
-
- map.each{ entry -> println "$entry.key: $entry.value" }
-
- map.eachWithIndex{ entry, i -> println "$i $entry.key: $entry.value" }
-
- map.eachWithIndex{ key, value, i -> println "$i $key: $value" }
- }
-
- @Test
- void filteringAndSearchingMaps(){
- def map = [name:"Jerry", age: 42, city: "New York", hobby:"Singing"]
-
- assertTrue(map.find{ it.value == "New York"}.key == "city")
-
- assertTrue(map.findAll{ it.value == "New York"} == [city : "New York"])
-
- map.grep{it.value == "New York"}.each{ it -> assertTrue(it.key == "city" && it.value == "New York")}
-
- assertTrue(map.every{it -> it.value instanceof String} == false)
-
- assertTrue(map.any{it -> it.value instanceof String} == true)
- }
-
- @Test
- void collect(){
-
- def map = [1: [name:"Jerry", age: 42, city: "New York"],
- 2: [name:"Long", age: 25, city: "New York"],
- 3: [name:"Dustin", age: 29, city: "New York"],
- 4: [name:"Dustin", age: 34, city: "New York"]]
-
- def names = map.collect{entry -> entry.value.name} // returns only list
- assertTrue(names == ["Jerry", "Long", "Dustin", "Dustin"])
-
- def uniqueNames = map.collect([] as HashSet){entry -> entry.value.name}
- assertTrue(uniqueNames == ["Jerry", "Long", "Dustin"] as Set)
-
- def idNames = map.collectEntries{key, value -> [key, value.name]}
- assertTrue(idNames == [1:"Jerry", 2: "Long", 3:"Dustin", 4: "Dustin"])
-
- def below30Names = map.findAll{it.value.age < 30}.collect{key, value -> value.name}
- assertTrue(below30Names == ["Long", "Dustin"])
-
-
- }
-
- @Test
- void group(){
- def map = [1:20, 2: 40, 3: 11, 4: 93]
-
- def subMap = map.groupBy{it.value % 2}
- println subMap
- assertTrue(subMap == [0:[1:20, 2:40 ], 1:[3:11, 4:93]])
-
- def keySubMap = map.subMap([1, 2])
- assertTrue(keySubMap == [1:20, 2:40])
-
- }
-
- @Test
- void sorting(){
- def map = [ab:20, a: 40, cb: 11, ba: 93]
-
- def naturallyOrderedMap = map.sort()
- assertTrue([a:40, ab:20, ba:93, cb:11] == naturallyOrderedMap)
-
- def compSortedMap = map.sort({ k1, k2 -> k1 <=> k2 } as Comparator)
- assertTrue([a:40, ab:20, ba:93, cb:11] == compSortedMap)
-
- def cloSortedMap = map.sort({ it1, it2 -> it1.value <=> it1.value })
- assertTrue([cb:11, ab:20, a:40, ba:93] == cloSortedMap)
-
- }
-
-}
diff --git a/core-java-modules/core-java-io/pom.xml b/core-java-modules/core-java-io/pom.xml
index c3c48ba679..3478f71286 100644
--- a/core-java-modules/core-java-io/pom.xml
+++ b/core-java-modules/core-java-io/pom.xml
@@ -50,6 +50,12 @@
jmimemagic
${jmime-magic.version}
+
+
+ com.sun.messaging.mq
+ fscontext
+ ${fscontext.version}
+
@@ -154,7 +160,7 @@
1.18
0.1.5
3.1.0
-
+ 4.4.2
\ No newline at end of file
diff --git a/core-java-modules/core-java-jvm/README.md b/core-java-modules/core-java-jvm/README.md
index a1a57c83c5..89600ad924 100644
--- a/core-java-modules/core-java-jvm/README.md
+++ b/core-java-modules/core-java-jvm/README.md
@@ -1,8 +1,12 @@
-=========
-
## Core Java JVM Cookbooks and Examples
+This module contains articles about working with the Java Virtual Machine (JVM).
+
### Relevant Articles:
+
- [Method Inlining in the JVM](https://www.baeldung.com/jvm-method-inlining)
+- [JVM Log Forging](https://www.baeldung.com/jvm-log-forging)
+- [Guide to Java Instrumentation](https://www.baeldung.com/java-instrumentation)
+- [Class Loaders in Java](https://www.baeldung.com/java-classloaders)
- [A Guide to System.exit()](https://www.baeldung.com/java-system-exit)
- [Guide to System.gc()](https://www.baeldung.com/java-system-gc)
diff --git a/core-java-modules/core-java-jvm/pom.xml b/core-java-modules/core-java-jvm/pom.xml
index 8e8271f09b..74960820d7 100644
--- a/core-java-modules/core-java-jvm/pom.xml
+++ b/core-java-modules/core-java-jvm/pom.xml
@@ -13,4 +13,49 @@
../../
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+ org.javassist
+ javassist
+ ${javaassist.version}
+
+
+ org.owasp.esapi
+ esapi
+ ${esapi.version}
+
+
+ com.sun
+ tools
+ ${sun.tools.version}
+ system
+ ${java.home}/../lib/tools.jar
+
+
+
+
+
+ 3.6.1
+
+ 3.21.0-GA
+ 2.1.0.1
+ 1.8.0
+
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/classloader/CustomClassLoader.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/classloader/CustomClassLoader.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/classloader/CustomClassLoader.java
rename to core-java-modules/core-java-jvm/src/main/java/com/baeldung/classloader/CustomClassLoader.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/classloader/PrintClassLoader.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/classloader/PrintClassLoader.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/classloader/PrintClassLoader.java
rename to core-java-modules/core-java-jvm/src/main/java/com/baeldung/classloader/PrintClassLoader.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/agent/AtmTransformer.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/agent/AtmTransformer.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/agent/AtmTransformer.java
rename to core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/agent/AtmTransformer.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/agent/MyInstrumentationAgent.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/agent/MyInstrumentationAgent.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/agent/MyInstrumentationAgent.java
rename to core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/agent/MyInstrumentationAgent.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/application/AgentLoader.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/application/AgentLoader.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/application/AgentLoader.java
rename to core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/application/AgentLoader.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/application/Launcher.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/application/Launcher.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/application/Launcher.java
rename to core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/application/Launcher.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/application/MyAtm.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/application/MyAtm.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/application/MyAtm.java
rename to core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/application/MyAtm.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/application/MyAtmApplication.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/application/MyAtmApplication.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/instrumentation/application/MyAtmApplication.java
rename to core-java-modules/core-java-jvm/src/main/java/com/baeldung/instrumentation/application/MyAtmApplication.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/logforging/LogForgingDemo.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/logforging/LogForgingDemo.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/logforging/LogForgingDemo.java
rename to core-java-modules/core-java-jvm/src/main/java/com/baeldung/logforging/LogForgingDemo.java
diff --git a/core-java-modules/core-java/src/main/resources/ESAPI.properties b/core-java-modules/core-java-jvm/src/main/resources/ESAPI.properties
similarity index 100%
rename from core-java-modules/core-java/src/main/resources/ESAPI.properties
rename to core-java-modules/core-java-jvm/src/main/resources/ESAPI.properties
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/classloader/CustomClassLoaderUnitTest.java b/core-java-modules/core-java-jvm/src/test/java/com/baeldung/classloader/CustomClassLoaderUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/classloader/CustomClassLoaderUnitTest.java
rename to core-java-modules/core-java-jvm/src/test/java/com/baeldung/classloader/CustomClassLoaderUnitTest.java
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/classloader/PrintClassLoaderUnitTest.java b/core-java-modules/core-java-jvm/src/test/java/com/baeldung/classloader/PrintClassLoaderUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/classloader/PrintClassLoaderUnitTest.java
rename to core-java-modules/core-java-jvm/src/test/java/com/baeldung/classloader/PrintClassLoaderUnitTest.java
diff --git a/core-java-modules/core-java-os/README.md b/core-java-modules/core-java-os/README.md
index 9205628a87..f2ec3f9d48 100644
--- a/core-java-modules/core-java-os/README.md
+++ b/core-java-modules/core-java-os/README.md
@@ -3,9 +3,14 @@
This module contains articles about working with the operating system (OS) in Java
### Relevant Articles:
+
- [Java 9 Process API Improvements](http://www.baeldung.com/java-9-process-api)
- [Guide to java.lang.Process API](https://www.baeldung.com/java-process-api)
- [Guide to java.lang.ProcessBuilder API](https://www.baeldung.com/java-lang-processbuilder-api)
- [Get the Current Working Directory in Java](https://www.baeldung.com/java-current-directory)
+- [How to Detect the OS Using Java](http://www.baeldung.com/java-detect-os)
+- [How to Print Screen in Java](http://www.baeldung.com/print-screen-in-java)
+- [Pattern Search with Grep in Java](http://www.baeldung.com/grep-in-java)
+- [How to Run a Shell Command in Java](http://www.baeldung.com/run-shell-command-in-java)
This module uses Java 9, so make sure to have the JDK 9 installed to run it.
\ No newline at end of file
diff --git a/core-java-modules/core-java-os/pom.xml b/core-java-modules/core-java-os/pom.xml
index 8c5f7fe1e9..f09b62ebf2 100644
--- a/core-java-modules/core-java-os/pom.xml
+++ b/core-java-modules/core-java-os/pom.xml
@@ -42,6 +42,16 @@
${assertj.version}
test
+
+ org.unix4j
+ unix4j-command
+ ${unix4j.version}
+
+
+ com.googlecode.grep4j
+ grep4j
+ ${grep4j.version}
+
@@ -77,5 +87,7 @@
1.9
1.9
25.1-jre
+ 0.4
+ 1.8.7
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/printscreen/Screenshot.java b/core-java-modules/core-java-os/src/main/java/com/baeldung/printscreen/Screenshot.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/printscreen/Screenshot.java
rename to core-java-modules/core-java-os/src/main/java/com/baeldung/printscreen/Screenshot.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/system/DetectOS.java b/core-java-modules/core-java-os/src/main/java/com/baeldung/system/DetectOS.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/system/DetectOS.java
rename to core-java-modules/core-java-os/src/main/java/com/baeldung/system/DetectOS.java
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/grep/GrepWithUnix4JIntegrationTest.java b/core-java-modules/core-java-os/src/test/java/com/baeldung/grep/GrepWithUnix4JIntegrationTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/grep/GrepWithUnix4JIntegrationTest.java
rename to core-java-modules/core-java-os/src/test/java/com/baeldung/grep/GrepWithUnix4JIntegrationTest.java
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/printscreen/ScreenshotLiveTest.java b/core-java-modules/core-java-os/src/test/java/com/baeldung/printscreen/ScreenshotLiveTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/printscreen/ScreenshotLiveTest.java
rename to core-java-modules/core-java-os/src/test/java/com/baeldung/printscreen/ScreenshotLiveTest.java
diff --git a/core-java-modules/core-java/src/test/java/org/baeldung/java/shell/JavaProcessUnitIntegrationTest.java b/core-java-modules/core-java-os/src/test/java/com/baeldung/shell/JavaProcessUnitIntegrationTest.java
similarity index 98%
rename from core-java-modules/core-java/src/test/java/org/baeldung/java/shell/JavaProcessUnitIntegrationTest.java
rename to core-java-modules/core-java-os/src/test/java/com/baeldung/shell/JavaProcessUnitIntegrationTest.java
index efd7dda70f..53e9364207 100644
--- a/core-java-modules/core-java/src/test/java/org/baeldung/java/shell/JavaProcessUnitIntegrationTest.java
+++ b/core-java-modules/core-java-os/src/test/java/com/baeldung/shell/JavaProcessUnitIntegrationTest.java
@@ -1,4 +1,4 @@
-package org.baeldung.java.shell;
+package com.baeldung.java.shell;
import org.junit.Assert;
import org.junit.Test;
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/system/WhenDetectingOSUnitTest.java b/core-java-modules/core-java-os/src/test/java/com/baeldung/system/WhenDetectingOSUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/system/WhenDetectingOSUnitTest.java
rename to core-java-modules/core-java-os/src/test/java/com/baeldung/system/WhenDetectingOSUnitTest.java
diff --git a/core-java-modules/core-java/README.md b/core-java-modules/core-java/README.md
index 669f3851d4..41275f6367 100644
--- a/core-java-modules/core-java/README.md
+++ b/core-java-modules/core-java/README.md
@@ -1,18 +1,12 @@
-=========
-
## Core Java Cookbooks and Examples
### Relevant Articles:
- [Java Timer](http://www.baeldung.com/java-timer-and-timertask)
-- [How to Run a Shell Command in Java](http://www.baeldung.com/run-shell-command-in-java)
-- [How to Print Screen in Java](http://www.baeldung.com/print-screen-in-java)
- [A Guide To Java Regular Expressions API](http://www.baeldung.com/regular-expressions-java)
- [Getting Started with Java Properties](http://www.baeldung.com/java-properties)
-- [Pattern Search with Grep in Java](http://www.baeldung.com/grep-in-java)
- [How to Create an Executable JAR with Maven](http://www.baeldung.com/executable-jar-with-maven)
- [Introduction to Nashorn](http://www.baeldung.com/java-nashorn)
- [Java Money and the Currency API](http://www.baeldung.com/java-money-and-currency)
-- [JVM Log Forging](http://www.baeldung.com/jvm-log-forging)
- [How to Add a Single Element to a Stream](http://www.baeldung.com/java-stream-append-prepend)
- [How to Find all Getters Returning Null](http://www.baeldung.com/java-getters-returning-null)
- [How to Get a Name of a Method Being Executed?](http://www.baeldung.com/java-name-of-executing-method)
@@ -24,15 +18,12 @@
- [Compiling Java *.class Files with javac](http://www.baeldung.com/javac)
- [Introduction to Javadoc](http://www.baeldung.com/javadoc)
- [Guide to the Externalizable Interface in Java](http://www.baeldung.com/java-externalizable)
-- [How to Detect the OS Using Java](http://www.baeldung.com/java-detect-os)
- [ASCII Art in Java](http://www.baeldung.com/ascii-art-in-java)
- [What is the serialVersionUID?](http://www.baeldung.com/java-serial-version-uid)
- [A Guide to the ResourceBundle](http://www.baeldung.com/java-resourcebundle)
-- [Class Loaders in Java](http://www.baeldung.com/java-classloaders)
- [Importance of Main Manifest Attribute in a Self-Executing JAR](http://www.baeldung.com/java-jar-executable-manifest-main-class)
- [Java Global Exception Handler](http://www.baeldung.com/java-global-exception-handler)
- [How to Get the Size of an Object in Java](http://www.baeldung.com/java-size-of-object)
-- [Guide to Java Instrumentation](http://www.baeldung.com/java-instrumentation)
- [Common Java Exceptions](http://www.baeldung.com/java-common-exceptions)
- [Throw Exception in Optional in Java 8](https://www.baeldung.com/java-optional-throw-exception)
- [Merging java.util.Properties Objects](https://www.baeldung.com/java-merging-properties)
diff --git a/core-java-modules/core-java/pom.xml b/core-java-modules/core-java/pom.xml
index 392bcaa6dc..9d4bee081e 100644
--- a/core-java-modules/core-java/pom.xml
+++ b/core-java-modules/core-java/pom.xml
@@ -60,24 +60,6 @@
moneta
${javamoney.moneta.version}
-
- org.owasp.esapi
- esapi
- ${esapi.version}
-
-
-
- org.javassist
- javassist
- ${javaassist.version}
-
-
- com.sun
- tools
- ${sun.tools.version}
- system
- ${java.home}/../lib/tools.jar
-
@@ -401,24 +383,18 @@
0.4
1.8.7
-
+
3.10.0
-
+
1.1
- 2.1.0.1
-
+
3.0.0-M1
3.0.2
1.4.4
3.1.1
2.0.3.RELEASE
1.6.0
-
-
- 3.21.0-GA
-
- 1.8.0
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/printscreen/README.md b/core-java-modules/core-java/src/main/java/com/baeldung/printscreen/README.md
deleted file mode 100644
index 7b3b40c102..0000000000
--- a/core-java-modules/core-java/src/main/java/com/baeldung/printscreen/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-### Relevant Articles:
-- [How to Print Screen in Java](http://www.baeldung.com/print-screen-in-java)
diff --git a/java-collections-conversions-2/README.md b/java-collections-conversions-2/README.md
new file mode 100644
index 0000000000..761e56253e
--- /dev/null
+++ b/java-collections-conversions-2/README.md
@@ -0,0 +1,7 @@
+## Java Collections Cookbooks and Examples
+
+This module contains articles about conversions among Collection types and arrays in Java.
+
+### Relevant Articles:
+- [Array to String Conversions](https://www.baeldung.com/java-array-to-string)
+- More articles: [[<-- prev]](../java-collections-conversions)
\ No newline at end of file
diff --git a/java-collections-conversions-2/pom.xml b/java-collections-conversions-2/pom.xml
new file mode 100644
index 0000000000..72673527ac
--- /dev/null
+++ b/java-collections-conversions-2/pom.xml
@@ -0,0 +1,36 @@
+
+ 4.0.0
+ java-collections-conversions-2
+ 0.1.0-SNAPSHOT
+ java-collections-conversions-2
+ jar
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../parent-java
+
+
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+
+
+ java-collections-conversions-2
+
+
+ src/main/resources
+ true
+
+
+
+
+
+
+
diff --git a/java-collections-conversions/src/test/java/org/baeldung/convertarraytostring/ArrayToStringUnitTest.java b/java-collections-conversions-2/src/test/java/com/baeldung/convertarraytostring/ArrayToStringUnitTest.java
similarity index 98%
rename from java-collections-conversions/src/test/java/org/baeldung/convertarraytostring/ArrayToStringUnitTest.java
rename to java-collections-conversions-2/src/test/java/com/baeldung/convertarraytostring/ArrayToStringUnitTest.java
index b563475997..73cf9d6baa 100644
--- a/java-collections-conversions/src/test/java/org/baeldung/convertarraytostring/ArrayToStringUnitTest.java
+++ b/java-collections-conversions-2/src/test/java/com/baeldung/convertarraytostring/ArrayToStringUnitTest.java
@@ -1,15 +1,14 @@
-package org.baeldung.convertarraytostring;
+package com.baeldung.convertarraytostring;
+
+import com.google.common.base.Joiner;
+import com.google.common.base.Splitter;
+import org.apache.commons.lang3.StringUtils;
+import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
-import org.apache.commons.lang3.StringUtils;
-import org.junit.Test;
-
-import com.google.common.base.Joiner;
-import com.google.common.base.Splitter;
-
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
diff --git a/java-collections-conversions/README.md b/java-collections-conversions/README.md
index 6d4f6ddb3a..2d3aa41f2d 100644
--- a/java-collections-conversions/README.md
+++ b/java-collections-conversions/README.md
@@ -9,8 +9,8 @@ This module contains articles about conversions among Collection types and array
- [Convert a Map to an Array, List or Set in Java](https://www.baeldung.com/convert-map-values-to-array-list-set)
- [Converting a List to String in Java](https://www.baeldung.com/java-list-to-string)
- [How to Convert List to Map in Java](https://www.baeldung.com/java-list-to-map)
-- [Array to String Conversions](https://www.baeldung.com/java-array-to-string)
- [Converting a Collection to ArrayList in Java](https://www.baeldung.com/java-convert-collection-arraylist)
- [Java 8 Collectors toMap](https://www.baeldung.com/java-collectors-tomap)
- [Converting Iterable to Collection in Java](https://www.baeldung.com/java-iterable-to-collection)
- [Converting Iterator to List](https://www.baeldung.com/java-convert-iterator-to-list)
+- More articles: [[next -->]](../java-collections-conversions-2)
\ No newline at end of file
diff --git a/java-collections-conversions/pom.xml b/java-collections-conversions/pom.xml
index 24d918d105..b5ab4f841a 100644
--- a/java-collections-conversions/pom.xml
+++ b/java-collections-conversions/pom.xml
@@ -32,6 +32,16 @@
+
+ java-collections-conversions-2
+
+
+ src/main/resources
+ true
+
+
+
+
4.1
3.6.1
diff --git a/java-collections-conversions/src/test/java/com/baeldung/convertcollectiontoarraylist/FooUnitTest.java b/java-collections-conversions/src/test/java/com/baeldung/convertcollectiontoarraylist/CollectionToArrayListUnitTest.java
similarity index 97%
rename from java-collections-conversions/src/test/java/com/baeldung/convertcollectiontoarraylist/FooUnitTest.java
rename to java-collections-conversions/src/test/java/com/baeldung/convertcollectiontoarraylist/CollectionToArrayListUnitTest.java
index 1de600aebf..ad2ab2a756 100644
--- a/java-collections-conversions/src/test/java/com/baeldung/convertcollectiontoarraylist/FooUnitTest.java
+++ b/java-collections-conversions/src/test/java/com/baeldung/convertcollectiontoarraylist/CollectionToArrayListUnitTest.java
@@ -14,10 +14,10 @@ import static org.junit.Assert.*;
*
* @author chris
*/
-public class FooUnitTest {
+public class CollectionToArrayListUnitTest {
private static Collection srcCollection = new HashSet<>();
- public FooUnitTest() {
+ public CollectionToArrayListUnitTest() {
}
@BeforeClass
diff --git a/java-collections-conversions/src/test/java/com/baeldung/convert/iteratortolist/ConvertIteratorToListServiceUnitTest.java b/java-collections-conversions/src/test/java/com/baeldung/convertiteratortolist/ConvertIteratorToListServiceUnitTest.java
similarity index 98%
rename from java-collections-conversions/src/test/java/com/baeldung/convert/iteratortolist/ConvertIteratorToListServiceUnitTest.java
rename to java-collections-conversions/src/test/java/com/baeldung/convertiteratortolist/ConvertIteratorToListServiceUnitTest.java
index ced2ddcfc0..4d6cba7d27 100644
--- a/java-collections-conversions/src/test/java/com/baeldung/convert/iteratortolist/ConvertIteratorToListServiceUnitTest.java
+++ b/java-collections-conversions/src/test/java/com/baeldung/convertiteratortolist/ConvertIteratorToListServiceUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.convert.iteratortolist;
+package com.baeldung.convertiteratortolist;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
diff --git a/java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDiplicatedIdToMapServiceUnitTest.java b/java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDuplicatedIdToMapServiceUnitTest.java
similarity index 96%
rename from java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDiplicatedIdToMapServiceUnitTest.java
rename to java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDuplicatedIdToMapServiceUnitTest.java
index 6e766433d1..5e6828a3d5 100644
--- a/java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDiplicatedIdToMapServiceUnitTest.java
+++ b/java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDuplicatedIdToMapServiceUnitTest.java
@@ -11,7 +11,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.hasSize;
-public class ConvertListWithDiplicatedIdToMapServiceUnitTest {
+public class ConvertListWithDuplicatedIdToMapServiceUnitTest {
List duplicatedIdList;
private ConvertListToMapService convertListService = new ConvertListToMapService();
diff --git a/java-collections-conversions/src/test/java/org/baeldung/java/collections/JavaCollectionConversionUnitTest.java b/java-collections-conversions/src/test/java/com/baeldung/java/collections/JavaCollectionConversionUnitTest.java
similarity index 99%
rename from java-collections-conversions/src/test/java/org/baeldung/java/collections/JavaCollectionConversionUnitTest.java
rename to java-collections-conversions/src/test/java/com/baeldung/java/collections/JavaCollectionConversionUnitTest.java
index a5f684a141..4977c122e7 100644
--- a/java-collections-conversions/src/test/java/org/baeldung/java/collections/JavaCollectionConversionUnitTest.java
+++ b/java-collections-conversions/src/test/java/com/baeldung/java/collections/JavaCollectionConversionUnitTest.java
@@ -1,4 +1,4 @@
-package org.baeldung.java.collections;
+package com.baeldung.java.collections;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/java-collections-conversions/src/test/java/org/baeldung/java/lists/ListToSTring.java b/java-collections-conversions/src/test/java/com/baeldung/java/lists/ListToStringUnitTest.java
similarity index 91%
rename from java-collections-conversions/src/test/java/org/baeldung/java/lists/ListToSTring.java
rename to java-collections-conversions/src/test/java/com/baeldung/java/lists/ListToStringUnitTest.java
index 3fc26bcb51..0fdc096d14 100644
--- a/java-collections-conversions/src/test/java/org/baeldung/java/lists/ListToSTring.java
+++ b/java-collections-conversions/src/test/java/com/baeldung/java/lists/ListToStringUnitTest.java
@@ -1,4 +1,4 @@
-package org.baeldung.java.lists;
+package com.baeldung.java.lists;
import java.util.Arrays;
import java.util.List;
@@ -7,7 +7,7 @@ import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
-public class ListToSTring {
+public class ListToStringUnitTest {
@Test
public void whenListToString_thenPrintDefault() {
diff --git a/java-strings-ops/src/main/java/com/baeldung/string/AppendCharAtPositionX.java b/java-strings-ops/src/main/java/com/baeldung/string/AppendCharAtPositionX.java
index bebffe52f1..ad203ab348 100644
--- a/java-strings-ops/src/main/java/com/baeldung/string/AppendCharAtPositionX.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/AppendCharAtPositionX.java
@@ -8,7 +8,7 @@ package com.baeldung.string;
*
*/
public class AppendCharAtPositionX {
-
+
public String addCharUsingCharArray(String str, char ch, int position) {
validate(str, position);
int len = str.length();
@@ -30,15 +30,14 @@ public class AppendCharAtPositionX {
sb.insert(position, ch);
return sb.toString();
}
-
+
private void validate(String str, int position) {
if (str == null) {
throw new IllegalArgumentException("Str should not be null");
}
int len = str.length();
if (position < 0 || position > len) {
- throw new IllegalArgumentException("position[" + position + "] should be "
- + "in the range 0.." + len + " for string " + str);
+ throw new IllegalArgumentException("position[" + position + "] should be " + "in the range 0.." + len + " for string " + str);
}
}
diff --git a/java-strings-ops/src/main/java/com/baeldung/string/StringHelper.java b/java-strings-ops/src/main/java/com/baeldung/string/StringHelper.java
index a9cc71d36a..dac0d1272e 100644
--- a/java-strings-ops/src/main/java/com/baeldung/string/StringHelper.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/StringHelper.java
@@ -12,10 +12,15 @@ class StringHelper {
}
static String removeLastCharOptional(String s) {
- return Optional.ofNullable(s).filter(str -> str.length() != 0).map(str -> str.substring(0, str.length() - 1)).orElse(s);
+ return Optional.ofNullable(s)
+ .filter(str -> str.length() != 0)
+ .map(str -> str.substring(0, str.length() - 1))
+ .orElse(s);
}
static String removeLastCharRegexOptional(String s) {
- return Optional.ofNullable(s).map(str -> str.replaceAll(".$", "")).orElse(s);
+ return Optional.ofNullable(s)
+ .map(str -> str.replaceAll(".$", ""))
+ .orElse(s);
}
}
diff --git a/java-strings/src/main/java/com/baeldung/stringisnumeric/Benchmarking.java b/java-strings-ops/src/main/java/com/baeldung/string/isnumeric/Benchmarking.java
similarity index 85%
rename from java-strings/src/main/java/com/baeldung/stringisnumeric/Benchmarking.java
rename to java-strings-ops/src/main/java/com/baeldung/string/isnumeric/Benchmarking.java
index 4ae1f5aa83..c4e2742da6 100644
--- a/java-strings/src/main/java/com/baeldung/stringisnumeric/Benchmarking.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/isnumeric/Benchmarking.java
@@ -1,4 +1,4 @@
-package com.baeldung.stringisnumeric;
+package com.baeldung.string.isnumeric;
import java.util.concurrent.TimeUnit;
@@ -13,13 +13,11 @@ import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
-
public class Benchmarking {
public static void main(String[] args) throws RunnerException {
- Options opt = new OptionsBuilder()
- .include(Benchmarking.class.getSimpleName())
- .forks(1)
- .build();
+ Options opt = new OptionsBuilder().include(Benchmarking.class.getSimpleName())
+ .forks(1)
+ .build();
new Runner(opt).run();
}
@@ -28,45 +26,45 @@ public class Benchmarking {
public static class ExecutionPlan {
public String number = Integer.toString(Integer.MAX_VALUE);
public boolean isNumber = false;
- public IsNumeric isNumeric= new IsNumeric();
+ public IsNumeric isNumeric = new IsNumeric();
}
-
- @Benchmark
+
+ @Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void usingCoreJava(ExecutionPlan plan) {
plan.isNumber = plan.isNumeric.usingCoreJava(plan.number);
}
-
- @Benchmark
+
+ @Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void usingRegularExpressions(ExecutionPlan plan) {
plan.isNumber = plan.isNumeric.usingRegularExpressions(plan.number);
}
-
- @Benchmark
+
+ @Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void usingNumberUtils_isCreatable(ExecutionPlan plan) {
plan.isNumber = plan.isNumeric.usingNumberUtils_isCreatable(plan.number);
}
-
- @Benchmark
+
+ @Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void usingNumberUtils_isParsable(ExecutionPlan plan) {
plan.isNumber = plan.isNumeric.usingNumberUtils_isParsable(plan.number);
}
-
- @Benchmark
+
+ @Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void usingStringUtils_isNumeric(ExecutionPlan plan) {
plan.isNumber = plan.isNumeric.usingStringUtils_isNumeric(plan.number);
}
-
- @Benchmark
+
+ @Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void usingStringUtils_isNumericSpace(ExecutionPlan plan) {
diff --git a/java-strings/src/main/java/com/baeldung/string/checkinputs/CheckIntegerInput.java b/java-strings-ops/src/main/java/com/baeldung/string/isnumeric/CheckIntegerInput.java
similarity index 89%
rename from java-strings/src/main/java/com/baeldung/string/checkinputs/CheckIntegerInput.java
rename to java-strings-ops/src/main/java/com/baeldung/string/isnumeric/CheckIntegerInput.java
index 9462244bbb..2785df0c9b 100644
--- a/java-strings/src/main/java/com/baeldung/string/checkinputs/CheckIntegerInput.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/isnumeric/CheckIntegerInput.java
@@ -1,14 +1,13 @@
-package com.baeldung.string.checkinputs;
+package com.baeldung.string.isnumeric;
import java.util.Scanner;
public class CheckIntegerInput {
public static void main(String[] args) {
-
try (Scanner scanner = new Scanner(System.in)) {
System.out.println("Enter an integer : ");
-
+
if (scanner.hasNextInt()) {
System.out.println("You entered : " + scanner.nextInt());
} else {
diff --git a/java-strings/src/main/java/com/baeldung/stringisnumeric/IsNumeric.java b/java-strings-ops/src/main/java/com/baeldung/string/isnumeric/IsNumeric.java
similarity index 88%
rename from java-strings/src/main/java/com/baeldung/stringisnumeric/IsNumeric.java
rename to java-strings-ops/src/main/java/com/baeldung/string/isnumeric/IsNumeric.java
index c438071e42..508cedd168 100644
--- a/java-strings/src/main/java/com/baeldung/stringisnumeric/IsNumeric.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/isnumeric/IsNumeric.java
@@ -1,4 +1,4 @@
-package com.baeldung.stringisnumeric;
+package com.baeldung.string.isnumeric;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
@@ -6,29 +6,29 @@ import org.apache.commons.lang3.math.NumberUtils;
public class IsNumeric {
public boolean usingCoreJava(String strNum) {
try {
- double d = Double.parseDouble(strNum);
+ Double.parseDouble(strNum);
} catch (NumberFormatException | NullPointerException nfe) {
return false;
}
return true;
}
-
+
public boolean usingRegularExpressions(String strNum) {
return strNum.matches("-?\\d+(\\.\\d+)?");
}
-
+
public boolean usingNumberUtils_isCreatable(String strNum) {
return NumberUtils.isCreatable(strNum);
}
-
+
public boolean usingNumberUtils_isParsable(String strNum) {
return NumberUtils.isParsable(strNum);
}
-
+
public boolean usingStringUtils_isNumeric(String strNum) {
return StringUtils.isNumeric(strNum);
}
-
+
public boolean usingStringUtils_isNumericSpace(String strNum) {
return StringUtils.isNumericSpace(strNum);
}
diff --git a/java-strings/src/main/java/com/baeldung/stringisnumeric/IsNumericDriver.java b/java-strings-ops/src/main/java/com/baeldung/string/isnumeric/IsNumericDriver.java
similarity index 60%
rename from java-strings/src/main/java/com/baeldung/stringisnumeric/IsNumericDriver.java
rename to java-strings-ops/src/main/java/com/baeldung/string/isnumeric/IsNumericDriver.java
index c0a6edae50..bb3c96c06e 100644
--- a/java-strings/src/main/java/com/baeldung/stringisnumeric/IsNumericDriver.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/isnumeric/IsNumericDriver.java
@@ -1,34 +1,31 @@
-package com.baeldung.stringisnumeric;
+package com.baeldung.string.isnumeric;
import org.apache.log4j.Logger;
public class IsNumericDriver {
- private static IsNumeric isNumeric;
private static Logger LOG = Logger.getLogger(IsNumericDriver.class);
- static {
- isNumeric =new IsNumeric();
-
- }
-
+
+ private static IsNumeric isNumeric = new IsNumeric();
+
public static void main(String[] args) {
LOG.info("Testing all methods...");
-
+
boolean res = isNumeric.usingCoreJava("1001");
LOG.info("Using Core Java : " + res);
-
+
res = isNumeric.usingRegularExpressions("1001");
LOG.info("Using Regular Expressions : " + res);
-
- res =isNumeric.usingNumberUtils_isCreatable("1001");
+
+ res = isNumeric.usingNumberUtils_isCreatable("1001");
LOG.info("Using NumberUtils.isCreatable : " + res);
-
- res =isNumeric.usingNumberUtils_isParsable("1001");
+
+ res = isNumeric.usingNumberUtils_isParsable("1001");
LOG.info("Using NumberUtils.isParsable : " + res);
-
- res =isNumeric.usingStringUtils_isNumeric("1001");
+
+ res = isNumeric.usingStringUtils_isNumeric("1001");
LOG.info("Using StringUtils.isNumeric : " + res);
-
- res =isNumeric.usingStringUtils_isNumericSpace("1001");
+
+ res = isNumeric.usingStringUtils_isNumericSpace("1001");
LOG.info("Using StringUtils.isNumericSpace : " + res);
}
}
diff --git a/java-strings-ops/src/main/java/com/baeldung/string/tostring/Customer.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/Customer.java
index e914a83f0e..7ab3936cb9 100644
--- a/java-strings-ops/src/main/java/com/baeldung/string/tostring/Customer.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/tostring/Customer.java
@@ -3,17 +3,20 @@ package com.baeldung.string.tostring;
public class Customer {
private String firstName;
private String lastName;
-
+
public String getFirstName() {
- return firstName;
+ return firstName;
}
+
public void setFirstName(String firstName) {
- this.firstName = firstName;
+ this.firstName = firstName;
}
+
public String getLastName() {
- return lastName;
+ return lastName;
}
+
public void setLastName(String lastName) {
- this.lastName = lastName;
+ this.lastName = lastName;
}
}
diff --git a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerArrayToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerArrayToString.java
index 1736657276..391ced61d3 100644
--- a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerArrayToString.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerArrayToString.java
@@ -4,16 +4,17 @@ import java.util.Arrays;
public class CustomerArrayToString extends Customer {
private Order[] orders;
-
+
public Order[] getOrders() {
return orders;
}
+
public void setOrders(Order[] orders) {
this.orders = orders;
}
+
@Override
public String toString() {
- return "Customer [orders=" + Arrays.toString(orders) + ", getFirstName()=" + getFirstName()
- + ", getLastName()=" + getLastName() + "]";
- }
+ return "Customer [orders=" + Arrays.toString(orders) + ", getFirstName()=" + getFirstName() + ", getLastName()=" + getLastName() + "]";
+ }
}
diff --git a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerComplexObjectToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerComplexObjectToString.java
index 9bede1b3fc..ae3d999b12 100644
--- a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerComplexObjectToString.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerComplexObjectToString.java
@@ -2,7 +2,7 @@ package com.baeldung.string.tostring;
public class CustomerComplexObjectToString extends Customer {
private Order order;
-
+
public Order getOrder() {
return order;
}
@@ -13,7 +13,6 @@ public class CustomerComplexObjectToString extends Customer {
@Override
public String toString() {
- return "Customer [order=" + order + ", getFirstName()=" + getFirstName()
- + ", getLastName()=" + getLastName() + "]";
- }
+ return "Customer [order=" + order + ", getFirstName()=" + getFirstName() + ", getLastName()=" + getLastName() + "]";
+ }
}
\ No newline at end of file
diff --git a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerPrimitiveToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerPrimitiveToString.java
index 86e08ca447..01fe4c8b09 100644
--- a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerPrimitiveToString.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerPrimitiveToString.java
@@ -2,18 +2,17 @@ package com.baeldung.string.tostring;
public class CustomerPrimitiveToString extends Customer {
private long balance;
-
+
public long getBalance() {
return balance;
}
-
+
public void setBalance(long balance) {
this.balance = balance;
}
-
+
@Override
public String toString() {
- return "Customer [balance=" + balance + ", getFirstName()=" + getFirstName()
- + ", getLastName()=" + getLastName() + "]";
+ return "Customer [balance=" + balance + ", getFirstName()=" + getFirstName() + ", getLastName()=" + getLastName() + "]";
}
}
diff --git a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerReflectionToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerReflectionToString.java
index 2da1163c63..2a9e3700ec 100644
--- a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerReflectionToString.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerReflectionToString.java
@@ -4,36 +4,36 @@ import java.util.List;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
-public class CustomerReflectionToString extends Customer{
+public class CustomerReflectionToString extends Customer {
private Integer score;
private List orders;
private StringBuffer fullname;
-
+
public Integer getScore() {
return score;
}
-
+
public void setScore(Integer score) {
this.score = score;
}
-
+
public List getOrders() {
return orders;
}
-
+
public void setOrders(List orders) {
this.orders = orders;
}
-
+
public StringBuffer getFullname() {
return fullname;
}
-
+
public void setFullname(StringBuffer fullname) {
this.fullname = fullname;
}
-
+
@Override
public String toString() {
return ReflectionToStringBuilder.toString(this);
diff --git a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerWrapperCollectionToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerWrapperCollectionToString.java
index 6c7b999045..b3ff97dc07 100644
--- a/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerWrapperCollectionToString.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerWrapperCollectionToString.java
@@ -6,34 +6,33 @@ public class CustomerWrapperCollectionToString extends Customer {
private Integer score;
private List orders;
private StringBuffer fullname;
-
+
public Integer getScore() {
return score;
}
-
+
public void setScore(Integer score) {
this.score = score;
}
-
+
public List getOrders() {
return orders;
}
-
+
public void setOrders(List orders) {
this.orders = orders;
}
-
+
public StringBuffer getFullname() {
return fullname;
}
-
+
public void setFullname(StringBuffer fullname) {
this.fullname = fullname;
}
-
+
@Override
public String toString() {
- return "Customer [score=" + score + ", orders=" + orders + ", fullname=" + fullname
- + ", getFirstName()=" + getFirstName() + ", getLastName()=" + getLastName() + "]";
+ return "Customer [score=" + score + ", orders=" + orders + ", fullname=" + fullname + ", getFirstName()=" + getFirstName() + ", getLastName()=" + getLastName() + "]";
}
}
diff --git a/java-strings-ops/src/main/java/com/baeldung/string/tostring/Order.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/Order.java
index 017e2d9bc8..58e0fcce5a 100644
--- a/java-strings-ops/src/main/java/com/baeldung/string/tostring/Order.java
+++ b/java-strings-ops/src/main/java/com/baeldung/string/tostring/Order.java
@@ -1,7 +1,7 @@
package com.baeldung.string.tostring;
public class Order {
-
+
private String orderId;
private String desc;
private long value;
@@ -38,9 +38,10 @@ public class Order {
public void setStatus(String status) {
this.status = status;
}
+
@Override
public String toString() {
- return "Order [orderId=" + orderId + ", desc=" + desc + ", value=" + value + "]";
+ return "Order [orderId=" + orderId + ", desc=" + desc + ", value=" + value + "]";
}
}
diff --git a/java-strings-ops/src/main/resources/log4j.properties b/java-strings-ops/src/main/resources/log4j.properties
new file mode 100644
index 0000000000..2ea9fa9209
--- /dev/null
+++ b/java-strings-ops/src/main/resources/log4j.properties
@@ -0,0 +1,8 @@
+# Root logger option
+log4j.rootLogger=DEBUG, stdout
+
+# Redirect log messages to console
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
\ No newline at end of file
diff --git a/java-strings-ops/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java
index e2dd0ac1db..d58684445b 100644
--- a/java-strings-ops/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java
@@ -10,7 +10,6 @@ import org.junit.Test;
import com.google.common.base.CharMatcher;
-
/***
* Example of counting chars in a String.
*/
@@ -78,16 +77,21 @@ public class CountCharsExampleUnitTest {
@Test
public void givenString_whenUsingJava8Features_thenCountChars() {
String someString = "elephant";
- long count = someString.chars().filter(ch -> ch == 'e').count();
+ long count = someString.chars()
+ .filter(ch -> ch == 'e')
+ .count();
assertEquals(2, count);
- long count2 = someString.codePoints().filter(ch -> ch == 'e').count();
+ long count2 = someString.codePoints()
+ .filter(ch -> ch == 'e')
+ .count();
assertEquals(2, count2);
}
@Test
public void givenString_whenUsingGuavaCharMatcher_thenCountChars() {
- int count = CharMatcher.is('e').countIn("elephant");
+ int count = CharMatcher.is('e')
+ .countIn("elephant");
assertEquals(2, count);
}
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java
index 2cdf6145d3..7c5409fe29 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java
@@ -12,99 +12,99 @@ import org.junit.Test;
*
*/
public class AppendCharAtPositionXUnitTest {
-
+
private AppendCharAtPositionX appendCharAtPosition = new AppendCharAtPositionX();
private String word = "Titanc";
private char letter = 'i';
-
+
@Test
public void whenUsingCharacterArrayAndCharacterAddedAtBeginning_shouldAddCharacter() {
assertEquals("iTitanc", appendCharAtPosition.addCharUsingCharArray(word, letter, 0));
}
-
+
@Test
public void whenUsingSubstringAndCharacterAddedAtBeginning_shouldAddCharacter() {
assertEquals("iTitanc", appendCharAtPosition.addCharUsingSubstring(word, letter, 0));
- }
-
+ }
+
@Test
public void whenUsingStringBuilderAndCharacterAddedAtBeginning_shouldAddCharacter() {
assertEquals("iTitanc", appendCharAtPosition.addCharUsingStringBuilder(word, letter, 0));
}
-
+
@Test
public void whenUsingCharacterArrayAndCharacterAddedAtMiddle_shouldAddCharacter() {
assertEquals("Titianc", appendCharAtPosition.addCharUsingCharArray(word, letter, 3));
}
-
+
@Test
public void whenUsingSubstringAndCharacterAddedAtMiddle_shouldAddCharacter() {
assertEquals("Titianc", appendCharAtPosition.addCharUsingSubstring(word, letter, 3));
- }
-
+ }
+
@Test
public void whenUsingStringBuilderAndCharacterAddedAtMiddle_shouldAddCharacter() {
assertEquals("Titianc", appendCharAtPosition.addCharUsingStringBuilder(word, letter, 3));
}
-
+
@Test
public void whenUsingCharacterArrayAndCharacterAddedAtEnd_shouldAddCharacter() {
assertEquals("Titanci", appendCharAtPosition.addCharUsingCharArray(word, letter, word.length()));
}
-
+
@Test
public void whenUsingSubstringAndCharacterAddedAtEnd_shouldAddCharacter() {
assertEquals("Titanci", appendCharAtPosition.addCharUsingSubstring(word, letter, word.length()));
- }
-
+ }
+
@Test
public void whenUsingStringBuilderAndCharacterAddedAtEnd_shouldAddCharacter() {
assertEquals("Titanci", appendCharAtPosition.addCharUsingStringBuilder(word, letter, word.length()));
}
-
- @Test(expected=IllegalArgumentException.class)
+
+ @Test(expected = IllegalArgumentException.class)
public void whenUsingCharacterArrayAndCharacterAddedAtNegativePosition_shouldThrowException() {
appendCharAtPosition.addCharUsingStringBuilder(word, letter, -1);
}
-
- @Test(expected=IllegalArgumentException.class)
+
+ @Test(expected = IllegalArgumentException.class)
public void whenUsingSubstringAndCharacterAddedAtNegativePosition_shouldThrowException() {
appendCharAtPosition.addCharUsingStringBuilder(word, letter, -1);
- }
-
- @Test(expected=IllegalArgumentException.class)
+ }
+
+ @Test(expected = IllegalArgumentException.class)
public void whenUsingStringBuilderAndCharacterAddedAtNegativePosition_shouldThrowException() {
appendCharAtPosition.addCharUsingStringBuilder(word, letter, -1);
}
-
- @Test(expected=IllegalArgumentException.class)
+
+ @Test(expected = IllegalArgumentException.class)
public void whenUsingCharacterArrayAndCharacterAddedAtInvalidPosition_shouldThrowException() {
appendCharAtPosition.addCharUsingStringBuilder(word, letter, word.length() + 2);
}
-
- @Test(expected=IllegalArgumentException.class)
+
+ @Test(expected = IllegalArgumentException.class)
public void whenUsingSubstringAndCharacterAddedAtInvalidPosition_shouldThrowException() {
appendCharAtPosition.addCharUsingStringBuilder(word, letter, word.length() + 2);
- }
-
- @Test(expected=IllegalArgumentException.class)
+ }
+
+ @Test(expected = IllegalArgumentException.class)
public void whenUsingStringBuilderAndCharacterAddedAtInvalidPosition_shouldThrowException() {
appendCharAtPosition.addCharUsingStringBuilder(word, letter, word.length() + 2);
}
-
- @Test(expected=IllegalArgumentException.class)
+
+ @Test(expected = IllegalArgumentException.class)
public void whenUsingCharacterArrayAndCharacterAddedAtPositionXAndStringIsNull_shouldThrowException() {
appendCharAtPosition.addCharUsingStringBuilder(null, letter, 3);
}
-
- @Test(expected=IllegalArgumentException.class)
+
+ @Test(expected = IllegalArgumentException.class)
public void whenUsingSubstringAndCharacterAddedAtPositionXAndStringIsNull_shouldThrowException() {
appendCharAtPosition.addCharUsingStringBuilder(null, letter, 3);
- }
-
- @Test(expected=IllegalArgumentException.class)
+ }
+
+ @Test(expected = IllegalArgumentException.class)
public void whenUsingStringBuilderAndCharacterAddedAtPositionXAndStringIsNull_shouldThrowException() {
appendCharAtPosition.addCharUsingStringBuilder(null, letter, 3);
}
-
+
}
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/PalindromeUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/PalindromeUnitTest.java
index 49f2542f39..8dea72d8ca 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/PalindromeUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/PalindromeUnitTest.java
@@ -1,6 +1,7 @@
package com.baeldung.string;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
+
import org.junit.Test;
public class PalindromeUnitTest {
@@ -20,9 +21,9 @@ public class PalindromeUnitTest {
"No mists or frost Simon",
"Stella won no wallets"
};
-
+
private Palindrome palindrome = new Palindrome();
-
+
@Test
public void whenWord_shouldBePalindrome() {
for (String word : words)
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/SplitUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/SplitUnitTest.java
index 6157640a4a..1936bfb6fb 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/SplitUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/SplitUnitTest.java
@@ -14,59 +14,52 @@ public class SplitUnitTest {
@Test
public void givenString_whenSplit_thenReturnsArray_through_JavaLangString() {
- assertThat("peter,james,thomas".split(","))
- .containsExactly("peter", "james", "thomas");
+ assertThat("peter,james,thomas".split(",")).containsExactly("peter", "james", "thomas");
- assertThat("car jeep scooter".split(" "))
- .containsExactly("car", "jeep", "scooter");
+ assertThat("car jeep scooter".split(" ")).containsExactly("car", "jeep", "scooter");
- assertThat("1-120-232323".split("-"))
- .containsExactly("1", "120", "232323");
+ assertThat("1-120-232323".split("-")).containsExactly("1", "120", "232323");
- assertThat("192.168.1.178".split("\\."))
- .containsExactly("192", "168", "1", "178");
+ assertThat("192.168.1.178".split("\\.")).containsExactly("192", "168", "1", "178");
- assertThat("b a, e, l.d u, n g".split("\\s+|,\\s*|\\.\\s*"))
- .containsExactly("b", "a", "e", "l", "d", "u", "n", "g");
+ assertThat("b a, e, l.d u, n g".split("\\s+|,\\s*|\\.\\s*")).containsExactly("b", "a", "e", "l", "d", "u", "n", "g");
}
@Test
public void givenString_whenSplit_thenReturnsArray_through_StringUtils() {
StringUtils.split("car jeep scooter");
- assertThat(StringUtils.split("car jeep scooter"))
- .containsExactly("car", "jeep", "scooter");
+ assertThat(StringUtils.split("car jeep scooter")).containsExactly("car", "jeep", "scooter");
- assertThat(StringUtils.split("car jeep scooter"))
- .containsExactly("car", "jeep", "scooter");
+ assertThat(StringUtils.split("car jeep scooter")).containsExactly("car", "jeep", "scooter");
- assertThat(StringUtils.split("car:jeep:scooter", ":"))
- .containsExactly("car", "jeep", "scooter");
+ assertThat(StringUtils.split("car:jeep:scooter", ":")).containsExactly("car", "jeep", "scooter");
- assertThat(StringUtils.split("car.jeep.scooter", "."))
- .containsExactly("car", "jeep", "scooter");
+ assertThat(StringUtils.split("car.jeep.scooter", ".")).containsExactly("car", "jeep", "scooter");
}
@Test
public void givenString_whenSplit_thenReturnsList_Splitter() {
- //given
- List resultList = Splitter.on(',').trimResults().omitEmptyStrings().splitToList("car,jeep,, scooter");
+ // given
+ List resultList = Splitter.on(',')
+ .trimResults()
+ .omitEmptyStrings()
+ .splitToList("car,jeep,, scooter");
- assertThat(resultList)
- .containsExactly("car", "jeep", "scooter");
+ assertThat(resultList).containsExactly("car", "jeep", "scooter");
}
-
+
@Test
public void givenStringContainsSpaces_whenSplitAndTrim_thenReturnsArray_using_Regex() {
assertThat(" car , jeep, scooter ".trim()
- .split("\\s*,\\s*")).containsExactly("car", "jeep", "scooter");
+ .split("\\s*,\\s*")).containsExactly("car", "jeep", "scooter");
}
-
+
@Test
public void givenStringContainsSpaces_whenSplitAndTrim_thenReturnsArray_using_java_8() {
assertThat(Arrays.stream(" car , jeep, scooter ".split(","))
- .map(String::trim)
- .toArray(String[]::new)).containsExactly("car", "jeep", "scooter");
- }
+ .map(String::trim)
+ .toArray(String[]::new)).containsExactly("car", "jeep", "scooter");
+ }
}
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/StringComparisonUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/StringComparisonUnitTest.java
index 539f66d9b4..5339a0c72e 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/StringComparisonUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/StringComparisonUnitTest.java
@@ -1,16 +1,16 @@
package com.baeldung.string;
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.Objects;
+
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
-import java.util.Objects;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
public class StringComparisonUnitTest {
@Test
- public void whenUsingComparisonOperator_ThenComparingStrings(){
+ public void whenUsingComparisonOperator_ThenComparingStrings() {
String string1 = "using comparison operator";
String string2 = "using comparison operator";
@@ -21,7 +21,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingEqualsMethod_ThenComparingStrings(){
+ public void whenUsingEqualsMethod_ThenComparingStrings() {
String string1 = "using equals method";
String string2 = "using equals method";
@@ -37,7 +37,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingEqualsIgnoreCase_ThenComparingStrings(){
+ public void whenUsingEqualsIgnoreCase_ThenComparingStrings() {
String string1 = "using equals ignore case";
String string2 = "USING EQUALS IGNORE CASE";
@@ -46,7 +46,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingCompareTo_ThenComparingStrings(){
+ public void whenUsingCompareTo_ThenComparingStrings() {
String author = "author";
String book = "book";
@@ -58,7 +58,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingCompareToIgnoreCase_ThenComparingStrings(){
+ public void whenUsingCompareToIgnoreCase_ThenComparingStrings() {
String author = "Author";
String book = "book";
@@ -70,7 +70,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingObjectsEqualsMethod_ThenComparingStrings(){
+ public void whenUsingObjectsEqualsMethod_ThenComparingStrings() {
String string1 = "using objects equals";
String string2 = "using objects equals";
@@ -84,7 +84,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingEqualsOfApacheCommons_ThenComparingStrings(){
+ public void whenUsingEqualsOfApacheCommons_ThenComparingStrings() {
assertThat(StringUtils.equals(null, null)).isTrue();
assertThat(StringUtils.equals(null, "equals method")).isFalse();
@@ -93,7 +93,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingEqualsIgnoreCaseOfApacheCommons_ThenComparingStrings(){
+ public void whenUsingEqualsIgnoreCaseOfApacheCommons_ThenComparingStrings() {
assertThat(StringUtils.equalsIgnoreCase(null, null)).isTrue();
assertThat(StringUtils.equalsIgnoreCase(null, "equals method")).isFalse();
@@ -102,7 +102,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingEqualsAnyOf_ThenComparingStrings(){
+ public void whenUsingEqualsAnyOf_ThenComparingStrings() {
assertThat(StringUtils.equalsAny(null, null, null)).isTrue();
assertThat(StringUtils.equalsAny("equals any", "equals any", "any")).isTrue();
@@ -112,18 +112,17 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingEqualsAnyIgnoreCase_ThenComparingStrings(){
+ public void whenUsingEqualsAnyIgnoreCase_ThenComparingStrings() {
assertThat(StringUtils.equalsAnyIgnoreCase(null, null, null)).isTrue();
assertThat(StringUtils.equalsAnyIgnoreCase("equals any", "equals any", "any")).isTrue();
assertThat(StringUtils.equalsAnyIgnoreCase("equals any", null, "equals any")).isTrue();
assertThat(StringUtils.equalsAnyIgnoreCase(null, "equals", "any")).isFalse();
- assertThat(StringUtils.equalsAnyIgnoreCase(
- "equals any ignore case", "EQUALS ANY IGNORE CASE", "any")).isTrue();
+ assertThat(StringUtils.equalsAnyIgnoreCase("equals any ignore case", "EQUALS ANY IGNORE CASE", "any")).isTrue();
}
@Test
- public void whenUsingCompare_thenComparingStringsWithNulls(){
+ public void whenUsingCompare_thenComparingStringsWithNulls() {
assertThat(StringUtils.compare(null, null)).isEqualTo(0);
assertThat(StringUtils.compare(null, "abc")).isEqualTo(-1);
@@ -134,7 +133,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingCompareIgnoreCase_ThenComparingStringsWithNulls(){
+ public void whenUsingCompareIgnoreCase_ThenComparingStringsWithNulls() {
assertThat(StringUtils.compareIgnoreCase(null, null)).isEqualTo(0);
assertThat(StringUtils.compareIgnoreCase(null, "abc")).isEqualTo(-1);
@@ -145,7 +144,7 @@ public class StringComparisonUnitTest {
}
@Test
- public void whenUsingCompareWithNullIsLessOption_ThenComparingStrings(){
+ public void whenUsingCompareWithNullIsLessOption_ThenComparingStrings() {
assertThat(StringUtils.compare(null, "abc", true)).isEqualTo(-1);
assertThat(StringUtils.compare(null, "abc", false)).isEqualTo(1);
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/StringHelperUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/StringHelperUnitTest.java
index 917ed1c937..eb86e84905 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/StringHelperUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/StringHelperUnitTest.java
@@ -1,11 +1,11 @@
package com.baeldung.string;
-import org.apache.commons.lang3.StringUtils;
-import org.junit.Test;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
+import org.apache.commons.lang3.StringUtils;
+import org.junit.Test;
+
public class StringHelperUnitTest {
public static final String TEST_STRING = "abcdef";
diff --git a/java-strings-ops/src/test/java/com/baeldung/stringisnumeric/CoreJavaIsNumericUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/CoreJavaIsNumericUnitTest.java
similarity index 89%
rename from java-strings-ops/src/test/java/com/baeldung/stringisnumeric/CoreJavaIsNumericUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/isnumeric/CoreJavaIsNumericUnitTest.java
index 808d3c45b0..6228fdb5af 100644
--- a/java-strings-ops/src/test/java/com/baeldung/stringisnumeric/CoreJavaIsNumericUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/CoreJavaIsNumericUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.stringisnumeric;
+package com.baeldung.string.isnumeric;
import static org.assertj.core.api.Assertions.assertThat;
@@ -13,16 +13,16 @@ public class CoreJavaIsNumericUnitTest {
}
return true;
}
-
+
@Test
public void whenUsingCoreJava_thenTrue() {
// Valid Numbers
assertThat(isNumeric("22")).isTrue();
assertThat(isNumeric("5.05")).isTrue();
- assertThat(isNumeric("-200")).isTrue();
+ assertThat(isNumeric("-200")).isTrue();
assertThat(isNumeric("10.0d")).isTrue();
assertThat(isNumeric(" 22 ")).isTrue();
-
+
// Invalid Numbers
assertThat(isNumeric(null)).isFalse();
assertThat(isNumeric("")).isFalse();
diff --git a/java-strings/src/test/java/com/baeldung/stringisnumeric/NumberUtilsIsCreatableUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/NumberUtilsIsCreatableUnitTest.java
similarity index 95%
rename from java-strings/src/test/java/com/baeldung/stringisnumeric/NumberUtilsIsCreatableUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/isnumeric/NumberUtilsIsCreatableUnitTest.java
index 467d58837a..346248cb40 100644
--- a/java-strings/src/test/java/com/baeldung/stringisnumeric/NumberUtilsIsCreatableUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/NumberUtilsIsCreatableUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.stringisnumeric;
+package com.baeldung.string.isnumeric;
import static org.assertj.core.api.Assertions.assertThat;
@@ -17,7 +17,7 @@ public class NumberUtilsIsCreatableUnitTest {
assertThat(NumberUtils.isCreatable("0xFF")).isTrue();
assertThat(NumberUtils.isCreatable("07")).isTrue();
assertThat(NumberUtils.isCreatable("2.99e+8")).isTrue();
-
+
// Invalid Numbers
assertThat(NumberUtils.isCreatable(null)).isFalse();
assertThat(NumberUtils.isCreatable("")).isFalse();
diff --git a/java-strings/src/test/java/com/baeldung/stringisnumeric/NumberUtilsIsParsableUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/NumberUtilsIsParsableUnitTest.java
similarity index 95%
rename from java-strings/src/test/java/com/baeldung/stringisnumeric/NumberUtilsIsParsableUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/isnumeric/NumberUtilsIsParsableUnitTest.java
index 141a761158..fa2f2aec6d 100644
--- a/java-strings/src/test/java/com/baeldung/stringisnumeric/NumberUtilsIsParsableUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/NumberUtilsIsParsableUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.stringisnumeric;
+package com.baeldung.string.isnumeric;
import static org.assertj.core.api.Assertions.assertThat;
@@ -13,7 +13,7 @@ public class NumberUtilsIsParsableUnitTest {
assertThat(NumberUtils.isParsable("-23")).isTrue();
assertThat(NumberUtils.isParsable("2.2")).isTrue();
assertThat(NumberUtils.isParsable("09")).isTrue();
-
+
// Invalid Numbers
assertThat(NumberUtils.isParsable(null)).isFalse();
assertThat(NumberUtils.isParsable("")).isFalse();
diff --git a/java-strings/src/test/java/com/baeldung/stringisnumeric/RegularExpressionsUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/RegularExpressionsUnitTest.java
similarity index 91%
rename from java-strings/src/test/java/com/baeldung/stringisnumeric/RegularExpressionsUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/isnumeric/RegularExpressionsUnitTest.java
index c3aa43ac94..0f7f0eb081 100644
--- a/java-strings/src/test/java/com/baeldung/stringisnumeric/RegularExpressionsUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/RegularExpressionsUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.stringisnumeric;
+package com.baeldung.string.isnumeric;
import static org.assertj.core.api.Assertions.assertThat;
@@ -8,14 +8,14 @@ public class RegularExpressionsUnitTest {
public static boolean isNumeric(String strNum) {
return strNum.matches("-?\\d+(\\.\\d+)?");
}
-
+
@Test
public void whenUsingRegularExpressions_thenTrue() {
// Valid Numbers
assertThat(isNumeric("22")).isTrue();
assertThat(isNumeric("5.05")).isTrue();
assertThat(isNumeric("-200")).isTrue();
-
+
// Invalid Numbers
assertThat(isNumeric("abc")).isFalse();
}
diff --git a/java-strings/src/test/java/com/baeldung/stringisnumeric/StringUtilsIsNumericSpaceUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/StringUtilsIsNumericSpaceUnitTest.java
similarity index 94%
rename from java-strings/src/test/java/com/baeldung/stringisnumeric/StringUtilsIsNumericSpaceUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/isnumeric/StringUtilsIsNumericSpaceUnitTest.java
index 135780d9ad..05651cc567 100644
--- a/java-strings/src/test/java/com/baeldung/stringisnumeric/StringUtilsIsNumericSpaceUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/StringUtilsIsNumericSpaceUnitTest.java
@@ -1,8 +1,9 @@
-package com.baeldung.stringisnumeric;
+package com.baeldung.string.isnumeric;
+
+import static org.assertj.core.api.Assertions.assertThat;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
-import static org.assertj.core.api.Assertions.assertThat;
public class StringUtilsIsNumericSpaceUnitTest {
@Test
@@ -13,7 +14,7 @@ public class StringUtilsIsNumericSpaceUnitTest {
assertThat(StringUtils.isNumericSpace("")).isTrue();
assertThat(StringUtils.isNumericSpace(" ")).isTrue();
assertThat(StringUtils.isNumericSpace("12 3")).isTrue();
-
+
// Invalid Numbers
assertThat(StringUtils.isNumericSpace(null)).isFalse();
assertThat(StringUtils.isNumericSpace("ab2c")).isFalse();
diff --git a/java-strings/src/test/java/com/baeldung/stringisnumeric/StringUtilsIsNumericUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/StringUtilsIsNumericUnitTest.java
similarity index 95%
rename from java-strings/src/test/java/com/baeldung/stringisnumeric/StringUtilsIsNumericUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/isnumeric/StringUtilsIsNumericUnitTest.java
index b667dda906..cae08874da 100644
--- a/java-strings/src/test/java/com/baeldung/stringisnumeric/StringUtilsIsNumericUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/isnumeric/StringUtilsIsNumericUnitTest.java
@@ -1,8 +1,9 @@
-package com.baeldung.stringisnumeric;
+package com.baeldung.string.isnumeric;
+
+import static org.assertj.core.api.Assertions.assertThat;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
-import static org.assertj.core.api.Assertions.assertThat;
public class StringUtilsIsNumericUnitTest {
@Test
@@ -11,7 +12,7 @@ public class StringUtilsIsNumericUnitTest {
assertThat(StringUtils.isNumeric("123")).isTrue();
assertThat(StringUtils.isNumeric("١٢٣")).isTrue();
assertThat(StringUtils.isNumeric("१२३")).isTrue();
-
+
// Invalid Numbers
assertThat(StringUtils.isNumeric(null)).isFalse();
assertThat(StringUtils.isNumeric("")).isFalse();
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerArrayToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerArrayToStringUnitTest.java
index 9a88416179..ced8b15f2e 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerArrayToStringUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerArrayToStringUnitTest.java
@@ -5,21 +5,20 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class CustomerArrayToStringUnitTest {
- private static final String CUSTOMER_ARRAY_TO_STRING
- = "Customer [orders=[Order [orderId=A1111, desc=Game, value=0]], getFirstName()=Rajesh, getLastName()=Bhojwani]";
-
+ private static final String CUSTOMER_ARRAY_TO_STRING = "Customer [orders=[Order [orderId=A1111, desc=Game, value=0]], getFirstName()=Rajesh, getLastName()=Bhojwani]";
+
@Test
public void givenArray_whenToString_thenCustomerDetails() {
- CustomerArrayToString customer = new CustomerArrayToString();
- customer.setFirstName("Rajesh");
- customer.setLastName("Bhojwani");
- Order[] orders = new Order[1];
- orders[0] = new Order();
- orders[0].setOrderId("A1111");
- orders[0].setDesc("Game");
- orders[0].setStatus("In-Shiping");
- customer.setOrders(orders);
-
+ CustomerArrayToString customer = new CustomerArrayToString();
+ customer.setFirstName("Rajesh");
+ customer.setLastName("Bhojwani");
+ Order[] orders = new Order[1];
+ orders[0] = new Order();
+ orders[0].setOrderId("A1111");
+ orders[0].setDesc("Game");
+ orders[0].setStatus("In-Shiping");
+ customer.setOrders(orders);
+
assertEquals(CUSTOMER_ARRAY_TO_STRING, customer.toString());
}
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerComplexObjectToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerComplexObjectToStringUnitTest.java
index 5ffb0d0e58..564fde8766 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerComplexObjectToStringUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerComplexObjectToStringUnitTest.java
@@ -5,20 +5,19 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class CustomerComplexObjectToStringUnitTest {
- private static final String CUSTOMER_COMPLEX_TO_STRING
- = "Customer [order=Order [orderId=A1111, desc=Game, value=0], getFirstName()=Rajesh, getLastName()=Bhojwani]";
-
+ private static final String CUSTOMER_COMPLEX_TO_STRING = "Customer [order=Order [orderId=A1111, desc=Game, value=0], getFirstName()=Rajesh, getLastName()=Bhojwani]";
+
@Test
public void givenComplex_whenToString_thenCustomerDetails() {
CustomerComplexObjectToString customer = new CustomerComplexObjectToString();
customer.setFirstName("Rajesh");
customer.setLastName("Bhojwani");
- Order order = new Order();
+ Order order = new Order();
order.setOrderId("A1111");
order.setDesc("Game");
order.setStatus("In-Shiping");
customer.setOrder(order);
-
+
assertEquals(CUSTOMER_COMPLEX_TO_STRING, customer.toString());
}
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerPrimitiveToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerPrimitiveToStringUnitTest.java
index d43733bc60..f585a8a26c 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerPrimitiveToStringUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerPrimitiveToStringUnitTest.java
@@ -6,8 +6,7 @@ import org.junit.jupiter.api.Test;
public class CustomerPrimitiveToStringUnitTest {
- private static final String CUSTOMER_PRIMITIVE_TO_STRING
- = "Customer [balance=110, getFirstName()=Rajesh, getLastName()=Bhojwani]";
+ private static final String CUSTOMER_PRIMITIVE_TO_STRING = "Customer [balance=110, getFirstName()=Rajesh, getLastName()=Bhojwani]";
@Test
public void givenPrimitive_whenToString_thenCustomerDetails() {
@@ -15,8 +14,7 @@ public class CustomerPrimitiveToStringUnitTest {
customer.setFirstName("Rajesh");
customer.setLastName("Bhojwani");
customer.setBalance(110);
-
+
assertEquals(CUSTOMER_PRIMITIVE_TO_STRING, customer.toString());
}
}
-
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerWrapperCollectionToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerWrapperCollectionToStringUnitTest.java
index e04512ff75..9b3f8a1a6f 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerWrapperCollectionToStringUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerWrapperCollectionToStringUnitTest.java
@@ -8,26 +8,25 @@ import java.util.List;
import org.junit.jupiter.api.Test;
public class CustomerWrapperCollectionToStringUnitTest {
- private static final String CUSTOMER_WRAPPER_COLLECTION_TO_STRING
- = "Customer [score=8, orders=[Book, Pen], fullname=Bhojwani, Rajesh, getFirstName()=Rajesh, getLastName()=Bhojwani]";
-
+ private static final String CUSTOMER_WRAPPER_COLLECTION_TO_STRING = "Customer [score=8, orders=[Book, Pen], fullname=Bhojwani, Rajesh, getFirstName()=Rajesh, getLastName()=Bhojwani]";
+
@Test
public void givenWrapperCollectionStrBuffer_whenToString_thenCustomerDetails() {
- CustomerWrapperCollectionToString customer = new CustomerWrapperCollectionToString();
- customer.setFirstName("Rajesh");
- customer.setLastName("Bhojwani");
- customer.setScore(8);
-
- List orders = new ArrayList();
- orders.add("Book");
- orders.add("Pen");
- customer.setOrders(orders);
-
- StringBuffer fullname = new StringBuffer();
- fullname.append(customer.getLastName()+", "+ customer.getFirstName());
- customer.setFullname(fullname);
-
- assertEquals(CUSTOMER_WRAPPER_COLLECTION_TO_STRING, customer.toString());
+ CustomerWrapperCollectionToString customer = new CustomerWrapperCollectionToString();
+ customer.setFirstName("Rajesh");
+ customer.setLastName("Bhojwani");
+ customer.setScore(8);
+
+ List orders = new ArrayList();
+ orders.add("Book");
+ orders.add("Pen");
+ customer.setOrders(orders);
+
+ StringBuffer fullname = new StringBuffer();
+ fullname.append(customer.getLastName() + ", " + customer.getFirstName());
+ customer.setFullname(fullname);
+
+ assertEquals(CUSTOMER_WRAPPER_COLLECTION_TO_STRING, customer.toString());
}
}
diff --git a/java-strings-ops/src/test/java/com/baeldung/stringpool/StringPoolUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/stringpool/StringPoolUnitTest.java
index 4bbf63f87e..ca56d5aab5 100644
--- a/java-strings-ops/src/test/java/com/baeldung/stringpool/StringPoolUnitTest.java
+++ b/java-strings-ops/src/test/java/com/baeldung/stringpool/StringPoolUnitTest.java
@@ -1,7 +1,8 @@
package com.baeldung.stringpool;
+import static org.assertj.core.api.Assertions.assertThat;
+
import org.junit.Test;
-import static org.assertj.core.api.Assertions.*;
public class StringPoolUnitTest {
diff --git a/persistence-modules/pom.xml b/persistence-modules/pom.xml
index 3dac8baa60..de20b135fa 100644
--- a/persistence-modules/pom.xml
+++ b/persistence-modules/pom.xml
@@ -48,6 +48,7 @@
spring-data-eclipselink
spring-data-elasticsearch
spring-data-gemfire
+ spring-data-geode
spring-data-jpa
spring-data-jpa-3
spring-data-keyvalue
diff --git a/persistence-modules/spring-data-geode/pom.xml b/persistence-modules/spring-data-geode/pom.xml
new file mode 100644
index 0000000000..abd3049755
--- /dev/null
+++ b/persistence-modules/spring-data-geode/pom.xml
@@ -0,0 +1,94 @@
+
+
+ 4.0.0
+ spring-data-geode
+ spring-data-geode
+ jar
+ Intro to Spring Data Geode
+
+
+ com.baeldung
+ parent-modules
+ 1.0.0-SNAPSHOT
+ ../../
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+ 2.1.9.RELEASE
+
+
+ org.springframework.boot
+ spring-boot-starter-logging
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+ ${spring-boot-version}
+
+
+ org.springframework.boot
+ spring-boot-starter-logging
+
+
+
+
+ org.springframework.geode
+ spring-geode-starter
+ ${spring-geode-starter-version}
+
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ ${spring-boot-version}
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ ${spring-boot-version}
+ test
+
+
+
+
+ ${project.artifactId}
+
+
+ com.mysema.maven
+ maven-apt-plugin
+ 1.0
+
+
+ generate-sources
+
+ process
+
+
+ target/generated-sources
+ com.querydsl.apt.jpa.JPAAnnotationProcessor
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ ${spring-boot-version}
+
+
+
+
+
+ 2.1.9.RELEASE
+ UTF-8
+ com.baeldung.springdatageode.app.ClientCacheApp
+ 1.1.1.RELEASE
+
+
+
\ No newline at end of file
diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/app/ClientCacheApp.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/app/ClientCacheApp.java
new file mode 100644
index 0000000000..6e9a33e953
--- /dev/null
+++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/app/ClientCacheApp.java
@@ -0,0 +1,32 @@
+package com.baeldung.springdatageode.app;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.data.gemfire.config.annotation.ClientCacheApplication;
+import org.springframework.data.gemfire.config.annotation.EnableClusterConfiguration;
+import org.springframework.data.gemfire.config.annotation.EnableContinuousQueries;
+import org.springframework.data.gemfire.config.annotation.EnableEntityDefinedRegions;
+import org.springframework.data.gemfire.config.annotation.EnableIndexing;
+import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories;
+
+import com.baeldung.springdatageode.controller.AppController;
+import com.baeldung.springdatageode.domain.Author;
+import com.baeldung.springdatageode.repo.AuthorRepository;
+import com.baeldung.springdatageode.service.AuthorService;
+
+@SpringBootApplication
+@ClientCacheApplication(subscriptionEnabled = true)
+@EnableEntityDefinedRegions(basePackageClasses = Author.class)
+@EnableIndexing
+@EnableGemfireRepositories(basePackageClasses = AuthorRepository.class)
+@ComponentScan(basePackageClasses = {AppController.class, AuthorService.class})
+@EnableClusterConfiguration(useHttp = true, requireHttps=false)
+@EnableContinuousQueries
+public class ClientCacheApp {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ClientCacheApp.class, args);
+ }
+
+}
diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/controller/AppController.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/controller/AppController.java
new file mode 100644
index 0000000000..32f931820a
--- /dev/null
+++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/controller/AppController.java
@@ -0,0 +1,37 @@
+package com.baeldung.springdatageode.controller;
+
+import java.util.Optional;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.baeldung.springdatageode.domain.Author;
+import com.baeldung.springdatageode.repo.AuthorRepository;
+
+@RestController
+@CrossOrigin
+public class AppController {
+
+ @Autowired
+ private AuthorRepository authorRepositoryImpl;
+
+ @PostMapping(path = "/author" )
+ public ResponseEntity addAuthor(@RequestBody Author author) throws Exception {
+ authorRepositoryImpl.save(author);
+ return new ResponseEntity<>("OK", HttpStatus.OK);
+ }
+
+ @GetMapping(path = "/author" )
+ public ResponseEntity getAuthor(@RequestParam("id") String id) throws Exception {
+ Optional author = authorRepositoryImpl.findById(Long.parseLong(id));
+ return new ResponseEntity<>(author.isPresent() ? author.get() : null, HttpStatus.OK);
+ }
+
+}
diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/domain/Author.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/domain/Author.java
new file mode 100644
index 0000000000..4a2e58ff34
--- /dev/null
+++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/domain/Author.java
@@ -0,0 +1,58 @@
+package com.baeldung.springdatageode.domain;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.gemfire.mapping.annotation.Indexed;
+import org.springframework.data.gemfire.mapping.annotation.Region;
+
+@Region(name = "Authors")
+public class Author {
+
+ @Id
+ private Long id;
+
+ private String firstName;
+
+ private String lastName;
+
+ @Indexed
+ private int age;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+
+ @Override
+ public String toString() {
+ return this.firstName + " " + this.lastName + ", " + this.age + " years old";
+ }
+
+}
+
diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java
new file mode 100644
index 0000000000..92f4165343
--- /dev/null
+++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/repo/AuthorRepository.java
@@ -0,0 +1,11 @@
+package com.baeldung.springdatageode.repo;
+
+import com.baeldung.springdatageode.domain.Author;
+
+import java.util.Optional;
+
+import org.springframework.data.repository.CrudRepository;
+
+public interface AuthorRepository extends CrudRepository {
+
+}
diff --git a/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/service/AuthorService.java b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/service/AuthorService.java
new file mode 100644
index 0000000000..1bf4cbaba1
--- /dev/null
+++ b/persistence-modules/spring-data-geode/src/main/java/com/baeldung/springdatageode/service/AuthorService.java
@@ -0,0 +1,14 @@
+package com.baeldung.springdatageode.service;
+
+import org.apache.geode.cache.query.CqEvent;
+import org.springframework.data.gemfire.listener.annotation.ContinuousQuery;
+import org.springframework.stereotype.Service;
+
+@Service
+public class AuthorService {
+
+ @ContinuousQuery(query = "SELECT * FROM /Authors a WHERE a.id = 1")
+ public void process(CqEvent event) {
+ System.out.println("Author #" + event.getKey() + " updated to " + event.getNewValue());
+ }
+}
diff --git a/persistence-modules/spring-data-geode/src/main/resources/application.properties b/persistence-modules/spring-data-geode/src/main/resources/application.properties
new file mode 100644
index 0000000000..7b7cb5a37b
--- /dev/null
+++ b/persistence-modules/spring-data-geode/src/main/resources/application.properties
@@ -0,0 +1 @@
+server.port=9091
\ No newline at end of file
diff --git a/persistence-modules/spring-data-geode/src/main/resources/logback.xml b/persistence-modules/spring-data-geode/src/main/resources/logback.xml
new file mode 100644
index 0000000000..7d900d8ea8
--- /dev/null
+++ b/persistence-modules/spring-data-geode/src/main/resources/logback.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index dbe246bded..f9e45f5c93 100644
--- a/pom.xml
+++ b/pom.xml
@@ -488,6 +488,7 @@
jackson-2
jackson-simple
java-collections-conversions
+ java-collections-conversions-2
java-collections-maps
java-collections-maps-2
java-jdi
@@ -615,7 +616,7 @@
spring-boot-nashorn
java-blockchain
-wildfly
+ wildfly
@@ -1253,6 +1254,7 @@
jackson-2
jackson-simple
java-collections-conversions
+ java-collections-conversions-2
java-collections-maps
java-collections-maps-2
java-jdi
diff --git a/spring-boot/src/main/java/org/baeldung/model/User.java b/spring-boot/src/main/java/org/baeldung/model/User.java
index 049b118b12..eb886338a0 100644
--- a/spring-boot/src/main/java/org/baeldung/model/User.java
+++ b/spring-boot/src/main/java/org/baeldung/model/User.java
@@ -1,4 +1,4 @@
-package org.baeldung.caching.model;
+package org.baeldung.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
diff --git a/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java b/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java
index 0113c4c5d4..752664cd5d 100644
--- a/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java
+++ b/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java
@@ -1,6 +1,6 @@
package org.baeldung.repository;
-import org.baeldung.caching.model.User;
+import org.baeldung.model.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
@@ -15,7 +15,6 @@ import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
-import java.util.stream.Stream;
@Repository("userRepository")
public interface UserRepository extends JpaRepository {
diff --git a/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java b/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java
index 54ce3b4bf3..ea7f118967 100644
--- a/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java
+++ b/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java
@@ -1,19 +1,17 @@
package org.baeldung.repository;
import org.baeldung.boot.config.H2JpaConfig;
-import org.baeldung.caching.model.User;
+import org.baeldung.model.User;
import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.transaction.annotation.Transactional;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
-import java.util.stream.Stream;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/spring-jooq/src/test/java/com/baeldung/jooq/introduction/ExceptionTranslator.java b/spring-jooq/src/test/java/com/baeldung/jooq/introduction/ExceptionTranslator.java
index 8312f20c05..26c061e9cd 100644
--- a/spring-jooq/src/test/java/com/baeldung/jooq/introduction/ExceptionTranslator.java
+++ b/spring-jooq/src/test/java/com/baeldung/jooq/introduction/ExceptionTranslator.java
@@ -12,7 +12,7 @@ public class ExceptionTranslator extends DefaultExecuteListener {
@Override
public void exception(ExecuteContext context) {
SQLDialect dialect = context.configuration().dialect();
- SQLExceptionTranslator translator = new SQLErrorCodeSQLExceptionTranslator(dialect.name());
+ SQLExceptionTranslator translator = new SQLErrorCodeSQLExceptionTranslator(dialect.thirdParty().springDbName());
context.exception(translator.translate("Access database using jOOQ", context.sql(), context.sqlException()));
}
diff --git a/spring-mvc-simple-2/src/main/resources/application.properties b/spring-mvc-simple-2/src/main/resources/application.properties
index 709574239b..d29338d3d3 100644
--- a/spring-mvc-simple-2/src/main/resources/application.properties
+++ b/spring-mvc-simple-2/src/main/resources/application.properties
@@ -1 +1,3 @@
-spring.main.allow-bean-definition-overriding=true
\ No newline at end of file
+spring.main.allow-bean-definition-overriding=true
+spring.mail.host=localhost
+spring.mail.port=8025
\ No newline at end of file