From 7f1acd21bfa9932ca7a09d35d618b294ba112fdb Mon Sep 17 00:00:00 2001 From: Sebastian Luna Date: Tue, 21 Jul 2020 21:30:17 -0500 Subject: [PATCH 01/94] BAEL-4387 Add files to handle Array to ArrayList convertion --- .../ArrayToListConversion.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 java-collections-conversions-2/src/main/java/com/baeldung/arrayconvertion/ArrayToListConversion.java diff --git a/java-collections-conversions-2/src/main/java/com/baeldung/arrayconvertion/ArrayToListConversion.java b/java-collections-conversions-2/src/main/java/com/baeldung/arrayconvertion/ArrayToListConversion.java new file mode 100644 index 0000000000..7e1002b22c --- /dev/null +++ b/java-collections-conversions-2/src/main/java/com/baeldung/arrayconvertion/ArrayToListConversion.java @@ -0,0 +1,33 @@ +package com.baeldung.arrayconvertion; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ArrayToListConversion { + + public static void main(String[] args) { + System.out.println("Array.asList()"); + arrayAsList(); + System.out.println("\nArrayList<>(Arrays.asList())"); + independentArray(); + } + + private static void arrayAsList() { + String[] stringArray = new String[] { "A", "B", "C", "D" }; + List stringList = Arrays.asList(stringArray); + System.out.println(stringList); // [A, B, C, D] + stringList.set(0, "E"); + System.out.println(stringList); // [E, B, C, D] + System.out.println(Arrays.toString(stringArray)); // [E, B, C, D] + } + + private static void independentArray() { + String[] stringArray = new String[] { "A", "B", "C", "D" }; + List stringList = new ArrayList<>(Arrays.asList(stringArray)); + System.out.println(stringList); // [A, B, C, D] + stringList.set(0, "E"); + System.out.println(stringList); // [E, B, C, D] + System.out.println(Arrays.toString(stringArray)); // [A, B, C, D] + } +} \ No newline at end of file From d8d00f117eb341479d7294c26d2a3dd1434745a4 Mon Sep 17 00:00:00 2001 From: Cavero Barca Date: Thu, 23 Jul 2020 17:03:16 +0200 Subject: [PATCH 02/94] Include the following changes: - Upgrade Spring Cloud Consul to latest version - Deploy the Spring Boot version as web as described in the article - Add leadership-consul dependendencies --- spring-cloud/spring-cloud-consul/pom.xml | 29 ++++++++++++++++--- .../discovery/DiscoveryClientApplication.java | 2 +- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/spring-cloud/spring-cloud-consul/pom.xml b/spring-cloud/spring-cloud-consul/pom.xml index f7f5f84c56..4d4ac0aa01 100644 --- a/spring-cloud/spring-cloud-consul/pom.xml +++ b/spring-cloud/spring-cloud-consul/pom.xml @@ -12,6 +12,13 @@ spring-cloud 1.0.0-SNAPSHOT + + + + jitpack.io + https://jitpack.io + + @@ -25,18 +32,32 @@ spring-cloud-starter-consul-config ${spring-cloud-starter-consul.version} - + + org.springframework.boot + spring-boot-starter-web + org.springframework.boot spring-boot-starter-test - ${spring-boot-starter-test.version} test + + com.github.kinguinltdhk + leadership-consul + ${kinguinltdhk.version} + + + com.ecwid.consul + consul-api + + + - 1.3.0.RELEASE - 1.5.10.RELEASE + 2.2.3.RELEASE + 0.3.1 + com.baeldung.spring.cloud.consul.discovery.DiscoveryClientApplication diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java index e01799b8d9..e27aaf09ae 100644 --- a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java @@ -11,7 +11,7 @@ import static org.springframework.boot.WebApplicationType.NONE; public class DiscoveryClientApplication { public static void main(String[] args) { - new SpringApplicationBuilder(DiscoveryClientApplication.class).web(NONE) + new SpringApplicationBuilder(DiscoveryClientApplication.class) .run(args); } From 1441609020d1998143ecc9e9abbf43e1ac8d10e3 Mon Sep 17 00:00:00 2001 From: Cavero Barca Date: Thu, 23 Jul 2020 17:04:30 +0200 Subject: [PATCH 03/94] Add Leadership Election example and configuration --- .../consul/leadership/LeadershipElection.java | 16 ++++++++++++++++ .../src/main/resources/application.yml | 17 ++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java new file mode 100644 index 0000000000..184a1e2213 --- /dev/null +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java @@ -0,0 +1,16 @@ +package com.baeldung.spring.cloud.consul.leadership; + +import java.util.concurrent.ExecutionException; + +import net.kinguin.leadership.consul.factory.SimpleConsulClusterFactory; + +public class LeadershipElection { + public static void main(String[] args) throws ExecutionException, InterruptedException { + new SimpleConsulClusterFactory() + .mode(SimpleConsulClusterFactory.MODE_MULTI) + .debug(true) + .build() + .asObservable() + .subscribe(i -> System.out.println(i)); + } +} diff --git a/spring-cloud/spring-cloud-consul/src/main/resources/application.yml b/spring-cloud/spring-cloud-consul/src/main/resources/application.yml index ccdc3fdeee..85cfb35685 100644 --- a/spring-cloud/spring-cloud-consul/src/main/resources/application.yml +++ b/spring-cloud/spring-cloud-consul/src/main/resources/application.yml @@ -11,4 +11,19 @@ spring: enabled: true instanceId: ${spring.application.name}:${random.value} server: - port: 0 \ No newline at end of file + port: 0 + +cluster: + leader: + serviceName: cluster + serviceId: node-1 + consul: + host: localhost + port: 8500 + discovery: + enabled: false + session: + ttl: 15 + refresh: 7 + election: + envelopeTemplate: services/%s/leader \ No newline at end of file From 29112018323dc0d52ab616490979bd8fdde9641f Mon Sep 17 00:00:00 2001 From: Philippe Date: Tue, 28 Jul 2020 10:26:00 -0300 Subject: [PATCH 04/94] [BAEL-4381] Intro to ArchUnit --- .../article-resources/archunit/figure1.drawio | 1 + .../article-resources/archunit/figure1.png | Bin 0 -> 15103 bytes libraries-testing/pom.xml | 14 ++- .../smurfs/persistence/SmurfsRepository.java | 49 ++++++++++ .../smurfs/persistence/domain/Smurf.java | 64 ++++++++++++ .../smurfs/presentation/SmurfsController.java | 27 +++++ .../smurfs/service/SmurfsService.java | 41 ++++++++ .../archunit/smurfs/service/dto/SmurfDTO.java | 64 ++++++++++++ .../archunit/smurfs/SmurfsArchUnitTest.java | 92 ++++++++++++++++++ 9 files changed, 349 insertions(+), 3 deletions(-) create mode 100644 libraries-testing/article-resources/archunit/figure1.drawio create mode 100644 libraries-testing/article-resources/archunit/figure1.png create mode 100644 libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/SmurfsRepository.java create mode 100644 libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/domain/Smurf.java create mode 100644 libraries-testing/src/main/java/com/baldung/archunit/smurfs/presentation/SmurfsController.java create mode 100644 libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/SmurfsService.java create mode 100644 libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/dto/SmurfDTO.java create mode 100644 libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java diff --git a/libraries-testing/article-resources/archunit/figure1.drawio b/libraries-testing/article-resources/archunit/figure1.drawio new file mode 100644 index 0000000000..859d9946a1 --- /dev/null +++ b/libraries-testing/article-resources/archunit/figure1.drawio @@ -0,0 +1 @@ +7VjbctowEP0aP9LBNgb3sSa3BzJNJ+2kk5eMsBdbrax1ZUEgX1/Jlm84YWgbKL3wwFhHa3l99pyVwHKn6fpSkCy5xgiY5QyjteWeWY7jj331rYFNCXjOsARiQaMSshvglj6BAauwJY0g7wRKRCZp1gVD5BxC2cGIEPjYDVsg6z41IzH0gNuQsD56RyOZGNQev20mroDGiXm070zKiTkJv8YCl9w8jyOHciYl1TLmHfOERPjYgtxzy50KRFlepespMM1qxVh538ULs3XKArjc54YrsrkffLj+Bp8ePr+/GTw409XdwKyyImxpqEg3JMsYDYmkyE3mclMRpV4i05eaYRCWGyyQy1szb6txnpGQ8vgjZhoYKkSSecXpyIxrKu1RCdxgTovnuWcMFmomSGTKzJIrEFLlw94xGusIqdcOiBmZeJ3HBUkp0wqcLUMaEZX5FHmOOreAkTmwoK7WFBmK4pXcRfHRS1DGWvhF8VF4n+iKNZUYrFuQIf4SMAUpNiqkmvWMCIw/7EoUj43aJr7BkpbQRq4BiVF4XK/dlFpdmGr/QOUnvcpbzpikmlomi7dujyLIgEd5DcadEDPa0gpEymNmiEImGCMn7LxBg6IUoLPUwmhiZljKR4FfQMqNaRhkKbErjYjkSXG//ToSeLHUOS5FCDvodE3XIiIGuSPOK+M0NzuFI4ApB666/enVReD2RJCDWNEQTsL4bUMWjbXn+udbwyGFsL/nPX/L837f8874Gc/bB/P8+N/26GhPj7on5VH/KI16ponvFq7yWqiILiy/7baURlGpEcjpE5kX62mVZEi5LHjwAss7O1Tdd2m859P68Gjy7JzCnvPvYPhG7dOmX+9darPcjWagtf9POq1gYHvdFXCxyJUkt6VSJ/Xz6hn11JOpaikKT+d892e3eXuyR5v3jtrmvX7NQeQ0l8BPZGc/Vn0PeKTf3t5Hw9++vVe/pk/Z7P+d/UsV7v9eP6UD+19o64Oe2tWw+f+n3PGbv9fc8+8= \ No newline at end of file diff --git a/libraries-testing/article-resources/archunit/figure1.png b/libraries-testing/article-resources/archunit/figure1.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd8e9647b07a46e7d8e363ba750fa838c07debb GIT binary patch literal 15103 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 JmKeML@n88 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 libraries-testing libraries-testing @@ -158,6 +158,13 @@ test + + com.tngtech.archunit + archunit-junit5 + ${archunit.version} + test + + @@ -193,7 +200,7 @@ 1.5.7.1 - 1.9.9 + 1.9.9 1.9.0 1.9.0 1.9.27 @@ -210,6 +217,7 @@ 1.8 1.8 3.8.1 + 0.14.1 diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/SmurfsRepository.java b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/SmurfsRepository.java new file mode 100644 index 0000000000..8107e6317a --- /dev/null +++ b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/SmurfsRepository.java @@ -0,0 +1,49 @@ +/** + * + */ +package com.baldung.archunit.smurfs.persistence; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.TreeMap; + +import com.baldung.archunit.smurfs.persistence.domain.Smurf; + +import static java.util.stream.Collectors.toList; + +/** + * @author Philippe + * + */ +public class SmurfsRepository { + + private static Map smurfs = Collections.synchronizedMap(new TreeMap<>()); + + static { + // Just a few here. A full list can be found + // at https://smurfs.fandom.com/wiki/List_of_Smurf_characters + smurfs.put("Papa", new Smurf("Papa", true, true)); + smurfs.put("Actor", new Smurf("Actor", true, true)); + smurfs.put("Alchemist", new Smurf("Alchemist", true, true)); + smurfs.put("Archeologist", new Smurf("Archeologist", true, true)); + smurfs.put("Architect", new Smurf("Architect", true, true)); + smurfs.put("Baby", new Smurf("Baby", true, true)); + smurfs.put("Baker", new Smurf("Baker", true, true)); + smurfs.put("Baker", new Smurf("Baker", true, true)); + } + + public SmurfsRepository() { + + } + + public List findAll() { + return Collections.unmodifiableList(smurfs.values().stream().collect(toList())); + } + + public Optional findByName(String name) { + return Optional.of(smurfs.get(name)); + } + +} diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/domain/Smurf.java b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/domain/Smurf.java new file mode 100644 index 0000000000..468266cf9a --- /dev/null +++ b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/domain/Smurf.java @@ -0,0 +1,64 @@ +/** + * + */ +package com.baldung.archunit.smurfs.persistence.domain; + +/** + * @author Philippe + * + */ +public class Smurf { + private String name; + private boolean comic; + private boolean cartoon; + + public Smurf() {} + + public Smurf(String name, boolean comic, boolean cartoon) { + this.name = name; + this.comic = comic; + this.cartoon = cartoon; + } + + /** + * @return the name + */ + public String getName() { + return name; + } + + /** + * @param name the name to set + */ + public void setName(String name) { + this.name = name; + } + + /** + * @return the commic + */ + public boolean isComic() { + return comic; + } + + /** + * @param commic the commic to set + */ + public void setCommic(boolean comic) { + this.comic = comic; + } + + /** + * @return the cartoon + */ + public boolean isCartoon() { + return cartoon; + } + + /** + * @param cartoon the cartoon to set + */ + public void setCartoon(boolean cartoon) { + this.cartoon = cartoon; + } +} diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/presentation/SmurfsController.java b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/presentation/SmurfsController.java new file mode 100644 index 0000000000..c0aff4ec03 --- /dev/null +++ b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/presentation/SmurfsController.java @@ -0,0 +1,27 @@ +package com.baldung.archunit.smurfs.presentation; + +import java.util.List; + +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.baldung.archunit.smurfs.service.SmurfsService; +import com.baldung.archunit.smurfs.service.dto.SmurfDTO; + +@RequestMapping(value = "/smurfs", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) +@RestController +public class SmurfsController { + + private SmurfsService smurfs; + + public SmurfsController(SmurfsService smurfs) { + this.smurfs = smurfs; + } + + @GetMapping + public List getSmurfs() { + return smurfs.findAll(); + } +} diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/SmurfsService.java b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/SmurfsService.java new file mode 100644 index 0000000000..40ffcc955c --- /dev/null +++ b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/SmurfsService.java @@ -0,0 +1,41 @@ +/** + * + */ +package com.baldung.archunit.smurfs.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.stereotype.Component; + +import com.baldung.archunit.smurfs.persistence.SmurfsRepository; +import com.baldung.archunit.smurfs.persistence.domain.Smurf; +import com.baldung.archunit.smurfs.service.dto.SmurfDTO; + +/** + * @author Philippe + * + */ +@Component +public class SmurfsService { + + private SmurfsRepository repository; + + public SmurfsService(SmurfsRepository repository) { + this.repository = repository; + } + + public List findAll() { + + return repository.findAll() + .stream() + .map(SmurfsService::toDTO) + .collect(Collectors.toList()); + } + + + public static SmurfDTO toDTO(Smurf smurf) { + return new SmurfDTO(smurf.getName(),smurf.isComic(), smurf.isCartoon()); + } + +} diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/dto/SmurfDTO.java b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/dto/SmurfDTO.java new file mode 100644 index 0000000000..3c49262f9d --- /dev/null +++ b/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/dto/SmurfDTO.java @@ -0,0 +1,64 @@ +/** + * + */ +package com.baldung.archunit.smurfs.service.dto; + +import com.baldung.archunit.smurfs.persistence.domain.Smurf; + +/** + * @author Philippe + * + */ +public class SmurfDTO { + private String name; + private boolean comic; + private boolean cartoon; + + public SmurfDTO() {} + + public SmurfDTO(String name, boolean comic, boolean cartoon) { + this.name = name; + this.comic = comic; + this.cartoon = cartoon; + } + + + /** + * @return the name + */ + public String getName() { + return name; + } + /** + * @param name the name to set + */ + public void setName(String name) { + this.name = name; + } + /** + * @return the commic + */ + public boolean isComic() { + return comic; + } + /** + * @param commic the commic to set + */ + public void setCommic(boolean comic) { + this.comic = comic; + } + /** + * @return the cartoon + */ + public boolean isCartoon() { + return cartoon; + } + /** + * @param cartoon the cartoon to set + */ + public void setCartoon(boolean cartoon) { + this.cartoon = cartoon; + } + + +} diff --git a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java new file mode 100644 index 0000000000..b0c4397794 --- /dev/null +++ b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java @@ -0,0 +1,92 @@ +/** + * + */ +package com.baeldung.archunit.smurfs; + + +import com.tngtech.archunit.core.domain.JavaClasses; +import com.tngtech.archunit.core.importer.ClassFileImporter; +import com.tngtech.archunit.lang.ArchRule; +import com.tngtech.archunit.library.Architectures.LayeredArchitecture; + +import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes; +import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.noClasses; +import static com.tngtech.archunit.library.Architectures.layeredArchitecture; + +import static org.junit.jupiter.api.Assertions.assertThrows; + +import org.junit.jupiter.api.Test; + +/** + * @author Philippe + * + */ +public class SmurfsArchUnitTest { + + @Test + public void givenPresentationLayerClasses_thenWrongCheckFails() { + JavaClasses jc = new ClassFileImporter().importPackages("com.baldung.archunit.smurfs"); + + ArchRule r1 = classes() + .that() + .resideInAPackage("..presentation..") + .should() + .onlyDependOnClassesThat() + .resideInAPackage("..service.."); + + assertThrows(AssertionError.class, ()-> r1.check(jc)) ; + } + + + @Test + public void givenPresentationLayerClasses_thenCheckWithFrameworkDependenciesSuccess() { + JavaClasses jc = new ClassFileImporter().importPackages("com.baldung.archunit.smurfs"); + + ArchRule r1 = classes() + .that() + .resideInAPackage("..presentation..") + .should() + .onlyDependOnClassesThat() + .resideInAnyPackage("..service..", "java..", "javax..", "org.springframework.."); + + r1.check(jc); + } + + @Test + public void givenPresentationLayerClasses_thenNoPersistenceLayerAccess() { + JavaClasses jc = new ClassFileImporter().importPackages("com.baldung.archunit.smurfs"); + + ArchRule r1 = noClasses() + .that() + .resideInAPackage("..presentation..") + .should() + .dependOnClassesThat() + .resideInAPackage("..persistence.."); + + + r1.check(jc); + } + + @Test + public void givenApplicationClasses_thenNoLayerViolationsShouldExist() { + + JavaClasses jc = new ClassFileImporter().importPackages("com.baldung.archunit.smurfs"); + + LayeredArchitecture arch = layeredArchitecture() + // Define layers + .layer("Presentation").definedBy("..presentation..") + .layer("Service").definedBy("..service..") + .layer("Persistence").definedBy("..persistence..") + // Add constraints + .whereLayer("Presentation").mayNotBeAccessedByAnyLayer() + .whereLayer("Service").mayOnlyBeAccessedByLayers("Presentation") + .whereLayer("Persistence").mayOnlyBeAccessedByLayers("Service"); + + + arch.check(jc); + + } + + + +} From 4dcdc5964600b721eddc4947ec0190197a9ae50b Mon Sep 17 00:00:00 2001 From: Philippe Date: Tue, 28 Jul 2020 10:30:33 -0300 Subject: [PATCH 05/94] [BAEL-4381] Intro to ArchUnit Code formatting --- .../java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java index b0c4397794..a89716fe9c 100644 --- a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java +++ b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java @@ -62,7 +62,6 @@ public class SmurfsArchUnitTest { .should() .dependOnClassesThat() .resideInAPackage("..persistence.."); - r1.check(jc); } @@ -81,10 +80,8 @@ public class SmurfsArchUnitTest { .whereLayer("Presentation").mayNotBeAccessedByAnyLayer() .whereLayer("Service").mayOnlyBeAccessedByLayers("Presentation") .whereLayer("Persistence").mayOnlyBeAccessedByLayers("Service"); - arch.check(jc); - } From 2355ccfb5e8bb4f7a886b7a8c12fe7b9fa37177a Mon Sep 17 00:00:00 2001 From: Philippe Date: Tue, 28 Jul 2020 10:31:18 -0300 Subject: [PATCH 06/94] [BAEL-4381] Intro to ArchUnit Code formatting --- .../java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java index a89716fe9c..fa4428e599 100644 --- a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java +++ b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java @@ -83,7 +83,4 @@ public class SmurfsArchUnitTest { arch.check(jc); } - - - } From 751c60fb71266be15120d45871f7b00efac8e53f Mon Sep 17 00:00:00 2001 From: Philippe Date: Tue, 28 Jul 2020 10:44:32 -0300 Subject: [PATCH 07/94] [BAEL-4381] Intro to ArchUnit Package typo --- .../archunit/smurfs/persistence/SmurfsRepository.java | 4 ++-- .../archunit/smurfs/persistence/domain/Smurf.java | 2 +- .../archunit/smurfs/presentation/SmurfsController.java | 6 +++--- .../archunit/smurfs/service/SmurfsService.java | 8 ++++---- .../archunit/smurfs/service/dto/SmurfDTO.java | 4 ++-- .../com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java | 8 ++++---- 6 files changed, 16 insertions(+), 16 deletions(-) rename libraries-testing/src/main/java/com/{baldung => baeldung}/archunit/smurfs/persistence/SmurfsRepository.java (92%) rename libraries-testing/src/main/java/com/{baldung => baeldung}/archunit/smurfs/persistence/domain/Smurf.java (94%) rename libraries-testing/src/main/java/com/{baldung => baeldung}/archunit/smurfs/presentation/SmurfsController.java (78%) rename libraries-testing/src/main/java/com/{baldung => baeldung}/archunit/smurfs/service/SmurfsService.java (74%) rename libraries-testing/src/main/java/com/{baldung => baeldung}/archunit/smurfs/service/dto/SmurfDTO.java (90%) diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/SmurfsRepository.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java similarity index 92% rename from libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/SmurfsRepository.java rename to libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java index 8107e6317a..1dee45087a 100644 --- a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/SmurfsRepository.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java @@ -1,7 +1,7 @@ /** * */ -package com.baldung.archunit.smurfs.persistence; +package com.baeldung.archunit.smurfs.persistence; import java.util.Collections; import java.util.List; @@ -9,7 +9,7 @@ import java.util.Map; import java.util.Optional; import java.util.TreeMap; -import com.baldung.archunit.smurfs.persistence.domain.Smurf; +import com.baeldung.archunit.smurfs.persistence.domain.Smurf; import static java.util.stream.Collectors.toList; diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/domain/Smurf.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java similarity index 94% rename from libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/domain/Smurf.java rename to libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java index 468266cf9a..6e0f586a5b 100644 --- a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/persistence/domain/Smurf.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java @@ -1,7 +1,7 @@ /** * */ -package com.baldung.archunit.smurfs.persistence.domain; +package com.baeldung.archunit.smurfs.persistence.domain; /** * @author Philippe diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/presentation/SmurfsController.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/presentation/SmurfsController.java similarity index 78% rename from libraries-testing/src/main/java/com/baldung/archunit/smurfs/presentation/SmurfsController.java rename to libraries-testing/src/main/java/com/baeldung/archunit/smurfs/presentation/SmurfsController.java index c0aff4ec03..7e31980d89 100644 --- a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/presentation/SmurfsController.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/presentation/SmurfsController.java @@ -1,4 +1,4 @@ -package com.baldung.archunit.smurfs.presentation; +package com.baeldung.archunit.smurfs.presentation; import java.util.List; @@ -7,8 +7,8 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.baldung.archunit.smurfs.service.SmurfsService; -import com.baldung.archunit.smurfs.service.dto.SmurfDTO; +import com.baeldung.archunit.smurfs.service.SmurfsService; +import com.baeldung.archunit.smurfs.service.dto.SmurfDTO; @RequestMapping(value = "/smurfs", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RestController diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/SmurfsService.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/SmurfsService.java similarity index 74% rename from libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/SmurfsService.java rename to libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/SmurfsService.java index 40ffcc955c..e2c73ef77e 100644 --- a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/SmurfsService.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/SmurfsService.java @@ -1,16 +1,16 @@ /** * */ -package com.baldung.archunit.smurfs.service; +package com.baeldung.archunit.smurfs.service; import java.util.List; import java.util.stream.Collectors; import org.springframework.stereotype.Component; -import com.baldung.archunit.smurfs.persistence.SmurfsRepository; -import com.baldung.archunit.smurfs.persistence.domain.Smurf; -import com.baldung.archunit.smurfs.service.dto.SmurfDTO; +import com.baeldung.archunit.smurfs.persistence.SmurfsRepository; +import com.baeldung.archunit.smurfs.persistence.domain.Smurf; +import com.baeldung.archunit.smurfs.service.dto.SmurfDTO; /** * @author Philippe diff --git a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/dto/SmurfDTO.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java similarity index 90% rename from libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/dto/SmurfDTO.java rename to libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java index 3c49262f9d..948d0b349a 100644 --- a/libraries-testing/src/main/java/com/baldung/archunit/smurfs/service/dto/SmurfDTO.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java @@ -1,9 +1,9 @@ /** * */ -package com.baldung.archunit.smurfs.service.dto; +package com.baeldung.archunit.smurfs.service.dto; -import com.baldung.archunit.smurfs.persistence.domain.Smurf; +import com.baeldung.archunit.smurfs.persistence.domain.Smurf; /** * @author Philippe diff --git a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java index fa4428e599..0231a2c51a 100644 --- a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java +++ b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java @@ -25,7 +25,7 @@ public class SmurfsArchUnitTest { @Test public void givenPresentationLayerClasses_thenWrongCheckFails() { - JavaClasses jc = new ClassFileImporter().importPackages("com.baldung.archunit.smurfs"); + JavaClasses jc = new ClassFileImporter().importPackages("com.baeldung.archunit.smurfs"); ArchRule r1 = classes() .that() @@ -40,7 +40,7 @@ public class SmurfsArchUnitTest { @Test public void givenPresentationLayerClasses_thenCheckWithFrameworkDependenciesSuccess() { - JavaClasses jc = new ClassFileImporter().importPackages("com.baldung.archunit.smurfs"); + JavaClasses jc = new ClassFileImporter().importPackages("com.baeldung.archunit.smurfs"); ArchRule r1 = classes() .that() @@ -54,7 +54,7 @@ public class SmurfsArchUnitTest { @Test public void givenPresentationLayerClasses_thenNoPersistenceLayerAccess() { - JavaClasses jc = new ClassFileImporter().importPackages("com.baldung.archunit.smurfs"); + JavaClasses jc = new ClassFileImporter().importPackages("com.baeldung.archunit.smurfs"); ArchRule r1 = noClasses() .that() @@ -69,7 +69,7 @@ public class SmurfsArchUnitTest { @Test public void givenApplicationClasses_thenNoLayerViolationsShouldExist() { - JavaClasses jc = new ClassFileImporter().importPackages("com.baldung.archunit.smurfs"); + JavaClasses jc = new ClassFileImporter().importPackages("com.baeldung.archunit.smurfs"); LayeredArchitecture arch = layeredArchitecture() // Define layers From 5db4e332b91e64a967fd7042021a225ce6df3f3a Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Wed, 5 Aug 2020 15:07:34 +0530 Subject: [PATCH 08/94] Added New Classes BAEL-4193 NoSuchMethodError --- .../nosuchmethoderror/MainMenu.java | 20 +++++++++++++++++++ .../nosuchmethoderror/SpecialToday.java | 14 +++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java create mode 100644 core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java diff --git a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java new file mode 100644 index 0000000000..aec70cb843 --- /dev/null +++ b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java @@ -0,0 +1,20 @@ +package com.baeldung.exceptions.nosuchmethoderror; + +import java.util.StringJoiner; + +public class MainMenu { + public static void main(String[] args) { + System.out.println("Today's Specials: " + getSpecials()); + } + + public static StringJoiner getSpecials() { + StringJoiner specials = new StringJoiner(", "); + try { + specials.add(SpecialToday.getStarter()); + specials.add(SpecialToday.getDesert()); + } catch (Exception e) { + e.printStackTrace(); + } + return specials; + } +} diff --git a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java new file mode 100644 index 0000000000..1f47a8934e --- /dev/null +++ b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java @@ -0,0 +1,14 @@ +package com.baeldung.exceptions.nosuchmethoderror; + +public class SpecialToday { + private static String desert = "Chocolate Cake"; + private static String starter = "Caesar Salad"; + + public static String getDesert() { + return desert; + } + + public static String getStarter() { + return starter; + } +} From 4c4cafde1eb732837f86fbb68581795cee758ac2 Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Wed, 5 Aug 2020 15:16:51 +0530 Subject: [PATCH 09/94] Added New File(s) - BAEL-4193 NoSuchMethodError --- .../nosuchmethoderror/MainMenuUnitTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java diff --git a/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java new file mode 100644 index 0000000000..e9aef1b484 --- /dev/null +++ b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java @@ -0,0 +1,14 @@ +package com.baeldung.exceptions.nosuchmethoderror; + +import static org.junit.Assert.assertNotNull; + +import org.junit.jupiter.api.Test; + +class MainMenuUnitTest { + + @Test + void testgetSpecials() { + assertNotNull(MainMenu.getSpecials()); + } + +} From 2679498f32546dfd50d0a04896a83a3ed07548ba Mon Sep 17 00:00:00 2001 From: Sebastian Luna Date: Fri, 7 Aug 2020 22:13:33 -0500 Subject: [PATCH 10/94] BAEL-4387 Add the code inside a test --- .../ArrayToListConversion.java | 33 ------------------- .../ArrayToListConvertion.java | 32 ++++++++++++++++++ 2 files changed, 32 insertions(+), 33 deletions(-) delete mode 100644 java-collections-conversions-2/src/main/java/com/baeldung/arrayconvertion/ArrayToListConversion.java create mode 100644 java-collections-conversions-2/src/test/java/com/baeldung/arrayconvertion/ArrayToListConvertion.java diff --git a/java-collections-conversions-2/src/main/java/com/baeldung/arrayconvertion/ArrayToListConversion.java b/java-collections-conversions-2/src/main/java/com/baeldung/arrayconvertion/ArrayToListConversion.java deleted file mode 100644 index 7e1002b22c..0000000000 --- a/java-collections-conversions-2/src/main/java/com/baeldung/arrayconvertion/ArrayToListConversion.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.baeldung.arrayconvertion; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class ArrayToListConversion { - - public static void main(String[] args) { - System.out.println("Array.asList()"); - arrayAsList(); - System.out.println("\nArrayList<>(Arrays.asList())"); - independentArray(); - } - - private static void arrayAsList() { - String[] stringArray = new String[] { "A", "B", "C", "D" }; - List stringList = Arrays.asList(stringArray); - System.out.println(stringList); // [A, B, C, D] - stringList.set(0, "E"); - System.out.println(stringList); // [E, B, C, D] - System.out.println(Arrays.toString(stringArray)); // [E, B, C, D] - } - - private static void independentArray() { - String[] stringArray = new String[] { "A", "B", "C", "D" }; - List stringList = new ArrayList<>(Arrays.asList(stringArray)); - System.out.println(stringList); // [A, B, C, D] - stringList.set(0, "E"); - System.out.println(stringList); // [E, B, C, D] - System.out.println(Arrays.toString(stringArray)); // [A, B, C, D] - } -} \ No newline at end of file diff --git a/java-collections-conversions-2/src/test/java/com/baeldung/arrayconvertion/ArrayToListConvertion.java b/java-collections-conversions-2/src/test/java/com/baeldung/arrayconvertion/ArrayToListConvertion.java new file mode 100644 index 0000000000..f0f3fda42e --- /dev/null +++ b/java-collections-conversions-2/src/test/java/com/baeldung/arrayconvertion/ArrayToListConvertion.java @@ -0,0 +1,32 @@ +package com.baeldung.arrayconvertion; + +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ArrayToListConvertion { + + @Test(expected = UnsupportedOperationException.class) + public void givenAnArray_whenConvertToList_returnUnmodifiableList() { + String[] stringArray = new String[] { "A", "B", "C", "D" }; + List stringList = Arrays.asList(stringArray); + System.out.println(stringList); + stringList.set(0, "E"); + System.out.println(stringList); + System.out.println(Arrays.toString(stringArray)); + stringList.add("F"); + } + + @Test + public void givenAnArray_whenConvertToList_returnModifiableList() { + String[] stringArray = new String[] { "A", "B", "C", "D" }; + List stringList = new ArrayList<>(Arrays.asList(stringArray)); + System.out.println(stringList); + stringList.set(0, "E"); + System.out.println(stringList); + System.out.println(Arrays.toString(stringArray)); + stringList.add("F"); + } +} From d8bfa4af436719ca98da73c8f7ff8c28cdc6cc9a Mon Sep 17 00:00:00 2001 From: Krzysiek Date: Mon, 10 Aug 2020 21:55:24 +0200 Subject: [PATCH 11/94] JAVA-2305: Move Use Criteria Queries in a Spring Data Application to spring-data-jpa-query-2 --- .../spring-data-jpa-query-2/README.md | 16 +++++++++ .../spring-data-jpa-query-2/pom.xml | 33 +++++++++++++++++++ .../persistence/dao/BookRepository.java | 0 .../persistence/dao/BookRepositoryCustom.java | 4 +-- .../persistence/dao/BookRepositoryImpl.java | 9 +++-- .../baeldung/persistence/dao/BookService.java | 12 +++---- .../persistence/dao/BookSpecifications.java | 0 .../com/baeldung/persistence/model/Book.java | 0 .../spring-data-jpa-query/README.md | 1 + persistence-modules/spring-jpa/README.md | 1 - 10 files changed, 62 insertions(+), 14 deletions(-) create mode 100644 persistence-modules/spring-data-jpa-query-2/README.md create mode 100644 persistence-modules/spring-data-jpa-query-2/pom.xml rename persistence-modules/{spring-jpa => spring-data-jpa-query-2}/src/main/java/com/baeldung/persistence/dao/BookRepository.java (100%) rename persistence-modules/{spring-jpa => spring-data-jpa-query-2}/src/main/java/com/baeldung/persistence/dao/BookRepositoryCustom.java (100%) rename persistence-modules/{spring-jpa => spring-data-jpa-query-2}/src/main/java/com/baeldung/persistence/dao/BookRepositoryImpl.java (99%) rename persistence-modules/{spring-jpa => spring-data-jpa-query-2}/src/main/java/com/baeldung/persistence/dao/BookService.java (90%) rename persistence-modules/{spring-jpa => spring-data-jpa-query-2}/src/main/java/com/baeldung/persistence/dao/BookSpecifications.java (100%) rename persistence-modules/{spring-jpa => spring-data-jpa-query-2}/src/main/java/com/baeldung/persistence/model/Book.java (100%) diff --git a/persistence-modules/spring-data-jpa-query-2/README.md b/persistence-modules/spring-data-jpa-query-2/README.md new file mode 100644 index 0000000000..a4d657d4c6 --- /dev/null +++ b/persistence-modules/spring-data-jpa-query-2/README.md @@ -0,0 +1,16 @@ +## Spring Data JPA - Query + +This module contains articles about querying data using Spring Data JPA + +### Relevant Articles: +- [Use Criteria Queries in a Spring Data Application](https://www.baeldung.com/spring-data-criteria-queries) +- More articles: [[<-- prev]](../spring-data-jpa-query) + +### Eclipse Config +After importing the project into Eclipse, you may see the following error: +"No persistence xml file found in project" + +This can be ignored: +- Project -> Properties -> Java Persistance -> JPA -> Error/Warnings -> Select Ignore on "No persistence xml file found in project" +Or: +- Eclipse -> Preferences - Validation - disable the "Build" execution of the JPA Validator diff --git a/persistence-modules/spring-data-jpa-query-2/pom.xml b/persistence-modules/spring-data-jpa-query-2/pom.xml new file mode 100644 index 0000000000..b9e5120543 --- /dev/null +++ b/persistence-modules/spring-data-jpa-query-2/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + spring-data-jpa-query + spring-data-jpa-query-2 + + + com.baeldung + parent-boot-2 + 0.0.1-SNAPSHOT + ../../parent-boot-2 + + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + com.h2database + h2 + + + + com.fasterxml.jackson.core + jackson-databind + + + + \ No newline at end of file diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookRepository.java b/persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookRepository.java similarity index 100% rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookRepository.java rename to persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookRepository.java diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookRepositoryCustom.java b/persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookRepositoryCustom.java similarity index 100% rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookRepositoryCustom.java rename to persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookRepositoryCustom.java index 1b46d0ecc3..eda34542df 100644 --- a/persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookRepositoryCustom.java +++ b/persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookRepositoryCustom.java @@ -1,9 +1,9 @@ package com.baeldung.persistence.dao; -import java.util.List; - import com.baeldung.persistence.model.Book; +import java.util.List; + public interface BookRepositoryCustom { List findBooksByAuthorNameAndTitle(String authorName, String title); diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookRepositoryImpl.java b/persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookRepositoryImpl.java similarity index 99% rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookRepositoryImpl.java rename to persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookRepositoryImpl.java index 241a4c05aa..7f5bedd018 100644 --- a/persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookRepositoryImpl.java +++ b/persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookRepositoryImpl.java @@ -1,7 +1,7 @@ package com.baeldung.persistence.dao; -import java.util.ArrayList; -import java.util.List; +import com.baeldung.persistence.model.Book; +import org.springframework.stereotype.Repository; import javax.persistence.EntityManager; import javax.persistence.TypedQuery; @@ -9,9 +9,8 @@ import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; - -import com.baeldung.persistence.model.Book; -import org.springframework.stereotype.Repository; +import java.util.ArrayList; +import java.util.List; @Repository public class BookRepositoryImpl implements BookRepositoryCustom { diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookService.java b/persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookService.java similarity index 90% rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookService.java rename to persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookService.java index f02f9daa11..4165cd8eb9 100644 --- a/persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookService.java +++ b/persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookService.java @@ -1,14 +1,14 @@ package com.baeldung.persistence.dao; -import static com.baeldung.persistence.dao.BookSpecifications.hasAuthor; -import static com.baeldung.persistence.dao.BookSpecifications.titleContains; -import static org.springframework.data.jpa.domain.Specifications.where; - -import java.util.List; - import com.baeldung.persistence.model.Book; import org.springframework.stereotype.Service; +import java.util.List; + +import static com.baeldung.persistence.dao.BookSpecifications.hasAuthor; +import static com.baeldung.persistence.dao.BookSpecifications.titleContains; +import static org.springframework.data.jpa.domain.Specification.where; + @Service public class BookService { diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookSpecifications.java b/persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookSpecifications.java similarity index 100% rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/dao/BookSpecifications.java rename to persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/dao/BookSpecifications.java diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/model/Book.java b/persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/model/Book.java similarity index 100% rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/persistence/model/Book.java rename to persistence-modules/spring-data-jpa-query-2/src/main/java/com/baeldung/persistence/model/Book.java diff --git a/persistence-modules/spring-data-jpa-query/README.md b/persistence-modules/spring-data-jpa-query/README.md index bfff3c0ef3..34e397394b 100644 --- a/persistence-modules/spring-data-jpa-query/README.md +++ b/persistence-modules/spring-data-jpa-query/README.md @@ -11,6 +11,7 @@ This module contains articles about querying data using Spring Data JPA - [Spring Data JPA Query by Example](https://www.baeldung.com/spring-data-query-by-example) - [JPA Join Types](https://www.baeldung.com/jpa-join-types) - [Spring Data JPA and Named Entity Graphs](https://www.baeldung.com/spring-data-jpa-named-entity-graphs) +- More articles: [[more -->]](../spring-data-jpa-query-2) ### Eclipse Config After importing the project into Eclipse, you may see the following error: diff --git a/persistence-modules/spring-jpa/README.md b/persistence-modules/spring-jpa/README.md index 94a1e1f575..cd7e090e09 100644 --- a/persistence-modules/spring-jpa/README.md +++ b/persistence-modules/spring-jpa/README.md @@ -10,7 +10,6 @@ - [Self-Contained Testing Using an In-Memory Database](https://www.baeldung.com/spring-jpa-test-in-memory-database) - [A Guide to Spring AbstractRoutingDatasource](https://www.baeldung.com/spring-abstract-routing-data-source) - [Obtaining Auto-generated Keys in Spring JDBC](https://www.baeldung.com/spring-jdbc-autogenerated-keys) -- [Use Criteria Queries in a Spring Data Application](https://www.baeldung.com/spring-data-criteria-queries) - [Many-To-Many Relationship in JPA](https://www.baeldung.com/jpa-many-to-many) - [Spring Persistence (Hibernate and JPA) with a JNDI datasource](https://www.baeldung.com/spring-persistence-hibernate-and-jpa-with-a-jndi-datasource-2) From ea9c64147ba4734719ee3ae4bddbcff904fa5514 Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Wed, 12 Aug 2020 07:24:44 +0530 Subject: [PATCH 12/94] BAEL-4193 (updated files) - removed not needed fields --- .../nosuchmethoderror/MainMenu.java | 21 ++++++------------- .../nosuchmethoderror/SpecialToday.java | 14 ++++--------- 2 files changed, 10 insertions(+), 25 deletions(-) diff --git a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java index aec70cb843..f12cbe1897 100644 --- a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java +++ b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java @@ -1,20 +1,11 @@ package com.baeldung.exceptions.nosuchmethoderror; -import java.util.StringJoiner; - public class MainMenu { - public static void main(String[] args) { - System.out.println("Today's Specials: " + getSpecials()); - } + public static void main(String[] args) { + System.out.println("Today's Specials: " + getSpecials()); + } - public static StringJoiner getSpecials() { - StringJoiner specials = new StringJoiner(", "); - try { - specials.add(SpecialToday.getStarter()); - specials.add(SpecialToday.getDesert()); - } catch (Exception e) { - e.printStackTrace(); - } - return specials; - } + public static String getSpecials() { + return SpecialToday.getDesert(); + } } diff --git a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java index 1f47a8934e..1b0dea9784 100644 --- a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java +++ b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java @@ -1,14 +1,8 @@ package com.baeldung.exceptions.nosuchmethoderror; - public class SpecialToday { - private static String desert = "Chocolate Cake"; - private static String starter = "Caesar Salad"; + private static String desert = "Chocolate Cake"; - public static String getDesert() { - return desert; - } - - public static String getStarter() { - return starter; - } + public static String getDesert() { + return desert; + } } From eb4ce37f31a2925791f02d3e810bcd1103586d43 Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Thu, 13 Aug 2020 08:31:19 +0530 Subject: [PATCH 13/94] Update MainMenuUnitTest.java Updated the method name to follow BDD conventions --- .../baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java index e9aef1b484..7e53fa9c0e 100644 --- a/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java +++ b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Test; class MainMenuUnitTest { @Test - void testgetSpecials() { + void whenGetSpecials_thenNotNull() { assertNotNull(MainMenu.getSpecials()); } From 9e2161f36bbb38d1628f169fb5b30cce72f7a1c2 Mon Sep 17 00:00:00 2001 From: Loredana Crusoveanu Date: Thu, 13 Aug 2020 17:10:29 +0300 Subject: [PATCH 14/94] Delete README.md --- excelformula/README.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 excelformula/README.md diff --git a/excelformula/README.md b/excelformula/README.md deleted file mode 100644 index 24560525cd..0000000000 --- a/excelformula/README.md +++ /dev/null @@ -1,5 +0,0 @@ -## Apache POI - -This module contains articles about Apache POI - -### Relevant Articles: From 850ace5f5e34bc2747aa82546837abdc286cec6a Mon Sep 17 00:00:00 2001 From: Mona Mohamadinia Date: Fri, 14 Aug 2020 03:02:52 +0430 Subject: [PATCH 15/94] Custom Health Indicators in Spring Boot --- .../baeldung/health/HealthApplication.java | 12 ++++++++ .../health/RandomHealthIndicator.java | 28 +++++++++++++++++++ .../src/main/resources/application.properties | 6 +++- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/HealthApplication.java create mode 100644 spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/RandomHealthIndicator.java diff --git a/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/HealthApplication.java b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/HealthApplication.java new file mode 100644 index 0000000000..af1f35b29f --- /dev/null +++ b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/HealthApplication.java @@ -0,0 +1,12 @@ +package com.baeldung.health; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class HealthApplication { + + public static void main(String[] args) { + SpringApplication.run(HealthApplication.class, args); + } +} diff --git a/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/RandomHealthIndicator.java b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/RandomHealthIndicator.java new file mode 100644 index 0000000000..958f173458 --- /dev/null +++ b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/RandomHealthIndicator.java @@ -0,0 +1,28 @@ +package com.baeldung.health; + +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ThreadLocalRandom; + +@Component +public class RandomHealthIndicator implements HealthIndicator { + + @Override + public Health health() { + double chance = ThreadLocalRandom.current().nextDouble(); + Health.Builder status = Health.up(); + if (chance > 0.9) { + status = Health.down(new RuntimeException("Bad Luck")); + } + + Map details = new HashMap<>(); + details.put("chance", chance); + details.put("strategy", "thread-local"); + + return status.withDetails(details).build(); + } +} diff --git a/spring-boot-modules/spring-boot-actuator/src/main/resources/application.properties b/spring-boot-modules/spring-boot-actuator/src/main/resources/application.properties index 8c706a9b1d..290221b731 100644 --- a/spring-boot-modules/spring-boot-actuator/src/main/resources/application.properties +++ b/spring-boot-modules/spring-boot-actuator/src/main/resources/application.properties @@ -1 +1,5 @@ -management.health.probes.enabled=true \ No newline at end of file +management.health.probes.enabled=true +management.endpoint.health.show-details=always +management.health.random.enabled=false +management.endpoint.health.status.http-mapping.down=500 +management.endpoint.health.status.http-mapping.out_of_service=503 \ No newline at end of file From 89ef54df80995ef56f7e31fa926749d0ae62ece6 Mon Sep 17 00:00:00 2001 From: Mona Mohamadinia Date: Fri, 14 Aug 2020 03:26:35 +0430 Subject: [PATCH 16/94] Added a HttpCodeStatusMapper impl. --- .../health/CustomStatusCodeMapper.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/CustomStatusCodeMapper.java diff --git a/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/CustomStatusCodeMapper.java b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/CustomStatusCodeMapper.java new file mode 100644 index 0000000000..0ff6773240 --- /dev/null +++ b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/CustomStatusCodeMapper.java @@ -0,0 +1,26 @@ +package com.baeldung.health; + +import org.springframework.boot.actuate.health.HttpCodeStatusMapper; +import org.springframework.boot.actuate.health.Status; +import org.springframework.stereotype.Component; + +@Component +public class CustomStatusCodeMapper implements HttpCodeStatusMapper { + + @Override + public int getStatusCode(Status status) { + if (status == Status.DOWN) { + return 500; + } + + if (status == Status.OUT_OF_SERVICE) { + return 503; + } + + if (status == Status.UNKNOWN) { + return 500; + } + + return 200; + } +} From f7915d9f62817abd4d9d8095befdfd2a25b28484 Mon Sep 17 00:00:00 2001 From: Philippe Date: Fri, 14 Aug 2020 09:29:27 -0300 Subject: [PATCH 17/94] [BAEL-4381] Fix formatting --- .../smurfs/persistence/SmurfsRepository.java | 7 ------ .../smurfs/persistence/domain/Smurf.java | 7 ------ .../smurfs/service/SmurfsService.java | 8 +----- .../archunit/smurfs/service/dto/SmurfDTO.java | 10 +------- .../archunit/smurfs/SmurfsArchUnitTest.java | 25 +++++++------------ 5 files changed, 11 insertions(+), 46 deletions(-) diff --git a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java index 1dee45087a..c18fcbc839 100644 --- a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java @@ -1,6 +1,3 @@ -/** - * - */ package com.baeldung.archunit.smurfs.persistence; import java.util.Collections; @@ -13,10 +10,6 @@ import com.baeldung.archunit.smurfs.persistence.domain.Smurf; import static java.util.stream.Collectors.toList; -/** - * @author Philippe - * - */ public class SmurfsRepository { private static Map smurfs = Collections.synchronizedMap(new TreeMap<>()); diff --git a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java index 6e0f586a5b..04427a8037 100644 --- a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java @@ -1,12 +1,5 @@ -/** - * - */ package com.baeldung.archunit.smurfs.persistence.domain; -/** - * @author Philippe - * - */ public class Smurf { private String name; private boolean comic; diff --git a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/SmurfsService.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/SmurfsService.java index e2c73ef77e..4034b33b39 100644 --- a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/SmurfsService.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/SmurfsService.java @@ -1,6 +1,4 @@ -/** - * - */ + package com.baeldung.archunit.smurfs.service; import java.util.List; @@ -12,10 +10,6 @@ import com.baeldung.archunit.smurfs.persistence.SmurfsRepository; import com.baeldung.archunit.smurfs.persistence.domain.Smurf; import com.baeldung.archunit.smurfs.service.dto.SmurfDTO; -/** - * @author Philippe - * - */ @Component public class SmurfsService { diff --git a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java index 948d0b349a..ac87b2137c 100644 --- a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java @@ -1,14 +1,6 @@ -/** - * - */ + package com.baeldung.archunit.smurfs.service.dto; -import com.baeldung.archunit.smurfs.persistence.domain.Smurf; - -/** - * @author Philippe - * - */ public class SmurfDTO { private String name; private boolean comic; diff --git a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java index 0231a2c51a..68a33be69b 100644 --- a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java +++ b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java @@ -17,10 +17,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import org.junit.jupiter.api.Test; -/** - * @author Philippe - * - */ public class SmurfsArchUnitTest { @Test @@ -29,10 +25,9 @@ public class SmurfsArchUnitTest { ArchRule r1 = classes() .that() - .resideInAPackage("..presentation..") - .should() - .onlyDependOnClassesThat() - .resideInAPackage("..service.."); + .resideInAPackage("..presentation..") + .should().onlyDependOnClassesThat() + .resideInAPackage("..service.."); assertThrows(AssertionError.class, ()-> r1.check(jc)) ; } @@ -44,10 +39,9 @@ public class SmurfsArchUnitTest { ArchRule r1 = classes() .that() - .resideInAPackage("..presentation..") - .should() - .onlyDependOnClassesThat() - .resideInAnyPackage("..service..", "java..", "javax..", "org.springframework.."); + .resideInAPackage("..presentation..") + .should().onlyDependOnClassesThat() + .resideInAnyPackage("..service..", "java..", "javax..", "org.springframework.."); r1.check(jc); } @@ -58,10 +52,9 @@ public class SmurfsArchUnitTest { ArchRule r1 = noClasses() .that() - .resideInAPackage("..presentation..") - .should() - .dependOnClassesThat() - .resideInAPackage("..persistence.."); + .resideInAPackage("..presentation..") + .should().dependOnClassesThat() + .resideInAPackage("..persistence.."); r1.check(jc); } From 29316a01f3c79f13b4f8455ca24aeb4fa07e071f Mon Sep 17 00:00:00 2001 From: Philippe Date: Fri, 14 Aug 2020 11:41:36 -0300 Subject: [PATCH 18/94] [BAEL-4381] Fix formatting --- .../smurfs/persistence/domain/Smurf.java | 18 ------------- .../archunit/smurfs/service/dto/SmurfDTO.java | 25 ++++--------------- 2 files changed, 5 insertions(+), 38 deletions(-) diff --git a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java index 04427a8037..255a024cdc 100644 --- a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/domain/Smurf.java @@ -13,44 +13,26 @@ public class Smurf { this.cartoon = cartoon; } - /** - * @return the name - */ public String getName() { return name; } - /** - * @param name the name to set - */ public void setName(String name) { this.name = name; } - /** - * @return the commic - */ public boolean isComic() { return comic; } - /** - * @param commic the commic to set - */ public void setCommic(boolean comic) { this.comic = comic; } - /** - * @return the cartoon - */ public boolean isCartoon() { return cartoon; } - /** - * @param cartoon the cartoon to set - */ public void setCartoon(boolean cartoon) { this.cartoon = cartoon; } diff --git a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java index ac87b2137c..523c639c41 100644 --- a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/service/dto/SmurfDTO.java @@ -14,43 +14,28 @@ public class SmurfDTO { this.cartoon = cartoon; } - - /** - * @return the name - */ public String getName() { return name; } - /** - * @param name the name to set - */ + public void setName(String name) { this.name = name; } - /** - * @return the commic - */ + public boolean isComic() { return comic; } - /** - * @param commic the commic to set - */ + public void setCommic(boolean comic) { this.comic = comic; } - /** - * @return the cartoon - */ + public boolean isCartoon() { return cartoon; } - /** - * @param cartoon the cartoon to set - */ + public void setCartoon(boolean cartoon) { this.cartoon = cartoon; } - } From 10349f5185f16f53487c88c10bf623a3a3698292 Mon Sep 17 00:00:00 2001 From: Philippe Date: Fri, 14 Aug 2020 22:58:58 -0300 Subject: [PATCH 19/94] [BAEL-4381] Fix formatting --- .../article-resources/archunit/figure1.drawio | 1 - .../article-resources/archunit/figure1.png | Bin 15103 -> 0 bytes 2 files changed, 1 deletion(-) delete mode 100644 libraries-testing/article-resources/archunit/figure1.drawio delete mode 100644 libraries-testing/article-resources/archunit/figure1.png diff --git a/libraries-testing/article-resources/archunit/figure1.drawio b/libraries-testing/article-resources/archunit/figure1.drawio deleted file mode 100644 index 859d9946a1..0000000000 --- a/libraries-testing/article-resources/archunit/figure1.drawio +++ /dev/null @@ -1 +0,0 @@ -7VjbctowEP0aP9LBNgb3sSa3BzJNJ+2kk5eMsBdbrax1ZUEgX1/Jlm84YWgbKL3wwFhHa3l99pyVwHKn6fpSkCy5xgiY5QyjteWeWY7jj331rYFNCXjOsARiQaMSshvglj6BAauwJY0g7wRKRCZp1gVD5BxC2cGIEPjYDVsg6z41IzH0gNuQsD56RyOZGNQev20mroDGiXm070zKiTkJv8YCl9w8jyOHciYl1TLmHfOERPjYgtxzy50KRFlepespMM1qxVh538ULs3XKArjc54YrsrkffLj+Bp8ePr+/GTw409XdwKyyImxpqEg3JMsYDYmkyE3mclMRpV4i05eaYRCWGyyQy1szb6txnpGQ8vgjZhoYKkSSecXpyIxrKu1RCdxgTovnuWcMFmomSGTKzJIrEFLlw94xGusIqdcOiBmZeJ3HBUkp0wqcLUMaEZX5FHmOOreAkTmwoK7WFBmK4pXcRfHRS1DGWvhF8VF4n+iKNZUYrFuQIf4SMAUpNiqkmvWMCIw/7EoUj43aJr7BkpbQRq4BiVF4XK/dlFpdmGr/QOUnvcpbzpikmlomi7dujyLIgEd5DcadEDPa0gpEymNmiEImGCMn7LxBg6IUoLPUwmhiZljKR4FfQMqNaRhkKbErjYjkSXG//ToSeLHUOS5FCDvodE3XIiIGuSPOK+M0NzuFI4ApB666/enVReD2RJCDWNEQTsL4bUMWjbXn+udbwyGFsL/nPX/L837f8874Gc/bB/P8+N/26GhPj7on5VH/KI16ponvFq7yWqiILiy/7baURlGpEcjpE5kX62mVZEi5LHjwAss7O1Tdd2m859P68Gjy7JzCnvPvYPhG7dOmX+9darPcjWagtf9POq1gYHvdFXCxyJUkt6VSJ/Xz6hn11JOpaikKT+d892e3eXuyR5v3jtrmvX7NQeQ0l8BPZGc/Vn0PeKTf3t5Hw9++vVe/pk/Z7P+d/UsV7v9eP6UD+19o64Oe2tWw+f+n3PGbv9fc8+8= \ No newline at end of file diff --git a/libraries-testing/article-resources/archunit/figure1.png b/libraries-testing/article-resources/archunit/figure1.png deleted file mode 100644 index 8bd8e9647b07a46e7d8e363ba750fa838c07debb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15103 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 JmKeML@n88 Date: Sat, 15 Aug 2020 16:48:24 +0300 Subject: [PATCH 20/94] BAEL-4394: Line at a given number tests --- .../linenumber/LineAtGivenNumberTest.java | 88 +++++++++++++++++++ .../src/test/resources/linesInput.txt | 5 ++ 2 files changed, 93 insertions(+) create mode 100644 core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java create mode 100644 core-java-modules/core-java-io-3/src/test/resources/linesInput.txt diff --git a/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java new file mode 100644 index 0000000000..b73320c8d9 --- /dev/null +++ b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java @@ -0,0 +1,88 @@ +package com.baeldung.linenumber; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.junit.Test; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.List; +import java.util.Scanner; +import java.util.stream.Stream; + +import static org.junit.Assert.assertEquals; + +public class LineAtGivenNumberTest { + + private static final String FILE_PATH = "src/test/resources/linesInput.txt"; + + @Test + public void givenFile_whenUsingBufferedReader_thenExtractedLineIsCorrect() throws IOException { + try (BufferedReader br = Files.newBufferedReader(Paths.get(FILE_PATH))) { + for (int i = 0; i < 3; i++) { + br.readLine(); + } + + String extractedLine = br.readLine(); + String expectedLine = "Line 4"; + assertEquals(expectedLine, extractedLine); + } + } + + @Test + public void givenFile_whenUsingScanner_thenExtractedLineIsCorrect() throws IOException { + try (Scanner scanner = new Scanner(new File(FILE_PATH))) { + for (int i = 0; i < 3; i++) { + scanner.nextLine(); + } + + String extractedLine = scanner.nextLine(); + String expectedLine = "Line 4"; + assertEquals(expectedLine, extractedLine); + } + } + + @Test + public void givenSmallFile_whenUsingFilesAPI_thenExtractedLineIsCorrect() throws IOException { + String extractedLine = Files.readAllLines(Paths.get(FILE_PATH)).get(4); + String expectedLine = "Line 5"; + + assertEquals(expectedLine, extractedLine); + } + + @Test + public void givenLargeFile_whenUsingFilesAPI_thenExtractedLineIsCorrect() throws IOException { + try (Stream lines = Files.lines(Paths.get(FILE_PATH))) { + String extractedLine = lines.skip(4).findFirst().get(); + String expectedLine = "Line 5"; + + assertEquals(expectedLine, extractedLine); + } + } + + @Test + public void givenFile_whenUsingFIleUtils_thenExtractedLineIsCorrect() throws IOException { + ClassLoader classLoader = getClass().getClassLoader(); + File file = new File(classLoader.getResource("linesInput.txt").getFile()); + + List lines = FileUtils.readLines(file, "UTF-8"); + + String extractedLine = lines.get(0); + String expectedLine = "Line 1"; + assertEquals(expectedLine, extractedLine); + } + + @Test + public void givenFile_whenUsingIOUtils_thenExtractedLineIsCorrect() throws IOException { + String fileContent = IOUtils.toString(new FileInputStream(FILE_PATH), StandardCharsets.UTF_8); + + String extractedLine = fileContent.split(System.lineSeparator())[0]; + String expectedLine = "Line 1"; + assertEquals(expectedLine, extractedLine); + } +} diff --git a/core-java-modules/core-java-io-3/src/test/resources/linesInput.txt b/core-java-modules/core-java-io-3/src/test/resources/linesInput.txt new file mode 100644 index 0000000000..572d5d9483 --- /dev/null +++ b/core-java-modules/core-java-io-3/src/test/resources/linesInput.txt @@ -0,0 +1,5 @@ +Line 1 +Line 2 +Line 3 +Line 4 +Line 5 From b6e9fa3848f96fdd6628bf5919f2b6604f324485 Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Mon, 17 Aug 2020 16:48:47 +0530 Subject: [PATCH 21/94] Delete MainMenuUnitTest.java Moving code to a new module - core-java-exceptions-3 --- .../nosuchmethoderror/MainMenuUnitTest.java | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java diff --git a/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java deleted file mode 100644 index 7e53fa9c0e..0000000000 --- a/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.baeldung.exceptions.nosuchmethoderror; - -import static org.junit.Assert.assertNotNull; - -import org.junit.jupiter.api.Test; - -class MainMenuUnitTest { - - @Test - void whenGetSpecials_thenNotNull() { - assertNotNull(MainMenu.getSpecials()); - } - -} From 02fb2aee854d7e11f3a39cdb8c2abcf86451c5f7 Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Mon, 17 Aug 2020 16:50:59 +0530 Subject: [PATCH 22/94] Delete MainMenu.java Moving code to a new module - core-java-exceptions-3 --- .../exceptions/nosuchmethoderror/MainMenu.java | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java diff --git a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java deleted file mode 100644 index f12cbe1897..0000000000 --- a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.baeldung.exceptions.nosuchmethoderror; - -public class MainMenu { - public static void main(String[] args) { - System.out.println("Today's Specials: " + getSpecials()); - } - - public static String getSpecials() { - return SpecialToday.getDesert(); - } -} From ccad8d217f11a0d99b0e2853b4bed93076fe7099 Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Mon, 17 Aug 2020 16:51:16 +0530 Subject: [PATCH 23/94] Delete SpecialToday.java Moving code to a new module - core-java-exceptions-3 --- .../exceptions/nosuchmethoderror/SpecialToday.java | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java diff --git a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java deleted file mode 100644 index 1b0dea9784..0000000000 --- a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.baeldung.exceptions.nosuchmethoderror; -public class SpecialToday { - private static String desert = "Chocolate Cake"; - - public static String getDesert() { - return desert; - } -} From f00adab98c004db720aeee3a94db6ed27350ad20 Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Mon, 17 Aug 2020 19:33:14 +0530 Subject: [PATCH 24/94] BAEL-4193 - initial commit initial commit in new module core-java-exceptions-3 --- .../core-java-exceptions-3/README.md | 6 ++++ .../core-java-exceptions-3/pom.xml | 34 +++++++++++++++++++ .../nosuchmethoderror/MainMenu.java | 11 ++++++ .../nosuchmethoderror/SpecialToday.java | 8 +++++ .../nosuchmethoderror/MainMenuUnitTest.java | 13 +++++++ 5 files changed, 72 insertions(+) create mode 100644 core-java-modules/core-java-exceptions-3/README.md create mode 100644 core-java-modules/core-java-exceptions-3/pom.xml create mode 100644 core-java-modules/core-java-exceptions-3/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java create mode 100644 core-java-modules/core-java-exceptions-3/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java create mode 100644 core-java-modules/core-java-exceptions-3/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java diff --git a/core-java-modules/core-java-exceptions-3/README.md b/core-java-modules/core-java-exceptions-3/README.md new file mode 100644 index 0000000000..52fca27486 --- /dev/null +++ b/core-java-modules/core-java-exceptions-3/README.md @@ -0,0 +1,6 @@ +## Core Java Exceptions + +This module contains articles about core java exceptions + +### Relevant articles: +- [NoSuchMethodError in Java](https://www.baeldung.com/java-chained-exceptions) diff --git a/core-java-modules/core-java-exceptions-3/pom.xml b/core-java-modules/core-java-exceptions-3/pom.xml new file mode 100644 index 0000000000..32c522dab5 --- /dev/null +++ b/core-java-modules/core-java-exceptions-3/pom.xml @@ -0,0 +1,34 @@ + + + 4.0.0 + com.baeldung.exceptions + core-java-exceptions-3 + 0.1.0-SNAPSHOT + core-java-exceptions-3 + jar + + com.baeldung.core-java-modules + core-java-modules + 0.0.1-SNAPSHOT + ../ + + + + + + org.assertj + assertj-core + ${assertj-core.version} + test + + + + + + 3.10.0 + + + \ No newline at end of file diff --git a/core-java-modules/core-java-exceptions-3/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java b/core-java-modules/core-java-exceptions-3/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java new file mode 100644 index 0000000000..f12cbe1897 --- /dev/null +++ b/core-java-modules/core-java-exceptions-3/src/main/java/com/baeldung/exceptions/nosuchmethoderror/MainMenu.java @@ -0,0 +1,11 @@ +package com.baeldung.exceptions.nosuchmethoderror; + +public class MainMenu { + public static void main(String[] args) { + System.out.println("Today's Specials: " + getSpecials()); + } + + public static String getSpecials() { + return SpecialToday.getDesert(); + } +} diff --git a/core-java-modules/core-java-exceptions-3/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java b/core-java-modules/core-java-exceptions-3/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java new file mode 100644 index 0000000000..1b0dea9784 --- /dev/null +++ b/core-java-modules/core-java-exceptions-3/src/main/java/com/baeldung/exceptions/nosuchmethoderror/SpecialToday.java @@ -0,0 +1,8 @@ +package com.baeldung.exceptions.nosuchmethoderror; +public class SpecialToday { + private static String desert = "Chocolate Cake"; + + public static String getDesert() { + return desert; + } +} diff --git a/core-java-modules/core-java-exceptions-3/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java b/core-java-modules/core-java-exceptions-3/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java new file mode 100644 index 0000000000..ce4374a9ba --- /dev/null +++ b/core-java-modules/core-java-exceptions-3/src/test/java/com/baeldung/exceptions/nosuchmethoderror/MainMenuUnitTest.java @@ -0,0 +1,13 @@ +package com.baeldung.exceptions.nosuchmethoderror; + +import static org.junit.Assert.assertNotNull; + +import org.junit.jupiter.api.Test; + +class MainMenuUnitTest { + + @Test + void whenGetSpecials_thenNotNull() { + assertNotNull(MainMenu.getSpecials()); + } +} From 10d571fd1d93b89f337ce4c87e4b6bf0df8285fd Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Mon, 17 Aug 2020 19:37:28 +0530 Subject: [PATCH 25/94] pom : added new module core-java-exceptions-3 added new module core-java-exceptions-3 --- core-java-modules/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml index 589097cf48..29f849ecf7 100644 --- a/core-java-modules/pom.xml +++ b/core-java-modules/pom.xml @@ -67,7 +67,7 @@ core-java-exceptions core-java-exceptions-2 - + core-java-exceptions-3 core-java-function core-java-io From f3c4e3e36df8ac3a92b4d50da27278cf76ea663a Mon Sep 17 00:00:00 2001 From: Philippe Date: Mon, 17 Aug 2020 11:58:25 -0300 Subject: [PATCH 26/94] [BAEL-4381] Fix formatting --- .../archunit/smurfs/persistence/SmurfsRepository.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java index c18fcbc839..5d90d0f288 100644 --- a/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java +++ b/libraries-testing/src/main/java/com/baeldung/archunit/smurfs/persistence/SmurfsRepository.java @@ -26,11 +26,7 @@ public class SmurfsRepository { smurfs.put("Baker", new Smurf("Baker", true, true)); smurfs.put("Baker", new Smurf("Baker", true, true)); } - - public SmurfsRepository() { - - } - + public List findAll() { return Collections.unmodifiableList(smurfs.values().stream().collect(toList())); } From 39ba03a48843d668ee8d0852df5f8386b35c65d3 Mon Sep 17 00:00:00 2001 From: Rutuja Joshi <67615932+rutujavjoshi@users.noreply.github.com> Date: Mon, 17 Aug 2020 21:11:50 +0530 Subject: [PATCH 27/94] Delete README.md --- core-java-modules/core-java-exceptions-3/README.md | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 core-java-modules/core-java-exceptions-3/README.md diff --git a/core-java-modules/core-java-exceptions-3/README.md b/core-java-modules/core-java-exceptions-3/README.md deleted file mode 100644 index 52fca27486..0000000000 --- a/core-java-modules/core-java-exceptions-3/README.md +++ /dev/null @@ -1,6 +0,0 @@ -## Core Java Exceptions - -This module contains articles about core java exceptions - -### Relevant articles: -- [NoSuchMethodError in Java](https://www.baeldung.com/java-chained-exceptions) From e4f034795d1e4cb5aef5c3a12f81a9d1c268f03f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20G=C5=82=C3=B3wka?= Date: Mon, 17 Aug 2020 19:11:57 +0200 Subject: [PATCH 28/94] BAEL-4057: Hibernate Hi/Lo algorithm example (#9802) * BAEL-4057: Hibernate Hi/Lo algorithm example * BAEL-4057: fixed code indentation --- .../hibernate/hilo/RestaurantOrder.java | 34 +++++++ .../hibernate/hilo/HibernateHiloUnitTest.java | 99 +++++++++++++++++++ .../test/resources/hibernate-hilo.properties | 10 ++ 3 files changed, 143 insertions(+) create mode 100644 persistence-modules/hibernate5/src/main/java/com/baeldung/hibernate/hilo/RestaurantOrder.java create mode 100644 persistence-modules/hibernate5/src/test/java/com/baeldung/hibernate/hilo/HibernateHiloUnitTest.java create mode 100644 persistence-modules/hibernate5/src/test/resources/hibernate-hilo.properties diff --git a/persistence-modules/hibernate5/src/main/java/com/baeldung/hibernate/hilo/RestaurantOrder.java b/persistence-modules/hibernate5/src/main/java/com/baeldung/hibernate/hilo/RestaurantOrder.java new file mode 100644 index 0000000000..03d7edeae9 --- /dev/null +++ b/persistence-modules/hibernate5/src/main/java/com/baeldung/hibernate/hilo/RestaurantOrder.java @@ -0,0 +1,34 @@ +package com.baeldung.hibernate.hilo; + +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.annotations.Parameter; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity +public class RestaurantOrder { + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hilo_sequence_generator") + @GenericGenerator( + name = "hilo_sequence_generator", + strategy = "sequence", + parameters = { + @Parameter(name = "sequence_name", value = "hilo_seqeunce"), + @Parameter(name = "initial_value", value = "1"), + @Parameter(name = "increment_size", value = "3"), + @Parameter(name = "optimizer", value = "hilo") + } + ) + private Long id; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } +} diff --git a/persistence-modules/hibernate5/src/test/java/com/baeldung/hibernate/hilo/HibernateHiloUnitTest.java b/persistence-modules/hibernate5/src/test/java/com/baeldung/hibernate/hilo/HibernateHiloUnitTest.java new file mode 100644 index 0000000000..9285c30af5 --- /dev/null +++ b/persistence-modules/hibernate5/src/test/java/com/baeldung/hibernate/hilo/HibernateHiloUnitTest.java @@ -0,0 +1,99 @@ +package com.baeldung.hibernate.hilo; + +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Level; +import org.apache.log4j.LogManager; +import org.hibernate.HibernateException; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.Transaction; +import org.hibernate.boot.Metadata; +import org.hibernate.boot.MetadataSources; +import org.hibernate.boot.SessionFactoryBuilder; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; +import org.hibernate.service.ServiceRegistry; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URL; +import java.util.Properties; + +import static org.junit.Assert.fail; + +public class HibernateHiloUnitTest { + private Session session; + + @Before + public void init() { + try { + configureLogger(); + + ServiceRegistry serviceRegistry = configureServiceRegistry(); + SessionFactory factory = getSessionFactoryBuilder(serviceRegistry).build(); + session = factory.openSession(); + } catch (HibernateException | IOException e) { + fail("Failed to initiate Hibernate Session [Exception:" + e.toString() + "]"); + } + } + + private void configureLogger() { + BasicConfigurator.configure(); + LogManager.getLogger("org.hibernate").setLevel(Level.ERROR); + LogManager.getLogger("org.hibernate.id.enhanced.SequenceStructure").setLevel(Level.DEBUG); + LogManager.getLogger("org.hibernate.event.internal.AbstractSaveEventListener").setLevel(Level.DEBUG); + LogManager.getLogger("org.hibernate.SQL").setLevel(Level.DEBUG); + } + + + private static SessionFactoryBuilder getSessionFactoryBuilder(ServiceRegistry serviceRegistry) { + MetadataSources metadataSources = new MetadataSources(serviceRegistry); + metadataSources.addAnnotatedClass(RestaurantOrder.class); + Metadata metadata = metadataSources.buildMetadata(); + + return metadata.getSessionFactoryBuilder(); + } + + private static ServiceRegistry configureServiceRegistry() throws IOException { + Properties properties = getProperties(); + + return new StandardServiceRegistryBuilder().applySettings(properties) + .build(); + } + + private static Properties getProperties() throws IOException { + Properties properties = new Properties(); + URL propertiesURL = getPropertiesURL(); + + try (FileInputStream inputStream = new FileInputStream(propertiesURL.getFile())) { + properties.load(inputStream); + } + + return properties; + } + + private static URL getPropertiesURL() { + return Thread.currentThread() + .getContextClassLoader() + .getResource("hibernate-hilo.properties"); + } + + @Test + public void givenHiLoAlgorithm_when9EntitiesArePersisted_Then3callsToDBForNextValueShouldBeMade() { + Transaction transaction = session.beginTransaction(); + + for (int i = 0; i < 9; i++) { + session.persist(new RestaurantOrder()); + session.flush(); + } + + transaction.commit(); + } + + @After + public void cleanup() { + session.close(); + } +} diff --git a/persistence-modules/hibernate5/src/test/resources/hibernate-hilo.properties b/persistence-modules/hibernate5/src/test/resources/hibernate-hilo.properties new file mode 100644 index 0000000000..60d487c1bd --- /dev/null +++ b/persistence-modules/hibernate5/src/test/resources/hibernate-hilo.properties @@ -0,0 +1,10 @@ +hibernate.connection.driver_class=org.h2.Driver +hibernate.connection.url=jdbc:h2:mem:hilo_db;DB_CLOSE_DELAY=-1 +hibernate.connection.username=sa +hibernate.dialect=org.hibernate.dialect.H2Dialect +hibernate.show_sql=true +hibernate.hbm2ddl.auto=create-drop +hibernate.c3p0.min_size=5 +hibernate.c3p0.max_size=20 +hibernate.c3p0.acquire_increment=5 +hibernate.c3p0.timeout=1800 From ba5f54d666e4fd0a13a5eb2982a7321df1006ea9 Mon Sep 17 00:00:00 2001 From: Mona Mohamadinia Date: Tue, 18 Aug 2020 00:55:42 +0430 Subject: [PATCH 29/94] Fixed the Broken Test --- spring-boot-modules/spring-boot-actuator/pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spring-boot-modules/spring-boot-actuator/pom.xml b/spring-boot-modules/spring-boot-actuator/pom.xml index 0a7ad5725b..701949519e 100644 --- a/spring-boot-modules/spring-boot-actuator/pom.xml +++ b/spring-boot-modules/spring-boot-actuator/pom.xml @@ -43,6 +43,9 @@ org.springframework.boot spring-boot-maven-plugin + + com.baeldung.probes.ProbesApplication + From c0258feff87f4c33ca71129c8608900c901de33c Mon Sep 17 00:00:00 2001 From: Cristian Rosu Date: Mon, 17 Aug 2020 23:45:43 +0300 Subject: [PATCH 30/94] BAEL-4394: simplified assert statements + fixed type --- ...st.java => LineAtGivenNumberUnitTest.java} | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) rename core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/{LineAtGivenNumberTest.java => LineAtGivenNumberUnitTest.java} (77%) diff --git a/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberUnitTest.java similarity index 77% rename from core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java rename to core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberUnitTest.java index b73320c8d9..ffe3221d62 100644 --- a/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java +++ b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberUnitTest.java @@ -17,7 +17,7 @@ import java.util.stream.Stream; import static org.junit.Assert.assertEquals; -public class LineAtGivenNumberTest { +public class LineAtGivenNumberUnitTest { private static final String FILE_PATH = "src/test/resources/linesInput.txt"; @@ -29,8 +29,7 @@ public class LineAtGivenNumberTest { } String extractedLine = br.readLine(); - String expectedLine = "Line 4"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 4", extractedLine); } } @@ -42,39 +41,35 @@ public class LineAtGivenNumberTest { } String extractedLine = scanner.nextLine(); - String expectedLine = "Line 4"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 4", extractedLine); } } @Test public void givenSmallFile_whenUsingFilesAPI_thenExtractedLineIsCorrect() throws IOException { String extractedLine = Files.readAllLines(Paths.get(FILE_PATH)).get(4); - String expectedLine = "Line 5"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 5", extractedLine); } @Test public void givenLargeFile_whenUsingFilesAPI_thenExtractedLineIsCorrect() throws IOException { try (Stream lines = Files.lines(Paths.get(FILE_PATH))) { String extractedLine = lines.skip(4).findFirst().get(); - String expectedLine = "Line 5"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 5", extractedLine); } } @Test - public void givenFile_whenUsingFIleUtils_thenExtractedLineIsCorrect() throws IOException { + public void givenFile_whenUsingFileUtils_thenExtractedLineIsCorrect() throws IOException { ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource("linesInput.txt").getFile()); List lines = FileUtils.readLines(file, "UTF-8"); String extractedLine = lines.get(0); - String expectedLine = "Line 1"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 1", extractedLine); } @Test @@ -82,7 +77,6 @@ public class LineAtGivenNumberTest { String fileContent = IOUtils.toString(new FileInputStream(FILE_PATH), StandardCharsets.UTF_8); String extractedLine = fileContent.split(System.lineSeparator())[0]; - String expectedLine = "Line 1"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 1", extractedLine); } } From 29a7bbe857d9e2240781b1910276c924c778bfe7 Mon Sep 17 00:00:00 2001 From: bfontana Date: Mon, 17 Aug 2020 21:49:49 -0300 Subject: [PATCH 31/94] Update SmurfsArchUnitTest.java --- .../java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java index 68a33be69b..9724c2bcae 100644 --- a/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java +++ b/libraries-testing/src/test/java/com/baeldung/archunit/smurfs/SmurfsArchUnitTest.java @@ -1,6 +1,3 @@ -/** - * - */ package com.baeldung.archunit.smurfs; From 4e9ce6e4ccbbf269b87409260c310bab9e6b8bdb Mon Sep 17 00:00:00 2001 From: Trixi Turny Date: Tue, 18 Aug 2020 09:32:12 +0100 Subject: [PATCH 32/94] BAEL-4321 yaml config to map in pojo demo --- spring-boot-modules/pom.xml | 1 + .../spring-boot-properties-3/pom.xml | 54 +++++++++++++++++++ .../boot/properties/DemoApplication.java | 16 ++++++ .../properties/config/TshirtSizeConfig.java | 27 ++++++++++ .../controller/TshirtSizeController.java | 21 ++++++++ .../properties/service/SizeConverterImpl.java | 22 ++++++++ .../service/SizeConverterService.java | 8 +++ .../src/main/resources/application.yml | 30 +++++++++++ .../controller/TshirtSizeControllerTest.java | 38 +++++++++++++ 9 files changed, 217 insertions(+) create mode 100644 spring-boot-modules/spring-boot-properties-3/pom.xml create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/DemoApplication.java create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/config/TshirtSizeConfig.java create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/controller/TshirtSizeController.java create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/service/SizeConverterImpl.java create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/service/SizeConverterService.java create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/resources/application.yml create mode 100644 spring-boot-modules/spring-boot-properties-3/src/test/java/com/baeldung/boot/properties/controller/TshirtSizeControllerTest.java diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index 84f1f0e86c..f4e3e534c8 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -56,6 +56,7 @@ spring-boot-performance spring-boot-properties spring-boot-properties-2 + spring-boot-properties-3 spring-boot-property-exp spring-boot-runtime spring-boot-security diff --git a/spring-boot-modules/spring-boot-properties-3/pom.xml b/spring-boot-modules/spring-boot-properties-3/pom.xml new file mode 100644 index 0000000000..cf94e1fc1d --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/pom.xml @@ -0,0 +1,54 @@ + + + 4.0.0 + + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + ../ + + + spring-boot-properties-3 + 0.0.1-SNAPSHOT + spring-boot-properties-3 + Spring Boot Properties Module + + + 1.8 + + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.vintage + junit-vintage-engine + + + + + org.springframework.boot + spring-boot-starter-web + RELEASE + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/DemoApplication.java b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/DemoApplication.java new file mode 100644 index 0000000000..cf2fb7f981 --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/DemoApplication.java @@ -0,0 +1,16 @@ +package com.baeldung.boot.properties; + +import com.baeldung.boot.properties.config.TshirtSizeConfig; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; + +@SpringBootApplication +@EnableConfigurationProperties(TshirtSizeConfig.class) +public class DemoApplication { + + public static void main(String[] args) { + SpringApplication.run(DemoApplication.class, args); + } + +} diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/config/TshirtSizeConfig.java b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/config/TshirtSizeConfig.java new file mode 100644 index 0000000000..690763ab7b --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/config/TshirtSizeConfig.java @@ -0,0 +1,27 @@ +package com.baeldung.boot.properties.config; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +import java.util.Map; + +@ConfigurationProperties(prefix = "t-shirt-size") +public class TshirtSizeConfig { + + private final Map simpleMapping; + + private final Map> complexMapping; + + + public TshirtSizeConfig(Map simpleMapping, Map> complexMapping) { + this.simpleMapping = simpleMapping; + this.complexMapping = complexMapping; + } + + public Map getSimpleMapping() { + return simpleMapping; + } + + public Map> getComplexMapping() { + return complexMapping; + } +} diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/controller/TshirtSizeController.java b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/controller/TshirtSizeController.java new file mode 100644 index 0000000000..6b713c5be8 --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/controller/TshirtSizeController.java @@ -0,0 +1,21 @@ +package com.baeldung.boot.properties.controller; + +import org.springframework.web.bind.annotation.*; +import com.baeldung.boot.properties.service.SizeConverterService; + +@RestController +@RequestMapping(value = "/") +public class TshirtSizeController { + + private final SizeConverterService service; + + public TshirtSizeController(SizeConverterService service) { + this.service = service; + } + + @RequestMapping(value ="convertSize", method = RequestMethod.GET) + public int convertSize(@RequestParam(value = "label") final String label, @RequestParam(value = "countryCode", required = false) final String countryCode) { + return service.convertSize(label, countryCode); + } + +} diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/service/SizeConverterImpl.java b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/service/SizeConverterImpl.java new file mode 100644 index 0000000000..34f7fe2ded --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/service/SizeConverterImpl.java @@ -0,0 +1,22 @@ +package com.baeldung.boot.properties.service; + +import org.springframework.stereotype.Service; +import com.baeldung.boot.properties.config.TshirtSizeConfig; + + +@Service +public class SizeConverterImpl implements SizeConverterService { + + private final TshirtSizeConfig tshirtSizeConfig; + + public SizeConverterImpl(TshirtSizeConfig tshirtSizeConfig) { + this.tshirtSizeConfig = tshirtSizeConfig; + } + + public int convertSize(String label, String countryCode) { + if(countryCode == null) { + return tshirtSizeConfig.getSimpleMapping().get(label); + } + return tshirtSizeConfig.getComplexMapping().get(label).get(countryCode.toLowerCase()); + } +} diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/service/SizeConverterService.java b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/service/SizeConverterService.java new file mode 100644 index 0000000000..412199b176 --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/boot/properties/service/SizeConverterService.java @@ -0,0 +1,8 @@ +package com.baeldung.boot.properties.service; + + +public interface SizeConverterService { + + int convertSize(String label, String countryCode); + +} diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.yml b/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.yml new file mode 100644 index 0000000000..8779cb6b0c --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.yml @@ -0,0 +1,30 @@ + t-shirt-size: + simple-mapping: + XS: 6 + S: 8 + M: 10 + L: 12 + XL: 14 + + + complex-mapping: + XS: + uk: 6 + fr: 34 + us: 2 + S: + uk: 8 + fr: 36 + us: 4 + M: + uk: 10 + fr: 38 + us: 6 + L: + uk: 12 + fr: 40 + us: 8 + XL: + uk: 14 + fr: 42 + us: 10 diff --git a/spring-boot-modules/spring-boot-properties-3/src/test/java/com/baeldung/boot/properties/controller/TshirtSizeControllerTest.java b/spring-boot-modules/spring-boot-properties-3/src/test/java/com/baeldung/boot/properties/controller/TshirtSizeControllerTest.java new file mode 100644 index 0000000000..0b70ed8622 --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/test/java/com/baeldung/boot/properties/controller/TshirtSizeControllerTest.java @@ -0,0 +1,38 @@ +package com.baeldung.boot.properties.controller; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; +import com.baeldung.boot.properties.service.SizeConverterService; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class TshirtSizeControllerUnitTest { + + @Mock + private SizeConverterService service; + + @InjectMocks + private TshirtSizeController tested; + + @Test + void whenConvertSize_thenOK() { + + // Given + String label = "S"; + String countryCode = "fr"; + int result = 36; + + // When + when(service.convertSize(label, countryCode)).thenReturn(result); + int actual = tested.convertSize(label, countryCode); + + // Then + assertEquals(actual, result); + + } +} \ No newline at end of file From 90e80fd32bb4e20c9db324619d83b9633334394b Mon Sep 17 00:00:00 2001 From: sampadawagde Date: Tue, 18 Aug 2020 15:37:27 +0530 Subject: [PATCH 33/94] JAVA-69: Renamed spring-security-rest to spring-security-web-rest --- .../.gitignore | 0 .../README.md | 0 .../pom.xml | 4 ++-- .../src/main/java/com/baeldung/errorhandling/ApiError.java | 0 .../baeldung/errorhandling/CustomRestExceptionHandler.java | 0 .../src/main/java/com/baeldung/persistence/model/Foo.java | 0 .../main/java/com/baeldung/security/SecurityJavaConfig.java | 0 .../baeldung/security/SecurityWebApplicationInitializer.java | 0 .../web/MySavedRequestAwareAuthenticationSuccessHandler.java | 0 .../baeldung/security/web/RestAuthenticationEntryPoint.java | 0 .../src/main/java/com/baeldung/spring/ClientWebConfig.java | 0 .../src/main/java/com/baeldung/spring/SecurityXmlConfig.java | 0 .../src/main/java/com/baeldung/spring/WebConfig.java | 0 .../src/main/java/com/baeldung/swagger2/SwaggerConfig.java | 0 .../java/com/baeldung/web/controller/AsyncController.java | 0 .../java/com/baeldung/web/controller/CustomController.java | 0 .../main/java/com/baeldung/web/controller/FooController.java | 0 .../main/java/com/baeldung/web/controller/RootController.java | 0 .../com/baeldung/web/error/CustomAccessDeniedHandler.java | 0 .../web/error/RestResponseEntityExceptionHandler.java | 0 .../baeldung/web/exception/MyResourceNotFoundException.java | 0 .../src/main/java/com/baeldung/web/service/AsyncService.java | 0 .../main/java/com/baeldung/web/service/AsyncServiceImpl.java | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/webSecurityConfig.xml | 0 .../src/main/webapp/WEB-INF/api-servlet.xml | 0 .../src/main/webapp/WEB-INF/view/csrfAttacker.jsp | 0 .../src/main/webapp/WEB-INF/web.xml | 0 .../src/test/java/com/baeldung/SpringContextTest.java | 0 .../src/test/java/com/baeldung/errorhandling/FooLiveTest.java | 0 .../java/com/baeldung/web/AsyncControllerIntegrationTest.java | 0 .../src/test/java/com/baeldung/web/SwaggerLiveTest.java | 0 .../src/test/java/com/baeldung/web/TestConfig.java | 0 .../src/test/resources/.gitignore | 0 34 files changed, 2 insertions(+), 2 deletions(-) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/.gitignore (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/README.md (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/pom.xml (99%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/errorhandling/ApiError.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/errorhandling/CustomRestExceptionHandler.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/persistence/model/Foo.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/security/SecurityJavaConfig.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/security/SecurityWebApplicationInitializer.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/security/web/MySavedRequestAwareAuthenticationSuccessHandler.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/security/web/RestAuthenticationEntryPoint.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/spring/ClientWebConfig.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/spring/SecurityXmlConfig.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/spring/WebConfig.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/swagger2/SwaggerConfig.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/web/controller/AsyncController.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/web/controller/CustomController.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/web/controller/FooController.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/web/controller/RootController.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/web/error/CustomAccessDeniedHandler.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/web/exception/MyResourceNotFoundException.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/web/service/AsyncService.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/java/com/baeldung/web/service/AsyncServiceImpl.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/resources/logback.xml (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/resources/webSecurityConfig.xml (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/webapp/WEB-INF/api-servlet.xml (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/webapp/WEB-INF/view/csrfAttacker.jsp (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/main/webapp/WEB-INF/web.xml (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/test/java/com/baeldung/SpringContextTest.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/test/java/com/baeldung/errorhandling/FooLiveTest.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/test/java/com/baeldung/web/AsyncControllerIntegrationTest.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/test/java/com/baeldung/web/SwaggerLiveTest.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/test/java/com/baeldung/web/TestConfig.java (100%) rename spring-security-modules/{spring-security-rest => spring-security-web-rest}/src/test/resources/.gitignore (100%) diff --git a/spring-security-modules/spring-security-rest/.gitignore b/spring-security-modules/spring-security-web-rest/.gitignore similarity index 100% rename from spring-security-modules/spring-security-rest/.gitignore rename to spring-security-modules/spring-security-web-rest/.gitignore diff --git a/spring-security-modules/spring-security-rest/README.md b/spring-security-modules/spring-security-web-rest/README.md similarity index 100% rename from spring-security-modules/spring-security-rest/README.md rename to spring-security-modules/spring-security-web-rest/README.md diff --git a/spring-security-modules/spring-security-rest/pom.xml b/spring-security-modules/spring-security-web-rest/pom.xml similarity index 99% rename from spring-security-modules/spring-security-rest/pom.xml rename to spring-security-modules/spring-security-web-rest/pom.xml index 9410f08378..d2468152da 100644 --- a/spring-security-modules/spring-security-rest/pom.xml +++ b/spring-security-modules/spring-security-web-rest/pom.xml @@ -2,9 +2,9 @@ 4.0.0 - spring-security-rest + spring-security-web-rest 0.1-SNAPSHOT - spring-security-rest + spring-security-web-rest war diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/errorhandling/ApiError.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/errorhandling/ApiError.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/errorhandling/ApiError.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/errorhandling/ApiError.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/errorhandling/CustomRestExceptionHandler.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/errorhandling/CustomRestExceptionHandler.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/errorhandling/CustomRestExceptionHandler.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/errorhandling/CustomRestExceptionHandler.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/persistence/model/Foo.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/persistence/model/Foo.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/persistence/model/Foo.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/persistence/model/Foo.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/security/SecurityJavaConfig.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/security/SecurityJavaConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/security/SecurityJavaConfig.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/security/SecurityJavaConfig.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/security/SecurityWebApplicationInitializer.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/security/SecurityWebApplicationInitializer.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/security/SecurityWebApplicationInitializer.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/security/SecurityWebApplicationInitializer.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/security/web/MySavedRequestAwareAuthenticationSuccessHandler.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/security/web/MySavedRequestAwareAuthenticationSuccessHandler.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/security/web/MySavedRequestAwareAuthenticationSuccessHandler.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/security/web/MySavedRequestAwareAuthenticationSuccessHandler.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/security/web/RestAuthenticationEntryPoint.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/security/web/RestAuthenticationEntryPoint.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/security/web/RestAuthenticationEntryPoint.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/security/web/RestAuthenticationEntryPoint.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/spring/ClientWebConfig.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/spring/ClientWebConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/spring/ClientWebConfig.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/spring/ClientWebConfig.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/spring/SecurityXmlConfig.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/spring/SecurityXmlConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/spring/SecurityXmlConfig.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/spring/SecurityXmlConfig.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/spring/WebConfig.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/spring/WebConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/spring/WebConfig.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/spring/WebConfig.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/swagger2/SwaggerConfig.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/swagger2/SwaggerConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/swagger2/SwaggerConfig.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/swagger2/SwaggerConfig.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/controller/AsyncController.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/controller/AsyncController.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/controller/AsyncController.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/controller/AsyncController.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/controller/CustomController.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/controller/CustomController.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/controller/CustomController.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/controller/CustomController.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/controller/FooController.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/controller/FooController.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/controller/FooController.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/controller/FooController.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/controller/RootController.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/controller/RootController.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/controller/RootController.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/controller/RootController.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/error/CustomAccessDeniedHandler.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/error/CustomAccessDeniedHandler.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/error/CustomAccessDeniedHandler.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/error/CustomAccessDeniedHandler.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/exception/MyResourceNotFoundException.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/exception/MyResourceNotFoundException.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/exception/MyResourceNotFoundException.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/exception/MyResourceNotFoundException.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/service/AsyncService.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/service/AsyncService.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/service/AsyncService.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/service/AsyncService.java diff --git a/spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/service/AsyncServiceImpl.java b/spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/service/AsyncServiceImpl.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/java/com/baeldung/web/service/AsyncServiceImpl.java rename to spring-security-modules/spring-security-web-rest/src/main/java/com/baeldung/web/service/AsyncServiceImpl.java diff --git a/spring-security-modules/spring-security-rest/src/main/resources/logback.xml b/spring-security-modules/spring-security-web-rest/src/main/resources/logback.xml similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/resources/logback.xml rename to spring-security-modules/spring-security-web-rest/src/main/resources/logback.xml diff --git a/spring-security-modules/spring-security-rest/src/main/resources/webSecurityConfig.xml b/spring-security-modules/spring-security-web-rest/src/main/resources/webSecurityConfig.xml similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/resources/webSecurityConfig.xml rename to spring-security-modules/spring-security-web-rest/src/main/resources/webSecurityConfig.xml diff --git a/spring-security-modules/spring-security-rest/src/main/webapp/WEB-INF/api-servlet.xml b/spring-security-modules/spring-security-web-rest/src/main/webapp/WEB-INF/api-servlet.xml similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/webapp/WEB-INF/api-servlet.xml rename to spring-security-modules/spring-security-web-rest/src/main/webapp/WEB-INF/api-servlet.xml diff --git a/spring-security-modules/spring-security-rest/src/main/webapp/WEB-INF/view/csrfAttacker.jsp b/spring-security-modules/spring-security-web-rest/src/main/webapp/WEB-INF/view/csrfAttacker.jsp similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/webapp/WEB-INF/view/csrfAttacker.jsp rename to spring-security-modules/spring-security-web-rest/src/main/webapp/WEB-INF/view/csrfAttacker.jsp diff --git a/spring-security-modules/spring-security-rest/src/main/webapp/WEB-INF/web.xml b/spring-security-modules/spring-security-web-rest/src/main/webapp/WEB-INF/web.xml similarity index 100% rename from spring-security-modules/spring-security-rest/src/main/webapp/WEB-INF/web.xml rename to spring-security-modules/spring-security-web-rest/src/main/webapp/WEB-INF/web.xml diff --git a/spring-security-modules/spring-security-rest/src/test/java/com/baeldung/SpringContextTest.java b/spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/test/java/com/baeldung/SpringContextTest.java rename to spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/SpringContextTest.java diff --git a/spring-security-modules/spring-security-rest/src/test/java/com/baeldung/errorhandling/FooLiveTest.java b/spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/errorhandling/FooLiveTest.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/test/java/com/baeldung/errorhandling/FooLiveTest.java rename to spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/errorhandling/FooLiveTest.java diff --git a/spring-security-modules/spring-security-rest/src/test/java/com/baeldung/web/AsyncControllerIntegrationTest.java b/spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/web/AsyncControllerIntegrationTest.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/test/java/com/baeldung/web/AsyncControllerIntegrationTest.java rename to spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/web/AsyncControllerIntegrationTest.java diff --git a/spring-security-modules/spring-security-rest/src/test/java/com/baeldung/web/SwaggerLiveTest.java b/spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/web/SwaggerLiveTest.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/test/java/com/baeldung/web/SwaggerLiveTest.java rename to spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/web/SwaggerLiveTest.java diff --git a/spring-security-modules/spring-security-rest/src/test/java/com/baeldung/web/TestConfig.java b/spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/web/TestConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest/src/test/java/com/baeldung/web/TestConfig.java rename to spring-security-modules/spring-security-web-rest/src/test/java/com/baeldung/web/TestConfig.java diff --git a/spring-security-modules/spring-security-rest/src/test/resources/.gitignore b/spring-security-modules/spring-security-web-rest/src/test/resources/.gitignore similarity index 100% rename from spring-security-modules/spring-security-rest/src/test/resources/.gitignore rename to spring-security-modules/spring-security-web-rest/src/test/resources/.gitignore From 526d66067f50eb52d6c8cac5056e00f98b9b4944 Mon Sep 17 00:00:00 2001 From: sampadawagde Date: Tue, 18 Aug 2020 15:37:55 +0530 Subject: [PATCH 34/94] JAVA-69: Renamed spring-security-rest-basic-auth to spring-security-web-rest-basic-auth --- .../.gitignore | 0 .../README.md | 0 .../pom.xml | 4 ++-- .../com/baeldung/basic/MyBasicAuthenticationEntryPoint.java | 0 .../HttpComponentsClientHttpRequestFactoryBasicAuth.java | 0 .../main/java/com/baeldung/client/RestTemplateFactory.java | 0 .../main/java/com/baeldung/client/spring/ClientConfig.java | 0 .../src/main/java/com/baeldung/filter/CustomFilter.java | 0 .../baeldung/filter/CustomWebSecurityConfigurerAdapter.java | 0 .../MySavedRequestAwareAuthenticationSuccessHandler.java | 0 .../com/baeldung/security/RestAuthenticationEntryPoint.java | 0 .../src/main/java/com/baeldung/spring/SecSecurityConfig.java | 0 .../src/main/java/com/baeldung/spring/WebConfig.java | 0 .../main/java/com/baeldung/web/controller/BarController.java | 0 .../main/java/com/baeldung/web/controller/FooController.java | 0 .../src/main/java/com/baeldung/web/dto/Bar.java | 0 .../src/main/java/com/baeldung/web/dto/Foo.java | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/webSecurityConfig.xml | 0 .../src/main/webapp/WEB-INF/api-servlet.xml | 0 .../src/main/webapp/WEB-INF/web.xml | 0 .../src/test/java/com/baeldung/SpringContextTest.java | 0 .../src/test/resources/.gitignore | 0 23 files changed, 2 insertions(+), 2 deletions(-) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/.gitignore (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/README.md (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/pom.xml (98%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/basic/MyBasicAuthenticationEntryPoint.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/client/HttpComponentsClientHttpRequestFactoryBasicAuth.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/client/RestTemplateFactory.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/client/spring/ClientConfig.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/filter/CustomFilter.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/filter/CustomWebSecurityConfigurerAdapter.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/spring/SecSecurityConfig.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/spring/WebConfig.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/web/controller/BarController.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/web/controller/FooController.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/web/dto/Bar.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/java/com/baeldung/web/dto/Foo.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/resources/logback.xml (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/resources/webSecurityConfig.xml (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/webapp/WEB-INF/api-servlet.xml (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/main/webapp/WEB-INF/web.xml (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/test/java/com/baeldung/SpringContextTest.java (100%) rename spring-security-modules/{spring-security-rest-basic-auth => spring-security-web-rest-basic-auth}/src/test/resources/.gitignore (100%) diff --git a/spring-security-modules/spring-security-rest-basic-auth/.gitignore b/spring-security-modules/spring-security-web-rest-basic-auth/.gitignore similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/.gitignore rename to spring-security-modules/spring-security-web-rest-basic-auth/.gitignore diff --git a/spring-security-modules/spring-security-rest-basic-auth/README.md b/spring-security-modules/spring-security-web-rest-basic-auth/README.md similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/README.md rename to spring-security-modules/spring-security-web-rest-basic-auth/README.md diff --git a/spring-security-modules/spring-security-rest-basic-auth/pom.xml b/spring-security-modules/spring-security-web-rest-basic-auth/pom.xml similarity index 98% rename from spring-security-modules/spring-security-rest-basic-auth/pom.xml rename to spring-security-modules/spring-security-web-rest-basic-auth/pom.xml index 416882b3d4..0dc0b9cc42 100644 --- a/spring-security-modules/spring-security-rest-basic-auth/pom.xml +++ b/spring-security-modules/spring-security-web-rest-basic-auth/pom.xml @@ -2,9 +2,9 @@ 4.0.0 - spring-security-rest-basic-auth + spring-security-web-rest-basic-auth 0.2-SNAPSHOT - spring-security-rest-basic-auth + spring-security-web-rest-basic-auth war diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/basic/MyBasicAuthenticationEntryPoint.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/basic/MyBasicAuthenticationEntryPoint.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/basic/MyBasicAuthenticationEntryPoint.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/basic/MyBasicAuthenticationEntryPoint.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/client/HttpComponentsClientHttpRequestFactoryBasicAuth.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/client/HttpComponentsClientHttpRequestFactoryBasicAuth.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/client/HttpComponentsClientHttpRequestFactoryBasicAuth.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/client/HttpComponentsClientHttpRequestFactoryBasicAuth.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/client/RestTemplateFactory.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/client/RestTemplateFactory.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/client/RestTemplateFactory.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/client/RestTemplateFactory.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/client/spring/ClientConfig.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/client/spring/ClientConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/client/spring/ClientConfig.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/client/spring/ClientConfig.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/filter/CustomFilter.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/filter/CustomFilter.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/filter/CustomFilter.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/filter/CustomFilter.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/filter/CustomWebSecurityConfigurerAdapter.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/filter/CustomWebSecurityConfigurerAdapter.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/filter/CustomWebSecurityConfigurerAdapter.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/filter/CustomWebSecurityConfigurerAdapter.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/spring/SecSecurityConfig.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/spring/SecSecurityConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/spring/SecSecurityConfig.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/spring/SecSecurityConfig.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/spring/WebConfig.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/spring/WebConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/spring/WebConfig.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/spring/WebConfig.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/web/controller/BarController.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/web/controller/BarController.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/web/controller/BarController.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/web/controller/BarController.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/web/controller/FooController.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/web/controller/FooController.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/web/controller/FooController.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/web/controller/FooController.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/web/dto/Bar.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/web/dto/Bar.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/web/dto/Bar.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/web/dto/Bar.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/web/dto/Foo.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/web/dto/Foo.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/java/com/baeldung/web/dto/Foo.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/web/dto/Foo.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/resources/logback.xml b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/resources/logback.xml similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/resources/logback.xml rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/resources/logback.xml diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/resources/webSecurityConfig.xml b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/resources/webSecurityConfig.xml similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/resources/webSecurityConfig.xml rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/resources/webSecurityConfig.xml diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/webapp/WEB-INF/api-servlet.xml b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/webapp/WEB-INF/api-servlet.xml similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/webapp/WEB-INF/api-servlet.xml rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/webapp/WEB-INF/api-servlet.xml diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/main/webapp/WEB-INF/web.xml b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/webapp/WEB-INF/web.xml similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/main/webapp/WEB-INF/web.xml rename to spring-security-modules/spring-security-web-rest-basic-auth/src/main/webapp/WEB-INF/web.xml diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/test/java/com/baeldung/SpringContextTest.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/test/java/com/baeldung/SpringContextTest.java rename to spring-security-modules/spring-security-web-rest-basic-auth/src/test/java/com/baeldung/SpringContextTest.java diff --git a/spring-security-modules/spring-security-rest-basic-auth/src/test/resources/.gitignore b/spring-security-modules/spring-security-web-rest-basic-auth/src/test/resources/.gitignore similarity index 100% rename from spring-security-modules/spring-security-rest-basic-auth/src/test/resources/.gitignore rename to spring-security-modules/spring-security-web-rest-basic-auth/src/test/resources/.gitignore From 61dd35dc835df05d441ec84669142b4535b1978c Mon Sep 17 00:00:00 2001 From: sampadawagde Date: Tue, 18 Aug 2020 15:38:21 +0530 Subject: [PATCH 35/94] JAVA-69: Renamed spring-security-rest-custom to spring-security-web-rest-custom --- .../README.md | 0 .../pom.xml | 4 ++-- .../main/java/com/baeldung/config/MainWebAppInitializer.java | 0 .../java/com/baeldung/config/child/MethodSecurityConfig.java | 0 .../src/main/java/com/baeldung/config/child/WebConfig.java | 0 .../main/java/com/baeldung/config/parent/SecurityConfig.java | 0 .../main/java/com/baeldung/config/parent/ServiceConfig.java | 0 .../main/java/com/baeldung/security/AuthenticationFacade.java | 0 .../com/baeldung/security/CustomAuthenticationProvider.java | 0 .../java/com/baeldung/security/IAuthenticationFacade.java | 0 .../MySavedRequestAwareAuthenticationSuccessHandler.java | 0 .../com/baeldung/security/RestAuthenticationEntryPoint.java | 0 .../src/main/java/com/baeldung/service/FooService.java | 0 .../src/main/java/com/baeldung/service/IFooService.java | 0 .../src/main/java/com/baeldung/service/RunAsService.java | 0 .../main/java/com/baeldung/web/controller/FooController.java | 0 .../web/controller/GetUserWithCustomInterfaceController.java | 0 .../controller/GetUserWithHTTPServletRequestController.java | 0 .../java/com/baeldung/web/controller/RunAsController.java | 0 .../java/com/baeldung/web/controller/SecurityController.java | 0 .../java/com/baeldung/web/controller/SecurityController1.java | 0 .../java/com/baeldung/web/controller/SecurityController3.java | 0 .../main/java/com/baeldung/web/controller/ViewController.java | 0 .../src/main/java/com/baeldung/web/dto/Foo.java | 0 .../src/main/resources/foo.properties | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/prop.xml | 0 .../src/main/resources/webSecurityConfig.xml | 0 .../src/main/webapp/WEB-INF/templates/index.html | 0 .../src/main/webapp/WEB-INF/templates/runas.html | 0 .../src/main/webapp/WEB-INF/web_old.xml | 0 .../src/test/resources/.gitignore | 0 32 files changed, 2 insertions(+), 2 deletions(-) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/README.md (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/pom.xml (98%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/config/MainWebAppInitializer.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/config/child/MethodSecurityConfig.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/config/child/WebConfig.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/config/parent/SecurityConfig.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/config/parent/ServiceConfig.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/security/AuthenticationFacade.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/security/CustomAuthenticationProvider.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/security/IAuthenticationFacade.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/service/FooService.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/service/IFooService.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/service/RunAsService.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/web/controller/FooController.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/web/controller/GetUserWithCustomInterfaceController.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/web/controller/GetUserWithHTTPServletRequestController.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/web/controller/RunAsController.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/web/controller/SecurityController.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/web/controller/SecurityController1.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/web/controller/SecurityController3.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/web/controller/ViewController.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/java/com/baeldung/web/dto/Foo.java (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/resources/foo.properties (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/resources/logback.xml (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/resources/prop.xml (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/resources/webSecurityConfig.xml (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/webapp/WEB-INF/templates/index.html (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/webapp/WEB-INF/templates/runas.html (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/main/webapp/WEB-INF/web_old.xml (100%) rename spring-security-modules/{spring-security-rest-custom => spring-security-web-rest-custom}/src/test/resources/.gitignore (100%) diff --git a/spring-security-modules/spring-security-rest-custom/README.md b/spring-security-modules/spring-security-web-rest-custom/README.md similarity index 100% rename from spring-security-modules/spring-security-rest-custom/README.md rename to spring-security-modules/spring-security-web-rest-custom/README.md diff --git a/spring-security-modules/spring-security-rest-custom/pom.xml b/spring-security-modules/spring-security-web-rest-custom/pom.xml similarity index 98% rename from spring-security-modules/spring-security-rest-custom/pom.xml rename to spring-security-modules/spring-security-web-rest-custom/pom.xml index b4f0f93bb6..0ba7f95de7 100644 --- a/spring-security-modules/spring-security-rest-custom/pom.xml +++ b/spring-security-modules/spring-security-web-rest-custom/pom.xml @@ -2,9 +2,9 @@ 4.0.0 - spring-security-rest-custom + spring-security-web-rest-custom 0.1-SNAPSHOT - spring-security-rest-custom + spring-security-web-rest-custom war diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/MainWebAppInitializer.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/MainWebAppInitializer.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/MainWebAppInitializer.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/MainWebAppInitializer.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/child/MethodSecurityConfig.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/child/MethodSecurityConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/child/MethodSecurityConfig.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/child/MethodSecurityConfig.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/child/WebConfig.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/child/WebConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/child/WebConfig.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/child/WebConfig.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/parent/SecurityConfig.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/parent/SecurityConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/parent/SecurityConfig.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/parent/SecurityConfig.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/parent/ServiceConfig.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/parent/ServiceConfig.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/config/parent/ServiceConfig.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/config/parent/ServiceConfig.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/AuthenticationFacade.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/AuthenticationFacade.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/AuthenticationFacade.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/AuthenticationFacade.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/CustomAuthenticationProvider.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/CustomAuthenticationProvider.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/CustomAuthenticationProvider.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/CustomAuthenticationProvider.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/IAuthenticationFacade.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/IAuthenticationFacade.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/IAuthenticationFacade.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/IAuthenticationFacade.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/MySavedRequestAwareAuthenticationSuccessHandler.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/security/RestAuthenticationEntryPoint.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/service/FooService.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/service/FooService.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/service/FooService.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/service/FooService.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/service/IFooService.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/service/IFooService.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/service/IFooService.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/service/IFooService.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/service/RunAsService.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/service/RunAsService.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/service/RunAsService.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/service/RunAsService.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/FooController.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/FooController.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/FooController.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/FooController.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/GetUserWithCustomInterfaceController.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/GetUserWithCustomInterfaceController.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/GetUserWithCustomInterfaceController.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/GetUserWithCustomInterfaceController.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/GetUserWithHTTPServletRequestController.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/GetUserWithHTTPServletRequestController.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/GetUserWithHTTPServletRequestController.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/GetUserWithHTTPServletRequestController.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/RunAsController.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/RunAsController.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/RunAsController.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/RunAsController.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController1.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController1.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController1.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController1.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController3.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController3.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController3.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/SecurityController3.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/ViewController.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/ViewController.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/controller/ViewController.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/controller/ViewController.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/dto/Foo.java b/spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/dto/Foo.java similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/java/com/baeldung/web/dto/Foo.java rename to spring-security-modules/spring-security-web-rest-custom/src/main/java/com/baeldung/web/dto/Foo.java diff --git a/spring-security-modules/spring-security-rest-custom/src/main/resources/foo.properties b/spring-security-modules/spring-security-web-rest-custom/src/main/resources/foo.properties similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/resources/foo.properties rename to spring-security-modules/spring-security-web-rest-custom/src/main/resources/foo.properties diff --git a/spring-security-modules/spring-security-rest-custom/src/main/resources/logback.xml b/spring-security-modules/spring-security-web-rest-custom/src/main/resources/logback.xml similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/resources/logback.xml rename to spring-security-modules/spring-security-web-rest-custom/src/main/resources/logback.xml diff --git a/spring-security-modules/spring-security-rest-custom/src/main/resources/prop.xml b/spring-security-modules/spring-security-web-rest-custom/src/main/resources/prop.xml similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/resources/prop.xml rename to spring-security-modules/spring-security-web-rest-custom/src/main/resources/prop.xml diff --git a/spring-security-modules/spring-security-rest-custom/src/main/resources/webSecurityConfig.xml b/spring-security-modules/spring-security-web-rest-custom/src/main/resources/webSecurityConfig.xml similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/resources/webSecurityConfig.xml rename to spring-security-modules/spring-security-web-rest-custom/src/main/resources/webSecurityConfig.xml diff --git a/spring-security-modules/spring-security-rest-custom/src/main/webapp/WEB-INF/templates/index.html b/spring-security-modules/spring-security-web-rest-custom/src/main/webapp/WEB-INF/templates/index.html similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/webapp/WEB-INF/templates/index.html rename to spring-security-modules/spring-security-web-rest-custom/src/main/webapp/WEB-INF/templates/index.html diff --git a/spring-security-modules/spring-security-rest-custom/src/main/webapp/WEB-INF/templates/runas.html b/spring-security-modules/spring-security-web-rest-custom/src/main/webapp/WEB-INF/templates/runas.html similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/webapp/WEB-INF/templates/runas.html rename to spring-security-modules/spring-security-web-rest-custom/src/main/webapp/WEB-INF/templates/runas.html diff --git a/spring-security-modules/spring-security-rest-custom/src/main/webapp/WEB-INF/web_old.xml b/spring-security-modules/spring-security-web-rest-custom/src/main/webapp/WEB-INF/web_old.xml similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/main/webapp/WEB-INF/web_old.xml rename to spring-security-modules/spring-security-web-rest-custom/src/main/webapp/WEB-INF/web_old.xml diff --git a/spring-security-modules/spring-security-rest-custom/src/test/resources/.gitignore b/spring-security-modules/spring-security-web-rest-custom/src/test/resources/.gitignore similarity index 100% rename from spring-security-modules/spring-security-rest-custom/src/test/resources/.gitignore rename to spring-security-modules/spring-security-web-rest-custom/src/test/resources/.gitignore From ec76361474cbe8d4afdd0d06e98c1dfa871d72b6 Mon Sep 17 00:00:00 2001 From: sampadawagde Date: Tue, 18 Aug 2020 15:38:54 +0530 Subject: [PATCH 36/94] JAVA-69: Renamed spring-security-thymeleaf to spring-security-web-thymeleaf --- .../README.MD => spring-security-web-thymeleaf/README.md} | 0 .../pom.xml | 4 ++-- .../springsecuritythymeleaf/SecurityConfiguration.java | 0 .../SpringSecurityThymeleafApplication.java | 0 .../com/baeldung/springsecuritythymeleaf/ViewController.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/templates/index.html | 0 .../src/main/resources/templates/login.html | 0 .../SpringSecurityThymeleafApplicationIntegrationTest.java | 0 .../ViewControllerIntegrationTest.java | 0 11 files changed, 2 insertions(+), 2 deletions(-) rename spring-security-modules/{spring-security-thymeleaf/README.MD => spring-security-web-thymeleaf/README.md} (100%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/pom.xml (94%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/src/main/java/com/baeldung/springsecuritythymeleaf/SecurityConfiguration.java (100%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/src/main/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplication.java (100%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/src/main/java/com/baeldung/springsecuritythymeleaf/ViewController.java (100%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/src/main/resources/application.properties (100%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/src/main/resources/logback.xml (100%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/src/main/resources/templates/index.html (100%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/src/main/resources/templates/login.html (100%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/src/test/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplicationIntegrationTest.java (100%) rename spring-security-modules/{spring-security-thymeleaf => spring-security-web-thymeleaf}/src/test/java/com/baeldung/springsecuritythymeleaf/ViewControllerIntegrationTest.java (100%) diff --git a/spring-security-modules/spring-security-thymeleaf/README.MD b/spring-security-modules/spring-security-web-thymeleaf/README.md similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/README.MD rename to spring-security-modules/spring-security-web-thymeleaf/README.md diff --git a/spring-security-modules/spring-security-thymeleaf/pom.xml b/spring-security-modules/spring-security-web-thymeleaf/pom.xml similarity index 94% rename from spring-security-modules/spring-security-thymeleaf/pom.xml rename to spring-security-modules/spring-security-web-thymeleaf/pom.xml index a4ecbaff21..196ec0b86f 100644 --- a/spring-security-modules/spring-security-thymeleaf/pom.xml +++ b/spring-security-modules/spring-security-web-thymeleaf/pom.xml @@ -2,9 +2,9 @@ 4.0.0 - spring-security-thymeleaf + spring-security-web-thymeleaf 0.0.1-SNAPSHOT - spring-security-thymeleaf + spring-security-web-thymeleaf jar Spring Security with Thymeleaf tutorial diff --git a/spring-security-modules/spring-security-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/SecurityConfiguration.java b/spring-security-modules/spring-security-web-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/SecurityConfiguration.java similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/SecurityConfiguration.java rename to spring-security-modules/spring-security-web-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/SecurityConfiguration.java diff --git a/spring-security-modules/spring-security-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplication.java b/spring-security-modules/spring-security-web-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplication.java similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplication.java rename to spring-security-modules/spring-security-web-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplication.java diff --git a/spring-security-modules/spring-security-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/ViewController.java b/spring-security-modules/spring-security-web-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/ViewController.java similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/ViewController.java rename to spring-security-modules/spring-security-web-thymeleaf/src/main/java/com/baeldung/springsecuritythymeleaf/ViewController.java diff --git a/spring-security-modules/spring-security-thymeleaf/src/main/resources/application.properties b/spring-security-modules/spring-security-web-thymeleaf/src/main/resources/application.properties similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/src/main/resources/application.properties rename to spring-security-modules/spring-security-web-thymeleaf/src/main/resources/application.properties diff --git a/spring-security-modules/spring-security-thymeleaf/src/main/resources/logback.xml b/spring-security-modules/spring-security-web-thymeleaf/src/main/resources/logback.xml similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/src/main/resources/logback.xml rename to spring-security-modules/spring-security-web-thymeleaf/src/main/resources/logback.xml diff --git a/spring-security-modules/spring-security-thymeleaf/src/main/resources/templates/index.html b/spring-security-modules/spring-security-web-thymeleaf/src/main/resources/templates/index.html similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/src/main/resources/templates/index.html rename to spring-security-modules/spring-security-web-thymeleaf/src/main/resources/templates/index.html diff --git a/spring-security-modules/spring-security-thymeleaf/src/main/resources/templates/login.html b/spring-security-modules/spring-security-web-thymeleaf/src/main/resources/templates/login.html similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/src/main/resources/templates/login.html rename to spring-security-modules/spring-security-web-thymeleaf/src/main/resources/templates/login.html diff --git a/spring-security-modules/spring-security-thymeleaf/src/test/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplicationIntegrationTest.java b/spring-security-modules/spring-security-web-thymeleaf/src/test/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplicationIntegrationTest.java similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/src/test/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplicationIntegrationTest.java rename to spring-security-modules/spring-security-web-thymeleaf/src/test/java/com/baeldung/springsecuritythymeleaf/SpringSecurityThymeleafApplicationIntegrationTest.java diff --git a/spring-security-modules/spring-security-thymeleaf/src/test/java/com/baeldung/springsecuritythymeleaf/ViewControllerIntegrationTest.java b/spring-security-modules/spring-security-web-thymeleaf/src/test/java/com/baeldung/springsecuritythymeleaf/ViewControllerIntegrationTest.java similarity index 100% rename from spring-security-modules/spring-security-thymeleaf/src/test/java/com/baeldung/springsecuritythymeleaf/ViewControllerIntegrationTest.java rename to spring-security-modules/spring-security-web-thymeleaf/src/test/java/com/baeldung/springsecuritythymeleaf/ViewControllerIntegrationTest.java From 796b49b348af523baa367a3f3e01b6a9ed66fe3b Mon Sep 17 00:00:00 2001 From: sampadawagde Date: Tue, 18 Aug 2020 15:39:46 +0530 Subject: [PATCH 37/94] JAVA-69: Renamed spring-security-x509 to spring-security-web-x509 --- .../README.md | 0 .../pom.xml | 8 ++++---- .../spring-security-web-x509-basic-auth}/pom.xml | 6 +++--- .../spring/security/x509/UserController.java | 0 .../security/x509/X509AuthenticationServer.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/templates/user.html | 0 .../test/java/com/baeldung/SpringContextTest.java | 0 .../X509AuthenticationServerIntegrationTest.java | 0 .../spring-security-web-x509-client-auth}/pom.xml | 6 +++--- .../spring/security/x509/UserController.java | 0 .../security/x509/X509AuthenticationServer.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/templates/user.html | 0 .../test/java/com/baeldung/SpringContextTest.java | 0 .../X509AuthenticationServerIntegrationTest.java | 0 .../store/clientBob.p12 | Bin .../store/keystore.jks | Bin .../store/localhost.ext | 0 .../store/rootCA.crt | 0 .../store/truststore.jks | Bin 23 files changed, 10 insertions(+), 10 deletions(-) rename spring-security-modules/{spring-security-x509 => spring-security-web-x509}/README.md (100%) rename spring-security-modules/{spring-security-x509 => spring-security-web-x509}/pom.xml (83%) rename spring-security-modules/{spring-security-x509/spring-security-x509-basic-auth => spring-security-web-x509/spring-security-web-x509-basic-auth}/pom.xml (87%) rename spring-security-modules/{spring-security-x509/spring-security-x509-basic-auth => spring-security-web-x509/spring-security-web-x509-basic-auth}/src/main/java/com/baeldung/spring/security/x509/UserController.java (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-basic-auth => spring-security-web-x509/spring-security-web-x509-basic-auth}/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-basic-auth => spring-security-web-x509/spring-security-web-x509-basic-auth}/src/main/resources/application.properties (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-basic-auth => spring-security-web-x509/spring-security-web-x509-basic-auth}/src/main/resources/logback.xml (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-basic-auth => spring-security-web-x509/spring-security-web-x509-basic-auth}/src/main/resources/templates/user.html (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-basic-auth => spring-security-web-x509/spring-security-web-x509-basic-auth}/src/test/java/com/baeldung/SpringContextTest.java (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-basic-auth => spring-security-web-x509/spring-security-web-x509-basic-auth}/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-client-auth => spring-security-web-x509/spring-security-web-x509-client-auth}/pom.xml (94%) rename spring-security-modules/{spring-security-x509/spring-security-x509-client-auth => spring-security-web-x509/spring-security-web-x509-client-auth}/src/main/java/com/baeldung/spring/security/x509/UserController.java (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-client-auth => spring-security-web-x509/spring-security-web-x509-client-auth}/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-client-auth => spring-security-web-x509/spring-security-web-x509-client-auth}/src/main/resources/application.properties (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-client-auth => spring-security-web-x509/spring-security-web-x509-client-auth}/src/main/resources/logback.xml (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-client-auth => spring-security-web-x509/spring-security-web-x509-client-auth}/src/main/resources/templates/user.html (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-client-auth => spring-security-web-x509/spring-security-web-x509-client-auth}/src/test/java/com/baeldung/SpringContextTest.java (100%) rename spring-security-modules/{spring-security-x509/spring-security-x509-client-auth => spring-security-web-x509/spring-security-web-x509-client-auth}/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java (100%) rename spring-security-modules/{spring-security-x509 => spring-security-web-x509}/store/clientBob.p12 (100%) rename spring-security-modules/{spring-security-x509 => spring-security-web-x509}/store/keystore.jks (100%) rename spring-security-modules/{spring-security-x509 => spring-security-web-x509}/store/localhost.ext (100%) rename spring-security-modules/{spring-security-x509 => spring-security-web-x509}/store/rootCA.crt (100%) rename spring-security-modules/{spring-security-x509 => spring-security-web-x509}/store/truststore.jks (100%) diff --git a/spring-security-modules/spring-security-x509/README.md b/spring-security-modules/spring-security-web-x509/README.md similarity index 100% rename from spring-security-modules/spring-security-x509/README.md rename to spring-security-modules/spring-security-web-x509/README.md diff --git a/spring-security-modules/spring-security-x509/pom.xml b/spring-security-modules/spring-security-web-x509/pom.xml similarity index 83% rename from spring-security-modules/spring-security-x509/pom.xml rename to spring-security-modules/spring-security-web-x509/pom.xml index d4132f058d..045c0aba6a 100644 --- a/spring-security-modules/spring-security-x509/pom.xml +++ b/spring-security-modules/spring-security-web-x509/pom.xml @@ -2,9 +2,9 @@ 4.0.0 - spring-security-x509 + spring-security-web-x509 0.0.1-SNAPSHOT - spring-security-x509 + spring-security-web-x509 pom @@ -15,8 +15,8 @@ - spring-security-x509-basic-auth - spring-security-x509-client-auth + spring-security-web-x509-basic-auth + spring-security-web-x509-client-auth diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/pom.xml b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/pom.xml similarity index 87% rename from spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/pom.xml rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/pom.xml index 3cff638894..917ffa6b0e 100644 --- a/spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/pom.xml +++ b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/pom.xml @@ -2,15 +2,15 @@ 4.0.0 - spring-security-x509-basic-auth + spring-security-web-x509-basic-auth 0.0.1-SNAPSHOT - spring-security-x509-basic-auth + spring-security-web-x509-basic-auth jar Spring x.509 Authentication Demo com.baeldung - spring-security-x509 + spring-security-web-x509 0.0.1-SNAPSHOT diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/java/com/baeldung/spring/security/x509/UserController.java b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/java/com/baeldung/spring/security/x509/UserController.java similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/java/com/baeldung/spring/security/x509/UserController.java rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/java/com/baeldung/spring/security/x509/UserController.java diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/resources/application.properties b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/resources/application.properties similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/resources/application.properties rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/resources/application.properties diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/resources/logback.xml b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/resources/logback.xml similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/resources/logback.xml rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/resources/logback.xml diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/resources/templates/user.html b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/resources/templates/user.html similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/main/resources/templates/user.html rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/main/resources/templates/user.html diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/test/java/com/baeldung/SpringContextTest.java b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/test/java/com/baeldung/SpringContextTest.java rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/test/java/com/baeldung/SpringContextTest.java diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-basic-auth/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-basic-auth/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-client-auth/pom.xml b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/pom.xml similarity index 94% rename from spring-security-modules/spring-security-x509/spring-security-x509-client-auth/pom.xml rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/pom.xml index 3a39f6af67..fdbc90c0f6 100644 --- a/spring-security-modules/spring-security-x509/spring-security-x509-client-auth/pom.xml +++ b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/pom.xml @@ -2,15 +2,15 @@ 4.0.0 - spring-security-x509-client-auth + spring-security-web-x509-client-auth 0.0.1-SNAPSHOT - spring-security-x509-client-auth + spring-security-web-x509-client-auth jar Spring x.509 Client Authentication Demo com.baeldung - spring-security-x509 + spring-security-web-x509 0.0.1-SNAPSHOT diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/java/com/baeldung/spring/security/x509/UserController.java b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/java/com/baeldung/spring/security/x509/UserController.java similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/java/com/baeldung/spring/security/x509/UserController.java rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/java/com/baeldung/spring/security/x509/UserController.java diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/java/com/baeldung/spring/security/x509/X509AuthenticationServer.java diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/resources/application.properties b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/resources/application.properties similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/resources/application.properties rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/resources/application.properties diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/resources/logback.xml b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/resources/logback.xml similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/resources/logback.xml rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/resources/logback.xml diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/resources/templates/user.html b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/resources/templates/user.html similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/main/resources/templates/user.html rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/main/resources/templates/user.html diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/test/java/com/baeldung/SpringContextTest.java b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/test/java/com/baeldung/SpringContextTest.java rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/test/java/com/baeldung/SpringContextTest.java diff --git a/spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java b/spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java similarity index 100% rename from spring-security-modules/spring-security-x509/spring-security-x509-client-auth/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java rename to spring-security-modules/spring-security-web-x509/spring-security-web-x509-client-auth/src/test/java/com/baeldung/spring/security/x509/X509AuthenticationServerIntegrationTest.java diff --git a/spring-security-modules/spring-security-x509/store/clientBob.p12 b/spring-security-modules/spring-security-web-x509/store/clientBob.p12 similarity index 100% rename from spring-security-modules/spring-security-x509/store/clientBob.p12 rename to spring-security-modules/spring-security-web-x509/store/clientBob.p12 diff --git a/spring-security-modules/spring-security-x509/store/keystore.jks b/spring-security-modules/spring-security-web-x509/store/keystore.jks similarity index 100% rename from spring-security-modules/spring-security-x509/store/keystore.jks rename to spring-security-modules/spring-security-web-x509/store/keystore.jks diff --git a/spring-security-modules/spring-security-x509/store/localhost.ext b/spring-security-modules/spring-security-web-x509/store/localhost.ext similarity index 100% rename from spring-security-modules/spring-security-x509/store/localhost.ext rename to spring-security-modules/spring-security-web-x509/store/localhost.ext diff --git a/spring-security-modules/spring-security-x509/store/rootCA.crt b/spring-security-modules/spring-security-web-x509/store/rootCA.crt similarity index 100% rename from spring-security-modules/spring-security-x509/store/rootCA.crt rename to spring-security-modules/spring-security-web-x509/store/rootCA.crt diff --git a/spring-security-modules/spring-security-x509/store/truststore.jks b/spring-security-modules/spring-security-web-x509/store/truststore.jks similarity index 100% rename from spring-security-modules/spring-security-x509/store/truststore.jks rename to spring-security-modules/spring-security-web-x509/store/truststore.jks From 7e6ddf0e4848d569cf4ca115d52414f02a7fe8fa Mon Sep 17 00:00:00 2001 From: sampadawagde Date: Tue, 18 Aug 2020 15:40:29 +0530 Subject: [PATCH 38/94] JAVA-69: parent module changes as per child module renaming --- spring-security-modules/pom.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spring-security-modules/pom.xml b/spring-security-modules/pom.xml index 815b84d448..b68138964b 100644 --- a/spring-security-modules/pom.xml +++ b/spring-security-modules/pom.xml @@ -32,12 +32,12 @@ spring-security-oidc spring-security-okta spring-security-web-react - spring-security-rest - spring-security-rest-basic-auth - spring-security-rest-custom + spring-security-web-rest + spring-security-web-rest-basic-auth + spring-security-web-rest-custom spring-security-oauth2-sso - spring-security-thymeleaf - spring-security-x509 + spring-security-web-thymeleaf + spring-security-web-x509 spring-security-kotlin-dsl From eb9dd3bf5c02504a934a661841c0381a264ff48e Mon Sep 17 00:00:00 2001 From: sampadawagde Date: Tue, 18 Aug 2020 15:43:55 +0530 Subject: [PATCH 39/94] JAVA-69: README updates --- .../spring-security-web-rest-basic-auth/README.md | 2 +- .../spring-security-web-rest-custom/README.md | 2 +- spring-security-modules/spring-security-web-rest/README.md | 2 +- spring-security-modules/spring-security-web-thymeleaf/README.md | 2 +- spring-security-modules/spring-security-web-x509/README.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/spring-security-modules/spring-security-web-rest-basic-auth/README.md b/spring-security-modules/spring-security-web-rest-basic-auth/README.md index af6dd598cc..97f682acd3 100644 --- a/spring-security-modules/spring-security-web-rest-basic-auth/README.md +++ b/spring-security-modules/spring-security-web-rest-basic-auth/README.md @@ -1,4 +1,4 @@ -## Spring Security REST Basic Authentication +## Spring Security Web - REST Basic Authentication This module contains articles about basic authentication in RESTful APIs with Spring Security diff --git a/spring-security-modules/spring-security-web-rest-custom/README.md b/spring-security-modules/spring-security-web-rest-custom/README.md index be360e035e..09b795c4b8 100644 --- a/spring-security-modules/spring-security-web-rest-custom/README.md +++ b/spring-security-modules/spring-security-web-rest-custom/README.md @@ -1,4 +1,4 @@ -## Spring Security REST Custom +## Spring Security Web - REST Custom This module contains articles about REST APIs with Spring Security diff --git a/spring-security-modules/spring-security-web-rest/README.md b/spring-security-modules/spring-security-web-rest/README.md index 26c101d32c..c13668798d 100644 --- a/spring-security-modules/spring-security-web-rest/README.md +++ b/spring-security-modules/spring-security-web-rest/README.md @@ -1,4 +1,4 @@ -## Spring Security REST +## Spring Security Web - REST This module contains articles about REST APIs with Spring Security diff --git a/spring-security-modules/spring-security-web-thymeleaf/README.md b/spring-security-modules/spring-security-web-thymeleaf/README.md index e0fca4067c..bb3281fa24 100644 --- a/spring-security-modules/spring-security-web-thymeleaf/README.md +++ b/spring-security-modules/spring-security-web-thymeleaf/README.md @@ -1,4 +1,4 @@ -## Spring Security Thymeleaf +## Spring Security Web - Thymeleaf This module contains articles about Spring Security with Thymeleaf. diff --git a/spring-security-modules/spring-security-web-x509/README.md b/spring-security-modules/spring-security-web-x509/README.md index da431d862c..5fd63c0307 100644 --- a/spring-security-modules/spring-security-web-x509/README.md +++ b/spring-security-modules/spring-security-web-x509/README.md @@ -1,4 +1,4 @@ -## Spring Security X.509 +## Spring Security Web - X.509 This module contains articles about X.509 authentication with Spring Security From afd00056a27667333500e812d782e414c11af146 Mon Sep 17 00:00:00 2001 From: Maiklins Date: Tue, 18 Aug 2020 13:46:29 +0200 Subject: [PATCH 40/94] Java-1457 Reduce logging - Modules jgit, libraries-testing (#9884) * Java-1457 Reduce logging - Modules jgit, libraries-testing * Java-1457 Reduce logging - Modules jgit, libraries-testing Co-authored-by: mikr --- .../com/baeldung/jgit/porcelain/AddFile.java | 6 ++++- .../baeldung/jgit/porcelain/CommitAll.java | 6 ++++- .../jgit/porcelain/CreateAndDeleteTag.java | 10 +++++--- .../java/com/baeldung/jgit/porcelain/Log.java | 25 +++++++++++-------- .../jgit/porcelain/PorcelainUnitTest.java | 5 ++-- .../src/test/resources/logback.xml | 5 ++++ 6 files changed, 40 insertions(+), 17 deletions(-) create mode 100644 libraries-testing/src/test/resources/logback.xml diff --git a/jgit/src/main/java/com/baeldung/jgit/porcelain/AddFile.java b/jgit/src/main/java/com/baeldung/jgit/porcelain/AddFile.java index 314366f08c..e6b5dc1afc 100644 --- a/jgit/src/main/java/com/baeldung/jgit/porcelain/AddFile.java +++ b/jgit/src/main/java/com/baeldung/jgit/porcelain/AddFile.java @@ -6,6 +6,8 @@ import com.baeldung.jgit.helper.Helper; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.lib.Repository; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Simple snippet which shows how to add a file to the index @@ -14,6 +16,8 @@ import org.eclipse.jgit.lib.Repository; */ public class AddFile { + private static final Logger logger = LoggerFactory.getLogger(AddFile.class); + public static void main(String[] args) throws IOException, GitAPIException { // prepare a new test-repository try (Repository repository = Helper.createNewRepository()) { @@ -29,7 +33,7 @@ public class AddFile { .addFilepattern("testfile") .call(); - System.out.println("Added file " + myfile + " to repository at " + repository.getDirectory()); + logger.debug("Added file " + myfile + " to repository at " + repository.getDirectory()); } } } diff --git a/jgit/src/main/java/com/baeldung/jgit/porcelain/CommitAll.java b/jgit/src/main/java/com/baeldung/jgit/porcelain/CommitAll.java index 4c0956ebf8..a2d071f392 100644 --- a/jgit/src/main/java/com/baeldung/jgit/porcelain/CommitAll.java +++ b/jgit/src/main/java/com/baeldung/jgit/porcelain/CommitAll.java @@ -7,6 +7,8 @@ import com.baeldung.jgit.helper.Helper; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.lib.Repository; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Simple snippet which shows how to commit all files @@ -15,6 +17,8 @@ import org.eclipse.jgit.lib.Repository; */ public class CommitAll { + private static final Logger logger = LoggerFactory.getLogger(CommitAll.class); + public static void main(String[] args) throws IOException, GitAPIException { // prepare a new test-repository try (Repository repository = Helper.createNewRepository()) { @@ -44,7 +48,7 @@ public class CommitAll { .call(); - System.out.println("Committed all changes to repository at " + repository.getDirectory()); + logger.debug("Committed all changes to repository at " + repository.getDirectory()); } } } diff --git a/jgit/src/main/java/com/baeldung/jgit/porcelain/CreateAndDeleteTag.java b/jgit/src/main/java/com/baeldung/jgit/porcelain/CreateAndDeleteTag.java index 0f735daf8c..e7b0e424e2 100644 --- a/jgit/src/main/java/com/baeldung/jgit/porcelain/CreateAndDeleteTag.java +++ b/jgit/src/main/java/com/baeldung/jgit/porcelain/CreateAndDeleteTag.java @@ -9,6 +9,8 @@ import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevWalk; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Simple snippet which shows how to create a tag @@ -17,6 +19,8 @@ import org.eclipse.jgit.revwalk.RevWalk; */ public class CreateAndDeleteTag { + private static final Logger logger = LoggerFactory.getLogger(CreateAndDeleteTag.class); + public static void main(String[] args) throws IOException, GitAPIException { // prepare test-repository try (Repository repository = Helper.openJGitRepository()) { @@ -26,7 +30,7 @@ public class CreateAndDeleteTag { // set it on the current HEAD Ref tag = git.tag().setName("tag_for_testing").call(); - System.out.println("Created/moved tag " + tag + " to repository at " + repository.getDirectory()); + logger.debug("Created/moved tag " + tag + " to repository at " + repository.getDirectory()); // remove the tag again git.tagDelete().setTags("tag_for_testing").call(); @@ -36,14 +40,14 @@ public class CreateAndDeleteTag { try (RevWalk walk = new RevWalk(repository)) { RevCommit commit = walk.parseCommit(id); tag = git.tag().setObjectId(commit).setName("tag_for_testing").call(); - System.out.println("Created/moved tag " + tag + " to repository at " + repository.getDirectory()); + logger.debug("Created/moved tag " + tag + " to repository at " + repository.getDirectory()); // remove the tag again git.tagDelete().setTags("tag_for_testing").call(); // create an annotated tag tag = git.tag().setName("tag_for_testing").setAnnotated(true).call(); - System.out.println("Created/moved tag " + tag + " to repository at " + repository.getDirectory()); + logger.debug("Created/moved tag " + tag + " to repository at " + repository.getDirectory()); // remove the tag again git.tagDelete().setTags("tag_for_testing").call(); diff --git a/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java b/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java index a50028a9ae..fba8a82962 100644 --- a/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java +++ b/jgit/src/main/java/com/baeldung/jgit/porcelain/Log.java @@ -7,6 +7,9 @@ import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + /** * Simple snippet which shows how to get the commit-ids for a file to provide log information. * @@ -14,6 +17,8 @@ import org.eclipse.jgit.revwalk.RevCommit; */ public class Log { + private static final Logger logger = LoggerFactory.getLogger(Log.class); + @SuppressWarnings("unused") public static void main(String[] args) throws IOException, GitAPIException { try (Repository repository = Helper.openJGitRepository()) { @@ -22,30 +27,30 @@ public class Log { .call(); int count = 0; for (RevCommit rev : logs) { - //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); + logger.trace("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); count++; } - System.out.println("Had " + count + " commits overall on current branch"); + logger.debug("Had " + count + " commits overall on current branch"); logs = git.log() .add(repository.resolve(git.getRepository().getFullBranch())) .call(); count = 0; for (RevCommit rev : logs) { - System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); + logger.trace("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); count++; } - System.out.println("Had " + count + " commits overall on "+git.getRepository().getFullBranch()); + logger.debug("Had " + count + " commits overall on "+git.getRepository().getFullBranch()); logs = git.log() .all() .call(); count = 0; for (RevCommit rev : logs) { - //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); + logger.trace("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); count++; } - System.out.println("Had " + count + " commits overall in repository"); + logger.debug("Had " + count + " commits overall in repository"); logs = git.log() // for all log.all() @@ -53,10 +58,10 @@ public class Log { .call(); count = 0; for (RevCommit rev : logs) { - //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); + logger.trace("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); count++; } - System.out.println("Had " + count + " commits on README.md"); + logger.debug("Had " + count + " commits on README.md"); logs = git.log() // for all log.all() @@ -64,10 +69,10 @@ public class Log { .call(); count = 0; for (RevCommit rev : logs) { - //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); + logger.trace("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); count++; } - System.out.println("Had " + count + " commits on pom.xml"); + logger.debug("Had " + count + " commits on pom.xml"); } } } diff --git a/jgit/src/test/java/com/baeldung/jgit/porcelain/PorcelainUnitTest.java b/jgit/src/test/java/com/baeldung/jgit/porcelain/PorcelainUnitTest.java index d3b3358664..842705e6ac 100644 --- a/jgit/src/test/java/com/baeldung/jgit/porcelain/PorcelainUnitTest.java +++ b/jgit/src/test/java/com/baeldung/jgit/porcelain/PorcelainUnitTest.java @@ -11,7 +11,8 @@ public class PorcelainUnitTest { CommitAll.main(null); CreateAndDeleteTag.main(null); - - Log.main(null); + + Log.main(null); + } } diff --git a/libraries-testing/src/test/resources/logback.xml b/libraries-testing/src/test/resources/logback.xml new file mode 100644 index 0000000000..95160412c3 --- /dev/null +++ b/libraries-testing/src/test/resources/logback.xml @@ -0,0 +1,5 @@ + + + + + From 1ed8b7a2bfa2fd4f67139e9771d725ad98a7fc67 Mon Sep 17 00:00:00 2001 From: kwoyke Date: Tue, 18 Aug 2020 16:12:35 +0200 Subject: [PATCH 41/94] BAEL-4430: Update the email regexp pattern (#9893) --- .../src/main/java/com/baeldung/swagger2boot/model/User.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-modules/spring-boot-mvc/src/main/java/com/baeldung/swagger2boot/model/User.java b/spring-boot-modules/spring-boot-mvc/src/main/java/com/baeldung/swagger2boot/model/User.java index b724031536..339e85e0d4 100644 --- a/spring-boot-modules/spring-boot-mvc/src/main/java/com/baeldung/swagger2boot/model/User.java +++ b/spring-boot-modules/spring-boot-mvc/src/main/java/com/baeldung/swagger2boot/model/User.java @@ -20,7 +20,7 @@ public class User { @Max(value = 65, message = "Age should not be greater than 65") private int age; - @Email(regexp=".@.\\..*", message = "Email should be valid") + @Email(regexp=".*@.*\\..*", message = "Email should be valid") private String email; public Long getId() { From 1acfa2eabf78228d81bd84dd9d947eb739a28224 Mon Sep 17 00:00:00 2001 From: Krzysztof Woyke Date: Wed, 19 Aug 2020 10:26:34 +0200 Subject: [PATCH 42/94] JAVA-2305: Fix merge --- .../com/baeldung/spring/session/SessionConfig.java | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 spring-session/spring-session-redis/src/main/java/com/baeldung/spring/session/SessionConfig.java diff --git a/spring-session/spring-session-redis/src/main/java/com/baeldung/spring/session/SessionConfig.java b/spring-session/spring-session-redis/src/main/java/com/baeldung/spring/session/SessionConfig.java new file mode 100644 index 0000000000..5a9bc9ff28 --- /dev/null +++ b/spring-session/spring-session-redis/src/main/java/com/baeldung/spring/session/SessionConfig.java @@ -0,0 +1,10 @@ +package com.baeldung.spring.session; + +import org.springframework.context.annotation.Configuration; +import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; +import org.springframework.session.web.context.AbstractHttpSessionApplicationInitializer; + +@Configuration +@EnableRedisHttpSession +public class SessionConfig extends AbstractHttpSessionApplicationInitializer { +} From 090404a08be19d7c323bb0fc74dbc6b695c5ee98 Mon Sep 17 00:00:00 2001 From: Mona Mohamadinia Date: Wed, 19 Aug 2020 13:13:46 +0430 Subject: [PATCH 43/94] Added Tests --- .../health/CustomStatusCodeMapper.java | 4 +++ .../health/RandomHealthIndicator.java | 2 ++ .../health/WarningHealthIndicator.java | 14 ++++++++++ .../src/main/resources/application.properties | 4 +-- ...dRandomHealthIndicatorIntegrationTest.java | 26 +++++++++++++++++++ .../RandomHealthIndicatorIntegrationTest.java | 26 +++++++++++++++++++ ...WarningHealthIndicatorIntegrationTest.java | 26 +++++++++++++++++++ 7 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/WarningHealthIndicator.java create mode 100644 spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/DisabledRandomHealthIndicatorIntegrationTest.java create mode 100644 spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/RandomHealthIndicatorIntegrationTest.java create mode 100644 spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/WarningHealthIndicatorIntegrationTest.java diff --git a/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/CustomStatusCodeMapper.java b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/CustomStatusCodeMapper.java index 0ff6773240..483c21dfc1 100644 --- a/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/CustomStatusCodeMapper.java +++ b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/CustomStatusCodeMapper.java @@ -21,6 +21,10 @@ public class CustomStatusCodeMapper implements HttpCodeStatusMapper { return 500; } + if (status.getCode().equals("WARNING")) { + return 500; + } + return 200; } } diff --git a/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/RandomHealthIndicator.java b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/RandomHealthIndicator.java index 958f173458..d8b27c7865 100644 --- a/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/RandomHealthIndicator.java +++ b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/RandomHealthIndicator.java @@ -1,5 +1,6 @@ package com.baeldung.health; +import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.stereotype.Component; @@ -9,6 +10,7 @@ import java.util.Map; import java.util.concurrent.ThreadLocalRandom; @Component +@ConditionalOnEnabledHealthIndicator("random") public class RandomHealthIndicator implements HealthIndicator { @Override diff --git a/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/WarningHealthIndicator.java b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/WarningHealthIndicator.java new file mode 100644 index 0000000000..d978d90339 --- /dev/null +++ b/spring-boot-modules/spring-boot-actuator/src/main/java/com/baeldung/health/WarningHealthIndicator.java @@ -0,0 +1,14 @@ +package com.baeldung.health; + +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.stereotype.Component; + +@Component +public class WarningHealthIndicator implements HealthIndicator { + + @Override + public Health health() { + return Health.status("WARNING").build(); + } +} diff --git a/spring-boot-modules/spring-boot-actuator/src/main/resources/application.properties b/spring-boot-modules/spring-boot-actuator/src/main/resources/application.properties index 290221b731..27dba985b8 100644 --- a/spring-boot-modules/spring-boot-actuator/src/main/resources/application.properties +++ b/spring-boot-modules/spring-boot-actuator/src/main/resources/application.properties @@ -1,5 +1,5 @@ management.health.probes.enabled=true management.endpoint.health.show-details=always -management.health.random.enabled=false management.endpoint.health.status.http-mapping.down=500 -management.endpoint.health.status.http-mapping.out_of_service=503 \ No newline at end of file +management.endpoint.health.status.http-mapping.out_of_service=503 +management.endpoint.health.status.http-mapping.warning=500 \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/DisabledRandomHealthIndicatorIntegrationTest.java b/spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/DisabledRandomHealthIndicatorIntegrationTest.java new file mode 100644 index 0000000000..b69e7fd1f8 --- /dev/null +++ b/spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/DisabledRandomHealthIndicatorIntegrationTest.java @@ -0,0 +1,26 @@ +package com.baeldung.health; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.web.servlet.MockMvc; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@SpringBootTest +@AutoConfigureMockMvc +@TestPropertySource(properties = "management.health.random.enabled=false") +class DisabledRandomHealthIndicatorIntegrationTest { + + @Autowired + private MockMvc mockMvc; + + @Test + void givenADisabledIndicator_whenSendingRequest_thenReturns404() throws Exception { + mockMvc.perform(get("/actuator/health/random")) + .andExpect(status().isNotFound()); + } +} diff --git a/spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/RandomHealthIndicatorIntegrationTest.java b/spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/RandomHealthIndicatorIntegrationTest.java new file mode 100644 index 0000000000..dba38d4da3 --- /dev/null +++ b/spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/RandomHealthIndicatorIntegrationTest.java @@ -0,0 +1,26 @@ +package com.baeldung.health; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.web.servlet.MockMvc; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; + +@SpringBootTest +@AutoConfigureMockMvc +class RandomHealthIndicatorIntegrationTest { + + @Autowired + private MockMvc mockMvc; + + @Test + void givenRandomIndicator_whenCallingTheAPI_thenReturnsExpectedDetails() throws Exception { + mockMvc.perform(get("/actuator/health/random")) + .andExpect(jsonPath("$.status").exists()) + .andExpect(jsonPath("$.details.strategy").value("thread-local")) + .andExpect(jsonPath("$.details.chance").exists()); + } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/WarningHealthIndicatorIntegrationTest.java b/spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/WarningHealthIndicatorIntegrationTest.java new file mode 100644 index 0000000000..60d11a00c7 --- /dev/null +++ b/spring-boot-modules/spring-boot-actuator/src/test/java/com/baeldung/health/WarningHealthIndicatorIntegrationTest.java @@ -0,0 +1,26 @@ +package com.baeldung.health; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.web.servlet.MockMvc; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@SpringBootTest +@AutoConfigureMockMvc +class WarningHealthIndicatorIntegrationTest { + + @Autowired + private MockMvc mockMvc; + + @Test + void givenCustomMapping_whenCallingTheAPI_thenTheStatusCodeIsAsExpected() throws Exception { + mockMvc.perform(get("/actuator/health/warning")) + .andExpect(jsonPath("$.status").value("WARNING")) + .andExpect(status().isInternalServerError()); + } +} \ No newline at end of file From 3bfaf7a5563f9faf803672ab01e38f5a23298aca Mon Sep 17 00:00:00 2001 From: Sebastian Luna Date: Wed, 19 Aug 2020 06:30:51 -0500 Subject: [PATCH 44/94] BAEL-4387 Fix method name --- .../ArrayToListConversion.java} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename java-collections-conversions-2/src/test/java/com/baeldung/{arrayconvertion/ArrayToListConvertion.java => arrayconversion/ArrayToListConversion.java} (79%) diff --git a/java-collections-conversions-2/src/test/java/com/baeldung/arrayconvertion/ArrayToListConvertion.java b/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java similarity index 79% rename from java-collections-conversions-2/src/test/java/com/baeldung/arrayconvertion/ArrayToListConvertion.java rename to java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java index f0f3fda42e..33927286c2 100644 --- a/java-collections-conversions-2/src/test/java/com/baeldung/arrayconvertion/ArrayToListConvertion.java +++ b/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java @@ -1,4 +1,4 @@ -package com.baeldung.arrayconvertion; +package com.baeldung.arrayconversion; import org.junit.Test; @@ -6,10 +6,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class ArrayToListConvertion { +public class ArrayToListConversion { @Test(expected = UnsupportedOperationException.class) - public void givenAnArray_whenConvertToList_returnUnmodifiableList() { + public void givenAnArray_whenConvertingToList_returnUnmodifiableList() { String[] stringArray = new String[] { "A", "B", "C", "D" }; List stringList = Arrays.asList(stringArray); System.out.println(stringList); @@ -20,7 +20,7 @@ public class ArrayToListConvertion { } @Test - public void givenAnArray_whenConvertToList_returnModifiableList() { + public void givenAnArray_whenConvertingToList_returnModifiableList() { String[] stringArray = new String[] { "A", "B", "C", "D" }; List stringList = new ArrayList<>(Arrays.asList(stringArray)); System.out.println(stringList); From bd0a7a2822130409a619c391d25d6051d93b33a3 Mon Sep 17 00:00:00 2001 From: Sebastian Luna Date: Wed, 19 Aug 2020 06:34:26 -0500 Subject: [PATCH 45/94] BAEL-4387 Improve method naming --- .../com/baeldung/arrayconversion/ArrayToListConversion.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java b/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java index 33927286c2..09641cd1d5 100644 --- a/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java +++ b/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java @@ -9,7 +9,7 @@ import java.util.List; public class ArrayToListConversion { @Test(expected = UnsupportedOperationException.class) - public void givenAnArray_whenConvertingToList_returnUnmodifiableList() { + public void givenAnArray_whenConvertingToList_returnUnmodifiableListUnitTest() { String[] stringArray = new String[] { "A", "B", "C", "D" }; List stringList = Arrays.asList(stringArray); System.out.println(stringList); @@ -20,7 +20,7 @@ public class ArrayToListConversion { } @Test - public void givenAnArray_whenConvertingToList_returnModifiableList() { + public void givenAnArray_whenConvertingToList_returnModifiableListUnitTest() { String[] stringArray = new String[] { "A", "B", "C", "D" }; List stringList = new ArrayList<>(Arrays.asList(stringArray)); System.out.println(stringList); From 00e8b70870c36e923b0229367c200a14ab396103 Mon Sep 17 00:00:00 2001 From: kwoyke Date: Wed, 19 Aug 2020 14:14:05 +0200 Subject: [PATCH 46/94] BAEL-4571: Remove redundant configuration (#9895) --- .../com/baeldung/spring/session/SessionConfig.java | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 spring-session/spring-session-redis/src/main/java/com/baeldung/spring/session/SessionConfig.java diff --git a/spring-session/spring-session-redis/src/main/java/com/baeldung/spring/session/SessionConfig.java b/spring-session/spring-session-redis/src/main/java/com/baeldung/spring/session/SessionConfig.java deleted file mode 100644 index 5a9bc9ff28..0000000000 --- a/spring-session/spring-session-redis/src/main/java/com/baeldung/spring/session/SessionConfig.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.baeldung.spring.session; - -import org.springframework.context.annotation.Configuration; -import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; -import org.springframework.session.web.context.AbstractHttpSessionApplicationInitializer; - -@Configuration -@EnableRedisHttpSession -public class SessionConfig extends AbstractHttpSessionApplicationInitializer { -} From c9e9ff79e9d13edd04a2b61be2a972c3c074b475 Mon Sep 17 00:00:00 2001 From: kwoyke Date: Wed, 19 Aug 2020 14:27:29 +0200 Subject: [PATCH 47/94] BAEL-3722: Sync article and the code (#9897) --- .../src/main/java/com/baeldung/java8/lambda/tips/Bar.java | 7 +++++-- .../src/main/java/com/baeldung/java8/lambda/tips/Baz.java | 8 ++++++-- .../java/com/baeldung/java8/lambda/tips/FooExtended.java | 5 ++--- .../tips/Java8FunctionalInteracesLambdasUnitTest.java | 4 ++-- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/Bar.java b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/Bar.java index 4cf0aa2399..3ee78bd7a3 100644 --- a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/Bar.java +++ b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/Bar.java @@ -6,8 +6,11 @@ public interface Bar { String method(String string); - default String defaultMethod() { - return "String from Bar"; + default String defaultBar() { + return "Default String from Bar"; } + default String defaultCommon() { + return "Default Common from Bar"; + } } diff --git a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/Baz.java b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/Baz.java index c7efe14c89..1e1e9ae094 100644 --- a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/Baz.java +++ b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/Baz.java @@ -6,7 +6,11 @@ public interface Baz { String method(String string); - default String defaultMethod() { - return "String from Baz"; + default String defaultBaz() { + return "Default String from Baz"; + } + + default String defaultCommon(){ + return "Default Common from Baz"; } } diff --git a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/FooExtended.java b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/FooExtended.java index 9141cd8eb8..27ab86dca3 100644 --- a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/FooExtended.java +++ b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/tips/FooExtended.java @@ -5,8 +5,7 @@ package com.baeldung.java8.lambda.tips; public interface FooExtended extends Baz, Bar { @Override - default String defaultMethod() { - return Bar.super.defaultMethod(); + default String defaultCommon() { + return Bar.super.defaultCommon(); } - } diff --git a/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/tips/Java8FunctionalInteracesLambdasUnitTest.java b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/tips/Java8FunctionalInteracesLambdasUnitTest.java index b409f8e37f..acc3bc8fa3 100644 --- a/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/tips/Java8FunctionalInteracesLambdasUnitTest.java +++ b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/tips/Java8FunctionalInteracesLambdasUnitTest.java @@ -39,9 +39,9 @@ public class Java8FunctionalInteracesLambdasUnitTest { @Test public void defaultMethodFromExtendedInterface_whenReturnDefiniteString_thenCorrect() { final FooExtended fooExtended = string -> string; - final String result = fooExtended.defaultMethod(); + final String result = fooExtended.defaultCommon(); - assertEquals("String from Bar", result); + assertEquals("Default Common from Bar", result); } @Test From cc308b34edeb7567b2d4f444041e5f64ba4db131 Mon Sep 17 00:00:00 2001 From: bfontana Date: Wed, 19 Aug 2020 21:10:47 -0300 Subject: [PATCH 48/94] Update ArrayToListConversion.java --- .../com/baeldung/arrayconversion/ArrayToListConversion.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java b/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java index 09641cd1d5..551661810d 100644 --- a/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java +++ b/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java @@ -6,7 +6,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class ArrayToListConversion { +public class ArrayToListConversionUnitTest { @Test(expected = UnsupportedOperationException.class) public void givenAnArray_whenConvertingToList_returnUnmodifiableListUnitTest() { From 68154fa54070f1a038d116f479f679b4e1eb31cb Mon Sep 17 00:00:00 2001 From: Bruno Fontana Date: Wed, 19 Aug 2020 21:50:54 -0300 Subject: [PATCH 49/94] Fixing class file name --- ...ayToListConversion.java => ArrayToListConversionUnitTest.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/{ArrayToListConversion.java => ArrayToListConversionUnitTest.java} (100%) diff --git a/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java b/java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversionUnitTest.java similarity index 100% rename from java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversion.java rename to java-collections-conversions-2/src/test/java/com/baeldung/arrayconversion/ArrayToListConversionUnitTest.java From 8abe76937e11104d4392d5b5a8f8de80584064c0 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 12:44:15 +0800 Subject: [PATCH 50/94] Update README.md --- performance-tests/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/performance-tests/README.md b/performance-tests/README.md index 09ed26ae19..27c0363010 100644 --- a/performance-tests/README.md +++ b/performance-tests/README.md @@ -5,6 +5,7 @@ This module contains articles about performance testing. ### Relevant Articles: - [Performance of Java Mapping Frameworks](https://www.baeldung.com/java-performance-mapping-frameworks) +- [Performance Effects of Exceptions in Java](https://www.baeldung.com/java-exceptions-performance) ### Running From c55045a315e7ec83a197a22a9550c4446512ca83 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 12:46:31 +0800 Subject: [PATCH 51/94] Update README.md --- java-collections-conversions-2/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/java-collections-conversions-2/README.md b/java-collections-conversions-2/README.md index 11dddadc5c..9d0ba88cbf 100644 --- a/java-collections-conversions-2/README.md +++ b/java-collections-conversions-2/README.md @@ -3,6 +3,8 @@ 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) - [Mapping Lists with ModelMapper](https://www.baeldung.com/java-modelmapper-lists) +- [Converting List to Map With a Custom Supplier](https://www.baeldung.com/list-to-map-supplier) - More articles: [[<-- prev]](../java-collections-conversions) From 5bac5debeee24311f09fe13a6bdc58c543d6bf97 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 12:49:13 +0800 Subject: [PATCH 52/94] Update README.md --- docker/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/README.md b/docker/README.md index 7948b3d663..8e5cc2b621 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,3 +1,4 @@ ## Relevant Articles: - [Introduction to Docker Compose](https://www.baeldung.com/docker-compose) +- [Creating Docker Images with Spring Boot](https://www.baeldung.com/spring-boot-docker-images) From 1f73d97d0f5c125787d74d40324dadd0bf86cb3b Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 12:51:17 +0800 Subject: [PATCH 53/94] Update README.md --- patterns/solid/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/patterns/solid/README.md b/patterns/solid/README.md index 41e986f544..b7eeb59a6f 100644 --- a/patterns/solid/README.md +++ b/patterns/solid/README.md @@ -4,3 +4,4 @@ - [Single Responsibility Principle in Java](https://www.baeldung.com/java-single-responsibility-principle) - [Open/Closed Principle in Java](https://www.baeldung.com/java-open-closed-principle) - [Interface Segregation Principle in Java](https://www.baeldung.com/java-interface-segregation) +- [Liskov Substitution Principle in Java](https://www.baeldung.com/java-liskov-substitution-principle) From 62d021f6860932d3d21c86385417f0bc49b7fefc Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 12:59:10 +0800 Subject: [PATCH 54/94] Create README.md --- rule-engines/jess/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 rule-engines/jess/README.md diff --git a/rule-engines/jess/README.md b/rule-engines/jess/README.md new file mode 100644 index 0000000000..a5f02d2f3a --- /dev/null +++ b/rule-engines/jess/README.md @@ -0,0 +1,3 @@ +### Relevant Articles: + +- [Jess Rule Engine and JSR 94](https://www.baeldung.com/java-rule-engine-jess-jsr-94) From 13566b8c2d7a36f89ae5eeb60dd7542e6eae1a5d Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:02:58 +0800 Subject: [PATCH 55/94] Update README.md --- core-java-modules/core-java-collections-3/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-collections-3/README.md b/core-java-modules/core-java-collections-3/README.md index 4349ef6be3..c80e493767 100644 --- a/core-java-modules/core-java-collections-3/README.md +++ b/core-java-modules/core-java-collections-3/README.md @@ -12,3 +12,4 @@ - [Fail-Safe Iterator vs Fail-Fast Iterator](https://www.baeldung.com/java-fail-safe-vs-fail-fast-iterator) - [Quick Guide to the Java Stack](https://www.baeldung.com/java-stack) - [Convert an Array of Primitives to a List](https://www.baeldung.com/java-primitive-array-to-list) +- [A Guide to BitSet in Java](https://www.baeldung.com/java-bitset) From 308bd8998b9ec94f0d19ca5ab5f62108eb88e405 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:07:18 +0800 Subject: [PATCH 56/94] Update README.md --- testing-modules/mockito-2/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/testing-modules/mockito-2/README.md b/testing-modules/mockito-2/README.md index bb7235c2cc..9ca5a38e2e 100644 --- a/testing-modules/mockito-2/README.md +++ b/testing-modules/mockito-2/README.md @@ -7,3 +7,4 @@ - [Mocking the ObjectMapper readValue() Method](https://www.baeldung.com/mockito-mock-jackson-read-value) - [Introduction to Mockito’s AdditionalAnswers](https://www.baeldung.com/mockito-additionalanswers) - [Mockito – Using Spies](https://www.baeldung.com/mockito-spy) +- [Using Mockito ArgumentCaptor](https://www.baeldung.com/mockito-argumentcaptor) From ff66bac56c41f736b383b71ee651cc9ae7e39de7 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:10:04 +0800 Subject: [PATCH 57/94] Update README.md --- apache-poi/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apache-poi/README.md b/apache-poi/README.md index b562fefc29..599b21e063 100644 --- a/apache-poi/README.md +++ b/apache-poi/README.md @@ -3,9 +3,11 @@ This module contains articles about Apache POI ### Relevant Articles: + - [Microsoft Word Processing in Java with Apache POI](https://www.baeldung.com/java-microsoft-word-with-apache-poi) - [Working with Microsoft Excel in Java](https://www.baeldung.com/java-microsoft-excel) - [Creating a MS PowerPoint Presentation in Java](https://www.baeldung.com/apache-poi-slideshow) - [Merge Cells in Excel Using Apache POI](https://www.baeldung.com/java-apache-poi-merge-cells) - [Get String Value of Excel Cell with Apache POI](https://www.baeldung.com/java-apache-poi-cell-string-value) - [Read Excel Cell Value Rather Than Formula With Apache POI](https://www.baeldung.com/apache-poi-read-cell-value-formula) +- [Setting Formulas in Excel with Apache POI](https://www.baeldung.com/java-apache-poi-set-formulas) From af9ba730250d8c28c4101663ee2cd1e949172ada Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:15:17 +0800 Subject: [PATCH 58/94] Update README.md --- core-java-modules/core-java-console/README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core-java-modules/core-java-console/README.md b/core-java-modules/core-java-console/README.md index 725e2482bb..0a31727588 100644 --- a/core-java-modules/core-java-console/README.md +++ b/core-java-modules/core-java-console/README.md @@ -1,5 +1,8 @@ #Core Java Console -[Read and Write User Input in Java](http://www.baeldung.com/java-console-input-output) -[Formatting with printf() in Java](https://www.baeldung.com/java-printstream-printf) -[ASCII Art in Java](http://www.baeldung.com/ascii-art-in-java) \ No newline at end of file +### Relevant Articles: + +- [Read and Write User Input in Java](http://www.baeldung.com/java-console-input-output) +- [Formatting with printf() in Java](https://www.baeldung.com/java-printstream-printf) +- [ASCII Art in Java](http://www.baeldung.com/ascii-art-in-java) +- [System.console() vs. System.out](https://www.baeldung.com/java-system-console-vs-system-out) From 0dc5fee1014dce5ec52b657d84eaba3bedd704e5 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:17:06 +0800 Subject: [PATCH 59/94] Update README.md --- jsoup/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/jsoup/README.md b/jsoup/README.md index 690afe3099..42b30d4d83 100644 --- a/jsoup/README.md +++ b/jsoup/README.md @@ -5,6 +5,7 @@ This module contains articles about jsoup. ### Relevant Articles: - [Parsing HTML in Java with Jsoup](https://www.baeldung.com/java-with-jsoup) - [How to add proxy support to Jsoup?](https://www.baeldung.com/java-jsoup-proxy) +- [Preserving Line Breaks When Using Jsoup](https://www.baeldung.com/jsoup-line-breaks) ### Build the Project From 4f44adacc9a5750b373927579e250f5a556ceac3 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:18:56 +0800 Subject: [PATCH 60/94] Update README.md --- core-java-modules/core-java-os/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core-java-modules/core-java-os/README.md b/core-java-modules/core-java-os/README.md index f2ec3f9d48..10e04a8ba6 100644 --- a/core-java-modules/core-java-os/README.md +++ b/core-java-modules/core-java-os/README.md @@ -12,5 +12,6 @@ This module contains articles about working with the operating system (OS) in Ja - [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) +- [Taking Screenshots Using Java](https://www.baeldung.com/java-taking-screenshots) -This module uses Java 9, so make sure to have the JDK 9 installed to run it. \ No newline at end of file +This module uses Java 9, so make sure to have the JDK 9 installed to run it. From 86f836d42a01a13b7a5a4f5b6c897c133d61f28f Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:21:26 +0800 Subject: [PATCH 61/94] Update README.md --- .../core-java-arrays-operations-advanced/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core-java-modules/core-java-arrays-operations-advanced/README.md b/core-java-modules/core-java-arrays-operations-advanced/README.md index af0c00641a..c8ec3e74bc 100644 --- a/core-java-modules/core-java-arrays-operations-advanced/README.md +++ b/core-java-modules/core-java-arrays-operations-advanced/README.md @@ -3,7 +3,9 @@ This module contains articles about advanced operations on arrays in Java. They assume some background knowledge with arrays in Java. ### Relevant Articles: + - [How to Copy an Array in Java](https://www.baeldung.com/java-array-copy) - [Arrays.deepEquals](https://www.baeldung.com/java-arrays-deepequals) - [Find Sum and Average in a Java Array](https://www.baeldung.com/java-array-sum-average) - [Intersection Between two Integer Arrays](https://www.baeldung.com/java-array-intersection) +- [Comparing Arrays in Java](https://www.baeldung.com/java-comparing-arrays) From abe88db97fcd25971c3d349b451c339283854f28 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:44:56 +0800 Subject: [PATCH 62/94] Update README.md --- core-kotlin-modules/core-kotlin/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core-kotlin-modules/core-kotlin/README.md b/core-kotlin-modules/core-kotlin/README.md index 359c5a4787..33f8745937 100644 --- a/core-kotlin-modules/core-kotlin/README.md +++ b/core-kotlin-modules/core-kotlin/README.md @@ -3,6 +3,7 @@ This module contains articles about Kotlin core features. ### Relevant articles: + - [Introduction to the Kotlin Language](https://www.baeldung.com/kotlin-intro) - [Kotlin Java Interoperability](https://www.baeldung.com/kotlin-java-interoperability) - [Get a Random Number in Kotlin](https://www.baeldung.com/kotlin-random-number) @@ -10,3 +11,4 @@ This module contains articles about Kotlin core features. - [Kotlin Ternary Conditional Operator](https://www.baeldung.com/kotlin-ternary-operator) - [Sequences in Kotlin](https://www.baeldung.com/kotlin/sequences) - [Converting Kotlin Data Class from JSON using GSON](https://www.baeldung.com/kotlin-json-convert-data-class) +- [Exception Handling in Kotlin](https://www.baeldung.com/kotlin/exception-handling) From baed0ba3a2039b95473837900a1d3f3d6099c933 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:21:55 +0800 Subject: [PATCH 63/94] Update README.md --- core-java-modules/core-java-lang-3/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-lang-3/README.md b/core-java-modules/core-java-lang-3/README.md index 9ce49da868..0fa08ef397 100644 --- a/core-java-modules/core-java-lang-3/README.md +++ b/core-java-modules/core-java-lang-3/README.md @@ -4,4 +4,5 @@ This module contains articles about core features in the Java language - [Class.isInstance vs Class.isAssignableFrom](https://www.baeldung.com/java-isinstance-isassignablefrom) - [Converting a Java String Into a Boolean](https://www.baeldung.com/java-string-to-boolean) +- [When are Static Variables Initialized in Java?](https://www.baeldung.com/java-static-variables-initialization) - [[<-- Prev]](/core-java-modules/core-java-lang-2) From 74b3d125f42a63d0378de68bb923b4995fca220d Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:23:09 +0800 Subject: [PATCH 64/94] Update README.md --- deeplearning4j/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/deeplearning4j/README.md b/deeplearning4j/README.md index 47c2d8167d..5bd00778ce 100644 --- a/deeplearning4j/README.md +++ b/deeplearning4j/README.md @@ -5,3 +5,4 @@ This module contains articles about Deeplearning4j. ### Relevant Articles: - [A Guide to Deeplearning4j](https://www.baeldung.com/deeplearning4j) - [Logistic Regression in Java](https://www.baeldung.com/java-logistic-regression) +- [How to Implement a CNN with Deeplearning4j](https://www.baeldung.com/java-cnn-deeplearning4j) From 1ed61c074c3395b50b7dc3997b5b3f29ad83cedc Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:28:41 +0800 Subject: [PATCH 65/94] Update README.md --- core-java-modules/core-java-io-3/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-io-3/README.md b/core-java-modules/core-java-io-3/README.md index 61a040c1ce..8da42b2585 100644 --- a/core-java-modules/core-java-io-3/README.md +++ b/core-java-modules/core-java-io-3/README.md @@ -6,4 +6,5 @@ This module contains articles about core Java input and output (IO) - [Java – Create a File](https://www.baeldung.com/java-how-to-create-a-file) - [Check If a Directory Is Empty in Java](https://www.baeldung.com/java-check-empty-directory) +- [Check If a File or Directory Exists in Java](https://www.baeldung.com/java-file-directory-exists) - [[<-- Prev]](/core-java-modules/core-java-io-2) From ffa3a92ee5ea272615f0b691886784b86b119c9b Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:32:59 +0800 Subject: [PATCH 66/94] Create README.md --- spring-boot-modules/spring-boot-xml/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 spring-boot-modules/spring-boot-xml/README.md diff --git a/spring-boot-modules/spring-boot-xml/README.md b/spring-boot-modules/spring-boot-xml/README.md new file mode 100644 index 0000000000..7a9a0bdc09 --- /dev/null +++ b/spring-boot-modules/spring-boot-xml/README.md @@ -0,0 +1,3 @@ +### Relevant Articles: + +- [XML Defined Beans in Spring Boot](https://www.baeldung.com/spring-boot-xml-beans) From 515f3a96e0b639219e70fc086658b3cda19fda5c Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:39:49 +0800 Subject: [PATCH 67/94] Update README.md --- jmh/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/jmh/README.md b/jmh/README.md index 41bf16d6bb..3cfe847a3c 100644 --- a/jmh/README.md +++ b/jmh/README.md @@ -6,3 +6,4 @@ This module contains articles about the Java Microbenchmark Harness (JMH). - [Microbenchmarking with Java](https://www.baeldung.com/java-microbenchmark-harness) - [A Guide to False Sharing and @Contended](https://www.baeldung.com/java-false-sharing-contended) +- [Performance Comparison of boolean[] vs BitSet](https://www.baeldung.com/java-boolean-array-bitset-performance) From 8a5d692509b47daace026b14fdbff30e314896ed Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:42:07 +0800 Subject: [PATCH 68/94] Update README.MD --- persistence-modules/flyway-repair/README.MD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/persistence-modules/flyway-repair/README.MD b/persistence-modules/flyway-repair/README.MD index 7d843af9ea..939b8498da 100644 --- a/persistence-modules/flyway-repair/README.MD +++ b/persistence-modules/flyway-repair/README.MD @@ -1 +1,3 @@ ### Relevant Articles: + +- [Flyway Repair With Spring Boot](https://www.baeldung.com/spring-boot-flyway-repair) From 15dba0da1af24b6fb5e90f5aa6e836b40ba83861 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:45:40 +0800 Subject: [PATCH 69/94] Update README.md --- core-java-modules/core-java-io-3/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-io-3/README.md b/core-java-modules/core-java-io-3/README.md index 8da42b2585..325d5e19fa 100644 --- a/core-java-modules/core-java-io-3/README.md +++ b/core-java-modules/core-java-io-3/README.md @@ -7,4 +7,5 @@ This module contains articles about core Java input and output (IO) - [Java – Create a File](https://www.baeldung.com/java-how-to-create-a-file) - [Check If a Directory Is Empty in Java](https://www.baeldung.com/java-check-empty-directory) - [Check If a File or Directory Exists in Java](https://www.baeldung.com/java-file-directory-exists) +- [Copy a Directory in Java](https://www.baeldung.com/java-copy-directory) - [[<-- Prev]](/core-java-modules/core-java-io-2) From 705e9c0072c0ef840c0e445195eef022501262cd Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:47:05 +0800 Subject: [PATCH 70/94] Update README.md --- core-java-modules/core-java-lang-oop-types/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core-java-modules/core-java-lang-oop-types/README.md b/core-java-modules/core-java-lang-oop-types/README.md index 449a0f59cc..459352c490 100644 --- a/core-java-modules/core-java-lang-oop-types/README.md +++ b/core-java-modules/core-java-lang-oop-types/README.md @@ -3,6 +3,7 @@ This module contains articles about types in Java ### Relevant Articles: + - [Java Classes and Objects](https://www.baeldung.com/java-classes-objects) - [Guide to the this Java Keyword](https://www.baeldung.com/java-this) - [Nested Classes in Java](https://www.baeldung.com/java-nested-classes) @@ -10,3 +11,4 @@ This module contains articles about types in Java - [Iterating Over Enum Values in Java](https://www.baeldung.com/java-enum-iteration) - [Attaching Values to Java Enum](https://www.baeldung.com/java-enum-values) - [A Guide to Java Enums](https://www.baeldung.com/a-guide-to-java-enums) +- [Determine if an Object is of Primitive Type](https://www.baeldung.com/java-object-primitive-type) From 7ea6808a506e2f9b1e64b3c5be05ba8aa215f556 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:49:05 +0800 Subject: [PATCH 71/94] Update README.md --- json-2/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/json-2/README.md b/json-2/README.md index c2b6b36a11..64ca7e6449 100644 --- a/json-2/README.md +++ b/json-2/README.md @@ -3,5 +3,7 @@ This module contains articles about JSON. ### Relevant Articles: + - [Introduction to Jsoniter](https://www.baeldung.com/java-jsoniter) - [Introduction to Moshi Json](https://www.baeldung.com/java-json-moshi) +- [Hypermedia Serialization With JSON-LD](https://www.baeldung.com/json-linked-data) From 7d6e4d2dd47ad077cd61be4c2d7c306e7c2a8d3f Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:51:43 +0800 Subject: [PATCH 72/94] Update README.md --- spring-mvc-java-2/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-mvc-java-2/README.md b/spring-mvc-java-2/README.md index 42fa056b99..41ff7bdf7c 100644 --- a/spring-mvc-java-2/README.md +++ b/spring-mvc-java-2/README.md @@ -6,3 +6,4 @@ - [A Quick Guide to Spring MVC Matrix Variables](https://www.baeldung.com/spring-mvc-matrix-variables) - [Converting a Spring MultipartFile to a File](https://www.baeldung.com/spring-multipartfile-to-file) - [Testing a Spring Multipart POST Request](https://www.baeldung.com/spring-multipart-post-request-test) +- [Spring @Pathvariable Annotation](https://www.baeldung.com/spring-pathvariable) From 9b2237b72b9b3d64cd90237ea81a84ce75fdacd8 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:55:27 +0800 Subject: [PATCH 73/94] Update README.md --- javax-servlets/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javax-servlets/README.md b/javax-servlets/README.md index 54f92064a0..fe070f73b5 100644 --- a/javax-servlets/README.md +++ b/javax-servlets/README.md @@ -12,4 +12,4 @@ This module contains articles about Servlets. - [Jakarta EE Servlet Exception Handling](https://www.baeldung.com/servlet-exceptions) - [Context and Servlet Initialization Parameters](https://www.baeldung.com/context-servlet-initialization-param) - [The Difference between getRequestURI and getPathInfo in HttpServletRequest](https://www.baeldung.com/http-servlet-request-requesturi-pathinfo) -- Difference between request.getSession() and request.getSession(true) +- [Difference between request.getSession() and request.getSession(true)](https://www.baeldung.com/java-request-getsession) From a2ad623ba509624502beaff4bc0cfca31ff6975a Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 17:58:14 +0800 Subject: [PATCH 74/94] Update README.md --- core-java-modules/core-java-reflection-2/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-reflection-2/README.md b/core-java-modules/core-java-reflection-2/README.md index 342fbd73bd..e5ddb7a8b8 100644 --- a/core-java-modules/core-java-reflection-2/README.md +++ b/core-java-modules/core-java-reflection-2/README.md @@ -1,3 +1,4 @@ ### Relevant Articles: - [Reading the Value of ‘private’ Fields from a Different Class in Java](https://www.baeldung.com/java-reflection-read-private-field-value) +- [Set Field Value With Reflection](https://www.baeldung.com/java-set-private-field-value) From 138fef96a4f984a5672265f5dbb3e2b61e0b145d Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:02:34 +0800 Subject: [PATCH 75/94] Create README.md --- persistence-modules/spring-data-jdbc/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 persistence-modules/spring-data-jdbc/README.md diff --git a/persistence-modules/spring-data-jdbc/README.md b/persistence-modules/spring-data-jdbc/README.md new file mode 100644 index 0000000000..0e54d0ba88 --- /dev/null +++ b/persistence-modules/spring-data-jdbc/README.md @@ -0,0 +1,3 @@ +### Relevant Articles: + +- [Introduction to Spring Data JDBC](https://www.baeldung.com/spring-data-jdbc-intro) From 5cf868be7f05ce60c7af43e4dface342646db586 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:03:52 +0800 Subject: [PATCH 76/94] Update README.md --- core-java-modules/core-java-io-3/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-io-3/README.md b/core-java-modules/core-java-io-3/README.md index 325d5e19fa..c4eacdf27a 100644 --- a/core-java-modules/core-java-io-3/README.md +++ b/core-java-modules/core-java-io-3/README.md @@ -8,4 +8,5 @@ This module contains articles about core Java input and output (IO) - [Check If a Directory Is Empty in Java](https://www.baeldung.com/java-check-empty-directory) - [Check If a File or Directory Exists in Java](https://www.baeldung.com/java-file-directory-exists) - [Copy a Directory in Java](https://www.baeldung.com/java-copy-directory) +- [Java Files Open Options](https://www.baeldung.com/java-file-options) - [[<-- Prev]](/core-java-modules/core-java-io-2) From 8ae13d1f5430bcfe538251a7d681bfe1e7cb84a6 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:06:48 +0800 Subject: [PATCH 77/94] Update README.md --- spring-5-security/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-5-security/README.md b/spring-5-security/README.md index 764d726ff8..6847d4bf5c 100644 --- a/spring-5-security/README.md +++ b/spring-5-security/README.md @@ -11,3 +11,4 @@ This module contains articles about Spring Security 5 - [Guide to the AuthenticationManagerResolver in Spring Security](https://www.baeldung.com/spring-security-authenticationmanagerresolver) - [Disable Security for a Profile in Spring Boot](https://www.baeldung.com/spring-security-disable-profile) - [Manual Logout With Spring Security](https://www.baeldung.com/spring-security-manual-logout) +- [How to Disable Spring Security Logout Redirects](https://www.baeldung.com/spring-security-disable-logout-redirects) From e87597b5b161e73768c8134b80412950fd5bdd58 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:09:18 +0800 Subject: [PATCH 78/94] Update README.md --- maven-modules/optional-dependencies/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maven-modules/optional-dependencies/README.md b/maven-modules/optional-dependencies/README.md index 6b4d3e7647..c17f75c539 100644 --- a/maven-modules/optional-dependencies/README.md +++ b/maven-modules/optional-dependencies/README.md @@ -1,3 +1,3 @@ ### Relevant Articles: -- Optional Dependency in Maven \ No newline at end of file +- [Optional Dependency in Maven](https://www.baeldung.com/maven-optional-dependency) From 14b9bba5d0574d21d33598b5649e3aa3d9fa8279 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:15:54 +0800 Subject: [PATCH 79/94] Create README.md --- java-numbers-4/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 java-numbers-4/README.md diff --git a/java-numbers-4/README.md b/java-numbers-4/README.md new file mode 100644 index 0000000000..344d348733 --- /dev/null +++ b/java-numbers-4/README.md @@ -0,0 +1,3 @@ +### Relevant Articles: + +- [Probability in Java](https://www.baeldung.com/java-probability) From 9b55b49677ae3836722c9830794b37b50c930e0e Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:17:51 +0800 Subject: [PATCH 80/94] Update README.md --- core-java-modules/core-java-collections-list-3/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-collections-list-3/README.md b/core-java-modules/core-java-collections-list-3/README.md index 65c377bd99..967e148a99 100644 --- a/core-java-modules/core-java-collections-list-3/README.md +++ b/core-java-modules/core-java-collections-list-3/README.md @@ -10,4 +10,5 @@ This module contains articles about the Java List collection - [Performance Comparison of Primitive Lists in Java](https://www.baeldung.com/java-list-primitive-performance) - [Filtering a Java Collection by a List](https://www.baeldung.com/java-filter-collection-by-list) - [How to Count Duplicate Elements in Arraylist](https://www.baeldung.com/java-count-duplicate-elements-arraylist) +- [Finding the Differences Between Two Lists in Java](https://www.baeldung.com/java-lists-difference) - [[<-- Prev]](/core-java-modules/core-java-collections-list-2) From 44a3e5fd1e869fc2e6ab61edd0ee57348b24ec7a Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:21:02 +0800 Subject: [PATCH 81/94] Update README.md --- persistence-modules/java-jpa-3/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/persistence-modules/java-jpa-3/README.md b/persistence-modules/java-jpa-3/README.md index 01fdf05b53..dce9c4e711 100644 --- a/persistence-modules/java-jpa-3/README.md +++ b/persistence-modules/java-jpa-3/README.md @@ -1,3 +1,7 @@ ## JPA in Java This module contains articles about the Java Persistence API (JPA) in Java. + +### Relevant Articles: + +- [JPA Entity Equality](https://www.baeldung.com/jpa-entity-equality) From 45ffc02262bc0184dba9cd675d38957762a5b51f Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:22:29 +0800 Subject: [PATCH 82/94] Update README.md --- persistence-modules/core-java-persistence/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/persistence-modules/core-java-persistence/README.md b/persistence-modules/core-java-persistence/README.md index a760489480..b7eecdde0d 100644 --- a/persistence-modules/core-java-persistence/README.md +++ b/persistence-modules/core-java-persistence/README.md @@ -13,3 +13,4 @@ - [Returning the Generated Keys in JDBC](https://www.baeldung.com/jdbc-returning-generated-keys) - [Loading JDBC Drivers](https://www.baeldung.com/java-jdbc-loading-drivers) - [Difference Between Statement and PreparedStatement](https://www.baeldung.com/java-statement-preparedstatement) +- [Extracting Database Metadata Using JDBC](https://www.baeldung.com/jdbc-database-metadata) From 99ad2667666e2ab00da3a76f1caf517b9beb2822 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:28:49 +0800 Subject: [PATCH 83/94] Update README.md --- algorithms-searching/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/algorithms-searching/README.md b/algorithms-searching/README.md index aed3c7d21f..a3ea023da3 100644 --- a/algorithms-searching/README.md +++ b/algorithms-searching/README.md @@ -3,6 +3,7 @@ This module contains articles about searching algorithms. ### Relevant articles: + - [Binary Search Algorithm in Java](https://www.baeldung.com/java-binary-search) - [Depth First Search in Java](https://www.baeldung.com/java-depth-first-search) - [Interpolation Search in Java](https://www.baeldung.com/java-interpolation-search) @@ -11,3 +12,4 @@ This module contains articles about searching algorithms. - [Monte Carlo Tree Search for Tic-Tac-Toe Game](https://www.baeldung.com/java-monte-carlo-tree-search) - [Range Search Algorithm in Java](https://www.baeldung.com/java-range-search) - [Fast Pattern Matching of Strings Using Suffix Tree](https://www.baeldung.com/java-pattern-matching-suffix-tree) +- [Find the Kth Smallest Element in Two Sorted Arrays](https://www.baeldung.com/java-kth-smallest-element-in-sorted-arrays) From 7f3f7b6434331a72471d70d5bdc0f2f6b17cfcfc Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:33:43 +0800 Subject: [PATCH 84/94] Update README.md --- core-java-modules/core-java-jvm-2/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-jvm-2/README.md b/core-java-modules/core-java-jvm-2/README.md index 7206a9eef7..36cafd3288 100644 --- a/core-java-modules/core-java-jvm-2/README.md +++ b/core-java-modules/core-java-jvm-2/README.md @@ -10,4 +10,5 @@ This module contains articles about working with the Java Virtual Machine (JVM). - [boolean and boolean[] Memory Layout in the JVM](https://www.baeldung.com/jvm-boolean-memory-layout) - [Where Is the Array Length Stored in JVM?](https://www.baeldung.com/java-jvm-array-length) - [Memory Address of Objects in Java](https://www.baeldung.com/java-object-memory-address) +- [List All Classes Loaded in a Specific Class Loader](https://www.baeldung.com/java-list-classes-class-loader) - More articles: [[<-- prev]](/core-java-modules/core-java-jvm) From 2beedd866c9da655b4029666a0e521464797beb7 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:37:21 +0800 Subject: [PATCH 85/94] Create README.md --- persistence-modules/spring-data-cosmosdb/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 persistence-modules/spring-data-cosmosdb/README.md diff --git a/persistence-modules/spring-data-cosmosdb/README.md b/persistence-modules/spring-data-cosmosdb/README.md new file mode 100644 index 0000000000..c4a102141f --- /dev/null +++ b/persistence-modules/spring-data-cosmosdb/README.md @@ -0,0 +1,3 @@ +### Relevant Articles: + +- [Introduction to Spring Data Azure Cosmos DB](https://www.baeldung.com/spring-data-cosmos-db) From bd82dcaec9a5b36c165a8ebc35e995af88b93e7d Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:38:27 +0800 Subject: [PATCH 86/94] Update README.md --- persistence-modules/hibernate5/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/persistence-modules/hibernate5/README.md b/persistence-modules/hibernate5/README.md index 8793e2e9c7..8fa6843b17 100644 --- a/persistence-modules/hibernate5/README.md +++ b/persistence-modules/hibernate5/README.md @@ -13,3 +13,4 @@ This module contains articles about Hibernate 5. Let's not add more articles her - [Guide to the Hibernate EntityManager](https://www.baeldung.com/hibernate-entitymanager) - [Using c3p0 with Hibernate](https://www.baeldung.com/hibernate-c3p0) - [Persist a JSON Object Using Hibernate](https://www.baeldung.com/hibernate-persist-json-object) +- [What Is the Hi/Lo Algorithm?](https://www.baeldung.com/hi-lo-algorithm-hibernate) From 22008a0cea2e98c7e5ccb1dbb87a499679a1b5a0 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:40:15 +0800 Subject: [PATCH 87/94] Create README.md --- spring-webflux-threads/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 spring-webflux-threads/README.md diff --git a/spring-webflux-threads/README.md b/spring-webflux-threads/README.md new file mode 100644 index 0000000000..746514feda --- /dev/null +++ b/spring-webflux-threads/README.md @@ -0,0 +1,3 @@ +### Relevant Articles: + +- [Concurrency in Spring WebFlux](https://www.baeldung.com/spring-webflux-concurrency) From 8fb13070b62b9c39c41eed3ab24208cf30d5b92b Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:41:40 +0800 Subject: [PATCH 88/94] Create README.md --- spring-boot-modules/spring-boot-properties-3/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 spring-boot-modules/spring-boot-properties-3/README.md diff --git a/spring-boot-modules/spring-boot-properties-3/README.md b/spring-boot-modules/spring-boot-properties-3/README.md new file mode 100644 index 0000000000..df6ba5480a --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/README.md @@ -0,0 +1,3 @@ +### Relevant Articles: + +- [How to Define a Map in YAML for a POJO?](https://www.baeldung.com/yaml-map-pojo) From 210c1ed732145b9eec1f26182d31aeeb306fbe89 Mon Sep 17 00:00:00 2001 From: johnA1331 <53036378+johnA1331@users.noreply.github.com> Date: Thu, 20 Aug 2020 18:43:15 +0800 Subject: [PATCH 89/94] Create README.md --- core-java-modules/core-java-exceptions-3/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 core-java-modules/core-java-exceptions-3/README.md diff --git a/core-java-modules/core-java-exceptions-3/README.md b/core-java-modules/core-java-exceptions-3/README.md new file mode 100644 index 0000000000..e6c7eda881 --- /dev/null +++ b/core-java-modules/core-java-exceptions-3/README.md @@ -0,0 +1,3 @@ +### Relevant Articles: + +- [NoSuchMethodError in Java](https://www.baeldung.com/java-nosuchmethod-error) From b35b7d0a90bc159fd7c1fd7f9e4e65ad1b933dd2 Mon Sep 17 00:00:00 2001 From: sampadawagde Date: Thu, 20 Aug 2020 16:45:04 +0530 Subject: [PATCH 90/94] JAVA-2382: Update "Performance of Mapping Frameworks" article --- performance-tests/pom.xml | 84 +++++++------------ .../dozer/DozerConverter.java | 40 ++++----- .../src/main/resources/dozer-mapping.xml | 6 +- .../src/test/resources/dozer-mapping.xml | 6 +- 4 files changed, 54 insertions(+), 82 deletions(-) diff --git a/performance-tests/pom.xml b/performance-tests/pom.xml index c790dbbb16..fb3f82df38 100644 --- a/performance-tests/pom.xml +++ b/performance-tests/pom.xml @@ -19,27 +19,14 @@ ${orika.version} - net.sf.dozer - dozer + com.github.dozermapper + dozer-core ${dozer.version} - - - io.craftsman - dozer-jdk8-support - ${dozer-jdk8-support.version} - + org.mapstruct - mapstruct-jdk8 - ${mapstruct-jdk8.version} - true - - - - org.mapstruct - mapstruct-processor - ${mapstruct-jdk8.version} - provided + mapstruct + ${mapstruct.version} @@ -77,10 +64,15 @@ ${javac.target} ${javac.target} + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh.version} + org.mapstruct mapstruct-processor - ${mapstruct-processor.version} + ${mapstruct.version} @@ -120,28 +112,16 @@ - - org.apache.maven.plugins - maven-jar-plugin - ${maven-jar-plugin.version} - - - - com.baeldung.performancetests.MappingFrameworksPerformance - - - - maven-clean-plugin - 2.5 + ${clean.plugin.version} maven-deploy-plugin - 2.8.1 + ${deploy.plugin.version} maven-install-plugin @@ -179,19 +159,13 @@ - 1.21 - 1.5.2 - 5.5.1 - 1.0.2 - 1.2.0.Final - 1.1.0 - 1.6.0.1 - 1.2.0.Final - 1.21 - 1.21 - 3.7.0 - 3.2.0 - + 1.23 + 1.5.4 + 6.5.0 + 1.3.1.Final + 2.3.8 + 1.6.1.CR2 + @@ -201,14 +175,16 @@ Name of the benchmark Uber-JAR to generate. --> benchmarks - 3.1 - 2.2 - 2.5.1 - 2.4 - 2.9.1 - 2.6 - 3.3 - 2.2.1 + 3.1.0 + 3.0.0-M1 + 3.8.1 + 3.2.4 + 3.0.0-M1 + 3.2.0 + 3.2.0 + 3.1.0 + 3.9.1 + 3.2.1 2.17 diff --git a/performance-tests/src/main/java/com/baeldung/performancetests/dozer/DozerConverter.java b/performance-tests/src/main/java/com/baeldung/performancetests/dozer/DozerConverter.java index 710145ec58..e33c407dfa 100644 --- a/performance-tests/src/main/java/com/baeldung/performancetests/dozer/DozerConverter.java +++ b/performance-tests/src/main/java/com/baeldung/performancetests/dozer/DozerConverter.java @@ -2,28 +2,28 @@ package com.baeldung.performancetests.dozer; import com.baeldung.performancetests.Converter; import com.baeldung.performancetests.model.destination.DestinationCode; +import com.baeldung.performancetests.model.destination.Order; import com.baeldung.performancetests.model.source.SourceCode; import com.baeldung.performancetests.model.source.SourceOrder; -import com.baeldung.performancetests.model.destination.Order; -import org.dozer.DozerBeanMapper; -import org.dozer.Mapper; +import com.github.dozermapper.core.DozerBeanMapperBuilder; +import com.github.dozermapper.core.Mapper; - public class DozerConverter implements Converter { - private final Mapper mapper; +public class DozerConverter implements Converter { + private final Mapper mapper; - public DozerConverter() { - DozerBeanMapper mapper = new DozerBeanMapper(); - mapper.addMapping(DozerConverter.class.getResourceAsStream("/dozer-mapping.xml")); - this.mapper = mapper; - } - - @Override - public Order convert(SourceOrder sourceOrder) { - return mapper.map(sourceOrder,Order.class); - } - - @Override - public DestinationCode convert(SourceCode sourceCode) { - return mapper.map(sourceCode, DestinationCode.class); - } + public DozerConverter() { + this.mapper = DozerBeanMapperBuilder.create() + .withMappingFiles("dozer-mapping.xml") + .build(); } + + @Override + public Order convert(SourceOrder sourceOrder) { + return mapper.map(sourceOrder, Order.class); + } + + @Override + public DestinationCode convert(SourceCode sourceCode) { + return mapper.map(sourceCode, DestinationCode.class); + } +} diff --git a/performance-tests/src/main/resources/dozer-mapping.xml b/performance-tests/src/main/resources/dozer-mapping.xml index 7fd7e78e9f..3c4530561a 100644 --- a/performance-tests/src/main/resources/dozer-mapping.xml +++ b/performance-tests/src/main/resources/dozer-mapping.xml @@ -1,8 +1,6 @@ - + true diff --git a/performance-tests/src/test/resources/dozer-mapping.xml b/performance-tests/src/test/resources/dozer-mapping.xml index 7484812431..0476f45cdf 100644 --- a/performance-tests/src/test/resources/dozer-mapping.xml +++ b/performance-tests/src/test/resources/dozer-mapping.xml @@ -1,8 +1,6 @@ - + true From ebd334c9c59f956ebc54640b7e37f4b8d5e22808 Mon Sep 17 00:00:00 2001 From: Loredana Date: Thu, 20 Aug 2020 19:46:25 +0300 Subject: [PATCH 91/94] removed spring-all module --- spring-all/README.md | 3 - .../org/baeldung/scopes/ScopesConfig.java | 61 ------------------- 2 files changed, 64 deletions(-) delete mode 100644 spring-all/README.md delete mode 100644 spring-all/src/main/java/org/baeldung/scopes/ScopesConfig.java diff --git a/spring-all/README.md b/spring-all/README.md deleted file mode 100644 index 9ad78aa1ee..0000000000 --- a/spring-all/README.md +++ /dev/null @@ -1,3 +0,0 @@ -## Spring All - -This module contains articles about Spring diff --git a/spring-all/src/main/java/org/baeldung/scopes/ScopesConfig.java b/spring-all/src/main/java/org/baeldung/scopes/ScopesConfig.java deleted file mode 100644 index 11d3806b6e..0000000000 --- a/spring-all/src/main/java/org/baeldung/scopes/ScopesConfig.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.baeldung.scopes; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Scope; -import org.springframework.context.annotation.ScopedProxyMode; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import org.springframework.web.servlet.view.JstlView; -import org.springframework.web.servlet.view.UrlBasedViewResolver; - -@Configuration -@ComponentScan("org.baeldung.scopes") -@EnableWebMvc -public class ScopesConfig { - @Bean - public UrlBasedViewResolver setupViewResolver() { - final UrlBasedViewResolver resolver = new UrlBasedViewResolver(); - resolver.setPrefix("/WEB-INF/view/"); - resolver.setSuffix(".jsp"); - resolver.setViewClass(JstlView.class); - return resolver; - } - - @Bean - @Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS) - public HelloMessageGenerator requestScopedBean() { - return new HelloMessageGenerator(); - } - - @Bean - @Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS) - public HelloMessageGenerator sessionScopedBean() { - return new HelloMessageGenerator(); - } - - @Bean - @Scope(value = WebApplicationContext.SCOPE_APPLICATION, proxyMode = ScopedProxyMode.TARGET_CLASS) - public HelloMessageGenerator applicationScopedBean() { - return new HelloMessageGenerator(); - } - - @Bean - @Scope(scopeName = "websocket", proxyMode = ScopedProxyMode.TARGET_CLASS) - public HelloMessageGenerator websocketScopedBean() { - return new HelloMessageGenerator(); - } - - @Bean - @Scope("prototype") - public Person personPrototype() { - return new Person(); - } - - @Bean - @Scope("singleton") - public Person personSingleton() { - return new Person(); - } -} From ca68c7d56c00e06f57ffa2d4db66e5c0936534a0 Mon Sep 17 00:00:00 2001 From: Krzysztof Woyke Date: Thu, 20 Aug 2020 20:46:12 +0200 Subject: [PATCH 92/94] JAVA-1651: Get rid of the overriden spring-boot.version property --- spring-cloud/spring-cloud-config/pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spring-cloud/spring-cloud-config/pom.xml b/spring-cloud/spring-cloud-config/pom.xml index 5097a63092..8411a65500 100644 --- a/spring-cloud/spring-cloud-config/pom.xml +++ b/spring-cloud/spring-cloud-config/pom.xml @@ -33,8 +33,7 @@ - Hoxton.RELEASE - 2.2.2.RELEASE + Hoxton.SR4 From f9e54fd2f6352f2f86a77d1b46b550afa1488607 Mon Sep 17 00:00:00 2001 From: kwoyke Date: Fri, 21 Aug 2020 14:33:39 +0200 Subject: [PATCH 93/94] BAEL-4572: Add List#copyOf and Set#copyOf (#9903) * BAEL-4572: Move Converting Between a List and a Set in Java to core-java-10 * BAEL-4572: Add Java10 examples --- core-java-modules/core-java-10/README.md | 1 + core-java-modules/core-java-10/pom.xml | 24 ++++--- .../conversion/ListSetConversionUnitTest.java | 68 +++++++++++++++++++ java-collections-conversions/README.md | 1 - .../JavaCollectionConversionUnitTest.java | 36 ---------- 5 files changed, 85 insertions(+), 45 deletions(-) create mode 100644 core-java-modules/core-java-10/src/test/java/com/baeldung/java10/collections/conversion/ListSetConversionUnitTest.java diff --git a/core-java-modules/core-java-10/README.md b/core-java-modules/core-java-10/README.md index 2b57ec9064..23f598b902 100644 --- a/core-java-modules/core-java-10/README.md +++ b/core-java-modules/core-java-10/README.md @@ -9,3 +9,4 @@ This module contains articles about Java 10 core features - [Copy a List to Another List in Java](http://www.baeldung.com/java-copy-list-to-another) - [Deep Dive Into the New Java JIT Compiler – Graal](https://www.baeldung.com/graal-java-jit-compiler) - [Copying Sets in Java](https://www.baeldung.com/java-copy-sets) +- [Converting between a List and a Set in Java](https://www.baeldung.com/convert-list-to-set-and-set-to-list) diff --git a/core-java-modules/core-java-10/pom.xml b/core-java-modules/core-java-10/pom.xml index a9b991852f..b293eb6c2f 100644 --- a/core-java-modules/core-java-10/pom.xml +++ b/core-java-modules/core-java-10/pom.xml @@ -1,22 +1,29 @@ + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 core-java-10 0.1.0-SNAPSHOT core-java-10 jar - http://maven.apache.org - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - ../../ + com.baeldung.core-java-modules + core-java-modules + 0.0.1-SNAPSHOT + ../ + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + + + @@ -34,6 +41,7 @@ 10 10 + 4.1 diff --git a/core-java-modules/core-java-10/src/test/java/com/baeldung/java10/collections/conversion/ListSetConversionUnitTest.java b/core-java-modules/core-java-10/src/test/java/com/baeldung/java10/collections/conversion/ListSetConversionUnitTest.java new file mode 100644 index 0000000000..1526d1ae7f --- /dev/null +++ b/core-java-modules/core-java-10/src/test/java/com/baeldung/java10/collections/conversion/ListSetConversionUnitTest.java @@ -0,0 +1,68 @@ +package com.baeldung.java10.collections.conversion; + +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import org.apache.commons.collections4.CollectionUtils; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class ListSetConversionUnitTest { + + // Set -> List; List -> Set + + @Test + public final void givenUsingCoreJava_whenSetConvertedToList_thenCorrect() { + final Set sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5); + final List targetList = new ArrayList<>(sourceSet); + } + + @Test + public final void givenUsingCoreJava_whenListConvertedToSet_thenCorrect() { + final List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); + final Set targetSet = new HashSet<>(sourceList); + } + + @Test + public void givenUsingJava10_whenSetConvertedToList_thenCorrect() { + final Set sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5); + final List targetList = List.copyOf(sourceSet); + } + + @Test + public void givenUsingJava10_whenListConvertedToSet_thenCorrect() { + final List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); + final Set targetSet = Set.copyOf(sourceList); + } + + @Test + public final void givenUsingGuava_whenSetConvertedToList_thenCorrect() { + final Set sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5); + final List targetList = Lists.newArrayList(sourceSet); + } + + @Test + public final void givenUsingGuava_whenListConvertedToSet_thenCorrect() { + final List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); + final Set targetSet = Sets.newHashSet(sourceList); + } + + @Test + public final void givenUsingCommonsCollections_whenListConvertedToSet_thenCorrect() { + final List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); + + final Set targetSet = new HashSet<>(6); + CollectionUtils.addAll(targetSet, sourceList); + } + + @Test + public final void givenUsingCommonsCollections_whenSetConvertedToList_thenCorrect() { + final Set sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5); + + final List targetList = new ArrayList<>(6); + CollectionUtils.addAll(targetList, sourceSet); + } +} diff --git a/java-collections-conversions/README.md b/java-collections-conversions/README.md index 2d3aa41f2d..25a4d11b8b 100644 --- a/java-collections-conversions/README.md +++ b/java-collections-conversions/README.md @@ -5,7 +5,6 @@ This module contains articles about conversions among Collection types and array ### Relevant Articles: - [Converting between an Array and a List in Java](https://www.baeldung.com/convert-array-to-list-and-list-to-array) - [Converting between an Array and a Set in Java](https://www.baeldung.com/convert-array-to-set-and-set-to-array) -- [Converting between a List and a Set in Java](https://www.baeldung.com/convert-list-to-set-and-set-to-list) - [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) diff --git a/java-collections-conversions/src/test/java/com/baeldung/java/collections/JavaCollectionConversionUnitTest.java b/java-collections-conversions/src/test/java/com/baeldung/java/collections/JavaCollectionConversionUnitTest.java index 7b856309f1..7947d1b6c7 100644 --- a/java-collections-conversions/src/test/java/com/baeldung/java/collections/JavaCollectionConversionUnitTest.java +++ b/java-collections-conversions/src/test/java/com/baeldung/java/collections/JavaCollectionConversionUnitTest.java @@ -101,42 +101,6 @@ public class JavaCollectionConversionUnitTest { final int[] primitiveTargetArray = ArrayUtils.toPrimitive(targetArray); } - // Set -> List; List -> Set - - public final void givenUsingCoreJava_whenSetConvertedToList_thenCorrect() { - final Set sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5); - final List targetList = new ArrayList<>(sourceSet); - } - - public final void givenUsingCoreJava_whenListConvertedToSet_thenCorrect() { - final List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); - final Set targetSet = new HashSet<>(sourceList); - } - - public final void givenUsingGuava_whenSetConvertedToList_thenCorrect() { - final Set sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5); - final List targetList = Lists.newArrayList(sourceSet); - } - - public final void givenUsingGuava_whenListConvertedToSet_thenCorrect() { - final List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); - final Set targetSet = Sets.newHashSet(sourceList); - } - - public final void givenUsingCommonsCollections_whenListConvertedToSet_thenCorrect() { - final List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); - - final Set targetSet = new HashSet<>(6); - CollectionUtils.addAll(targetSet, sourceList); - } - - public final void givenUsingCommonsCollections_whenSetConvertedToList_thenCorrect() { - final Set sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5); - - final List targetList = new ArrayList<>(6); - CollectionUtils.addAll(targetList, sourceSet); - } - // Map (values) -> Array, List, Set @Test From 16ae922c36fdfbf2a47f22cfd1f65fa032461313 Mon Sep 17 00:00:00 2001 From: Ricardo Caldas Date: Sat, 22 Aug 2020 05:45:22 -0300 Subject: [PATCH 94/94] BAEL-4106 (#9887) * BAEL-4106 application.yml vs application.properties for Spring Boot * Update README.md --- .../spring-boot-properties-3/README.md | 6 +++++ .../spring-boot-properties-3/pom.xml | 3 --- .../propertiesvsyaml/ConfigProperties.java | 27 +++++++++++++++++++ .../EnvironmentProperties.java | 16 +++++++++++ .../propertiesvsyaml/ValueProperties.java | 13 +++++++++ .../src/main/resources/application.properties | 11 ++++++++ .../src/main/resources/application.yml | 22 +++++++++++++++ 7 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/ConfigProperties.java create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/EnvironmentProperties.java create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/ValueProperties.java create mode 100644 spring-boot-modules/spring-boot-properties-3/src/main/resources/application.properties diff --git a/spring-boot-modules/spring-boot-properties-3/README.md b/spring-boot-modules/spring-boot-properties-3/README.md index df6ba5480a..d89f825c86 100644 --- a/spring-boot-modules/spring-boot-properties-3/README.md +++ b/spring-boot-modules/spring-boot-properties-3/README.md @@ -1,3 +1,9 @@ + +## Spring Boot Properties + + + ### Relevant Articles: - [How to Define a Map in YAML for a POJO?](https://www.baeldung.com/yaml-map-pojo) + diff --git a/spring-boot-modules/spring-boot-properties-3/pom.xml b/spring-boot-modules/spring-boot-properties-3/pom.xml index cf94e1fc1d..44e2ef52ac 100644 --- a/spring-boot-modules/spring-boot-properties-3/pom.xml +++ b/spring-boot-modules/spring-boot-properties-3/pom.xml @@ -17,13 +17,11 @@ 1.8 - org.springframework.boot spring-boot-starter - org.springframework.boot spring-boot-starter-test @@ -50,5 +48,4 @@ - diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/ConfigProperties.java b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/ConfigProperties.java new file mode 100644 index 0000000000..3a7ed76276 --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/ConfigProperties.java @@ -0,0 +1,27 @@ +package com.baeldung.propertiesvsyaml; + +import org.springframework.boot.context.properties.ConfigurationProperties; + + +@ConfigurationProperties(prefix = "app") +public class ConfigProperties { + + String name; + String description; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/EnvironmentProperties.java b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/EnvironmentProperties.java new file mode 100644 index 0000000000..b5586956cc --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/EnvironmentProperties.java @@ -0,0 +1,16 @@ +package com.baeldung.propertiesvsyaml; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +@Component +public class EnvironmentProperties { + + @Autowired + private Environment env; + + public String getSomeKey() { + return env.getProperty("key.something"); + } +} diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/ValueProperties.java b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/ValueProperties.java new file mode 100644 index 0000000000..fb9ef9b1cf --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/java/com/baeldung/propertiesvsyaml/ValueProperties.java @@ -0,0 +1,13 @@ +package com.baeldung.propertiesvsyaml; + +import org.springframework.beans.factory.annotation.Value; + +public class ValueProperties { + + @Value("${key.something}") + private String injectedProperty; + + public String getAppName() { + return injectedProperty; + } +} diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.properties b/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.properties new file mode 100644 index 0000000000..eace1f0e46 --- /dev/null +++ b/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.properties @@ -0,0 +1,11 @@ +application.servers[0].ip=127.0.0.1 +application.servers[0].path=/path1 +application.servers[1].ip=127.0.0.2 +application.servers[1].path=/path2 +application.servers[2].ip=127.0.0.3 +application.servers[2].path=/path3 +spring.datasource.url=jdbc:h2:dev +spring.datasource.username=SA +spring.datasource.password=password +app.name=MyApp +app.description=${app.name} is a Spring Boot application \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.yml b/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.yml index 8779cb6b0c..00baeade9c 100644 --- a/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.yml +++ b/spring-boot-modules/spring-boot-properties-3/src/main/resources/application.yml @@ -1,3 +1,25 @@ +logging: + file: + name: myapplication.log +spring: + datasource: + password: 'password' + url: jdbc:h2:dev + username: SA +--- +spring: + datasource: + password: 'password' + url: jdbc:mysql://localhost:3306/db_production + username: user +application: + servers: + - ip: '127.0.0.1' + path: '/path1' + - ip: '127.0.0.2' + path: '/path2' + - ip: '127.0.0.3' + path: '/path3' t-shirt-size: simple-mapping: XS: 6