diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index 53af0de315..7a93cabb82 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -73,6 +73,7 @@ spring-boot-actuator spring-boot-data-2 spring-boot-react + spring-boot-validation diff --git a/spring-boot-modules/spring-boot-servicelayer-validation/README.md b/spring-boot-modules/spring-boot-servicelayer-validation/README.md deleted file mode 100644 index 7c39135db6..0000000000 --- a/spring-boot-modules/spring-boot-servicelayer-validation/README.md +++ /dev/null @@ -1,4 +0,0 @@ -## Spring Service Layer Validation - -This module contains articles about validation in Service layer of Spring Boot project. - diff --git a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/dao/UserAccountDao.java b/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/dao/UserAccountDao.java deleted file mode 100644 index d170ceef58..0000000000 --- a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/dao/UserAccountDao.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.baeldung.spring.servicevalidation.dao; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.springframework.stereotype.Service; - -import com.baeldung.spring.servicevalidation.domain.UserAccount; - -@Service -public class UserAccountDao { - - private Map DB = new HashMap(); - - public String addUserAccount(UserAccount useraccount) { - DB.put(useraccount.getName(), useraccount); - return "success"; - } - - public Collection getAllUserAccounts() { - - Collection list = DB.values(); - if(list.isEmpty()) { - list.addAll(DB.values()); - } - return list; - - } - - -} diff --git a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/service/UserAccountService.java b/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/service/UserAccountService.java deleted file mode 100644 index 9a376fda6b..0000000000 --- a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/service/UserAccountService.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.baeldung.spring.servicevalidation.service; - -import java.util.Set; - -import javax.validation.ConstraintViolation; -import javax.validation.ConstraintViolationException; -import javax.validation.Validator; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.baeldung.spring.servicevalidation.dao.UserAccountDao; -import com.baeldung.spring.servicevalidation.domain.UserAccount; - -@Service -public class UserAccountService { - - @Autowired - private Validator validator; - - @Autowired - private UserAccountDao dao; - - public String addUserAccount(UserAccount useraccount) { - - Set> violations = validator.validate(useraccount); - - if (!violations.isEmpty()) { - StringBuilder sb = new StringBuilder(); - for (ConstraintViolation constraintViolation : violations) { - sb.append(constraintViolation.getMessage()); - } - - dao.addUserAccount(useraccount); - - throw new ConstraintViolationException("Error occurred: " + sb.toString(), violations); - } - - - - return "Account for " + useraccount.getName() + " Added!"; - } - -} diff --git a/spring-boot-modules/spring-boot-servicelayer-validation/.gitignore b/spring-boot-modules/spring-boot-validation/.gitignore similarity index 100% rename from spring-boot-modules/spring-boot-servicelayer-validation/.gitignore rename to spring-boot-modules/spring-boot-validation/.gitignore diff --git a/spring-boot-modules/spring-boot-validation/README.md b/spring-boot-modules/spring-boot-validation/README.md new file mode 100644 index 0000000000..512b64d9b2 --- /dev/null +++ b/spring-boot-modules/spring-boot-validation/README.md @@ -0,0 +1,2 @@ +## Relevant Articles + diff --git a/spring-boot-modules/spring-boot-servicelayer-validation/pom.xml b/spring-boot-modules/spring-boot-validation/pom.xml similarity index 62% rename from spring-boot-modules/spring-boot-servicelayer-validation/pom.xml rename to spring-boot-modules/spring-boot-validation/pom.xml index 31ec757699..1aba8efeac 100644 --- a/spring-boot-modules/spring-boot-servicelayer-validation/pom.xml +++ b/spring-boot-modules/spring-boot-validation/pom.xml @@ -5,21 +5,16 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung.spring-service-layer-validation - spring-service-layer-validation + com.baeldung + spring-boot-validation 0.0.1-SNAPSHOT - - UTF-8 - 12 - 12 - - - - org.springframework.boot - spring-boot-starter-parent - 2.4.5 - + + com.baeldung + parent-boot-2 + 0.0.1-SNAPSHOT + ../../parent-boot-2 + diff --git a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/SpringServiceLayerValidationApp.java b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/SpringServiceLayerValidationApp.java similarity index 65% rename from spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/SpringServiceLayerValidationApp.java rename to spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/SpringServiceLayerValidationApp.java index ea80a5da33..b976342dda 100644 --- a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/SpringServiceLayerValidationApp.java +++ b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/SpringServiceLayerValidationApp.java @@ -6,8 +6,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringServiceLayerValidationApp { - public static void main(String[] args) { - SpringApplication.run(SpringServiceLayerValidationApp.class, args); - } + public static void main(String[] args) { + SpringApplication.run(SpringServiceLayerValidationApp.class, args); + } } diff --git a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/controller/UserAccountController.java b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/controller/UserAccountController.java similarity index 69% rename from spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/controller/UserAccountController.java rename to spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/controller/UserAccountController.java index b558ed89c2..33d9966e42 100644 --- a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/controller/UserAccountController.java +++ b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/controller/UserAccountController.java @@ -11,12 +11,12 @@ import com.baeldung.spring.servicevalidation.service.UserAccountService; @RestController public class UserAccountController { - @Autowired - private UserAccountService service; + @Autowired + private UserAccountService service; - @PostMapping("/addUserAccount") - public Object addUserAccount(@RequestBody UserAccount userAccount) { - return service.addUserAccount(userAccount); - } + @PostMapping("/addUserAccount") + public Object addUserAccount(@RequestBody UserAccount userAccount) { + return service.addUserAccount(userAccount); + } } diff --git a/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/dao/UserAccountDao.java b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/dao/UserAccountDao.java new file mode 100644 index 0000000000..c49c5220f4 --- /dev/null +++ b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/dao/UserAccountDao.java @@ -0,0 +1,31 @@ +package com.baeldung.spring.servicevalidation.dao; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +import org.springframework.stereotype.Service; + +import com.baeldung.spring.servicevalidation.domain.UserAccount; + +@Service +public class UserAccountDao { + + private Map DB = new HashMap(); + + public String addUserAccount(UserAccount useraccount) { + DB.put(useraccount.getName(), useraccount); + return "success"; + } + + public Collection getAllUserAccounts() { + + Collection list = DB.values(); + if (list.isEmpty()) { + list.addAll(DB.values()); + } + return list; + + } + +} diff --git a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAccount.java b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAccount.java similarity index 100% rename from spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAccount.java rename to spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAccount.java diff --git a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAddress.java b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAddress.java similarity index 96% rename from spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAddress.java rename to spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAddress.java index 85e7dfc05c..cd149dc5f5 100644 --- a/spring-boot-modules/spring-boot-servicelayer-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAddress.java +++ b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/domain/UserAddress.java @@ -1,11 +1,12 @@ package com.baeldung.spring.servicevalidation.domain; import javax.validation.constraints.NotBlank; + public class UserAddress { - + @NotBlank private String countryCode; - + public String getCountryCode() { return countryCode; } @@ -13,5 +14,5 @@ public class UserAddress { public void setCountryCode(String countryCode) { this.countryCode = countryCode; } - + } diff --git a/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/service/UserAccountService.java b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/service/UserAccountService.java new file mode 100644 index 0000000000..417e9a32b7 --- /dev/null +++ b/spring-boot-modules/spring-boot-validation/src/main/java/com/baeldung/spring/servicevalidation/service/UserAccountService.java @@ -0,0 +1,42 @@ +package com.baeldung.spring.servicevalidation.service; + +import java.util.Set; + +import javax.validation.ConstraintViolation; +import javax.validation.ConstraintViolationException; +import javax.validation.Validator; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.baeldung.spring.servicevalidation.dao.UserAccountDao; +import com.baeldung.spring.servicevalidation.domain.UserAccount; + +@Service +public class UserAccountService { + + @Autowired + private Validator validator; + + @Autowired + private UserAccountDao dao; + + public String addUserAccount(UserAccount useraccount) { + + Set> violations = validator.validate(useraccount); + + if (!violations.isEmpty()) { + StringBuilder sb = new StringBuilder(); + for (ConstraintViolation constraintViolation : violations) { + sb.append(constraintViolation.getMessage()); + } + + dao.addUserAccount(useraccount); + + throw new ConstraintViolationException("Error occurred: " + sb.toString(), violations); + } + + return "Account for " + useraccount.getName() + " Added!"; + } + +} diff --git a/spring-boot-modules/spring-boot-validation/src/test/java/com/baeldung/SpringContextTest.java b/spring-boot-modules/spring-boot-validation/src/test/java/com/baeldung/SpringContextTest.java new file mode 100644 index 0000000000..f4076a7756 --- /dev/null +++ b/spring-boot-modules/spring-boot-validation/src/test/java/com/baeldung/SpringContextTest.java @@ -0,0 +1,14 @@ +package com.baeldung; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import com.baeldung.spring.servicevalidation.SpringServiceLayerValidationApp; + +@SpringBootTest(classes = SpringServiceLayerValidationApp.class) +public class SpringContextTest { + + @Test + public void whenSpringContextIsBootstrapped_thenNoExceptions() { + } +}