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