From c48e17cedf3b47c6822bdd8c54a7a7011ab01e6a Mon Sep 17 00:00:00 2001
From: Hardik Singh Behl <hardik.behl7444@gmail.com>
Date: Fri, 21 Jun 2024 11:00:06 +0530
Subject: [PATCH 1/7] upgrade to gradle 8.8

---
 spring-boot/validation/.gitignore             |   3 +-
 spring-boot/validation/build.gradle           |  46 +-
 spring-boot/validation/deps.txt               | 872 +++---------------
 .../gradle/wrapper/gradle-wrapper.jar         | Bin 54711 -> 43453 bytes
 .../gradle/wrapper/gradle-wrapper.properties  |   5 +-
 5 files changed, 168 insertions(+), 758 deletions(-)

diff --git a/spring-boot/validation/.gitignore b/spring-boot/validation/.gitignore
index 9243c63d7..8899af5f4 100644
--- a/spring-boot/validation/.gitignore
+++ b/spring-boot/validation/.gitignore
@@ -10,6 +10,7 @@
 .settings
 .springBeans
 .sts4-cache
+bin/
 
 ### IntelliJ IDEA ###
 .idea
@@ -23,4 +24,4 @@
 /nbbuild/
 /dist/
 /nbdist/
-/.nb-gradle/
\ No newline at end of file
+/.nb-gradle/
diff --git a/spring-boot/validation/build.gradle b/spring-boot/validation/build.gradle
index ed9da0c53..b83d3d7d8 100644
--- a/spring-boot/validation/build.gradle
+++ b/spring-boot/validation/build.gradle
@@ -1,42 +1,34 @@
-buildscript {
-	ext {
-		springBootVersion = '2.3.1.RELEASE'
-	}
-	repositories {
-		mavenCentral()
-	}
-	dependencies {
-		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
-	}
+plugins {
+	id 'java'
+	id "io.freefair.lombok" version "8.6"
+	id 'org.springframework.boot' version '3.3.0'
+	id 'io.spring.dependency-management' version '1.1.5'
 }
 
-apply plugin: 'java'
-apply plugin: 'eclipse'
-apply plugin: 'org.springframework.boot'
-apply plugin: 'io.spring.dependency-management'
-
 group = 'io.reflectoring'
-version = '0.0.1-SNAPSHOT'
-sourceCompatibility = 11
+version = '0.0.1'
+
+java {
+	toolchain {
+		languageVersion = JavaLanguageVersion.of(21)
+	}
+}
 
 repositories {
 	mavenCentral()
 }
 
 dependencies {
-	implementation('org.springframework.boot:spring-boot-starter-data-jpa')
-	implementation('org.springframework.boot:spring-boot-starter-validation')
 	implementation('org.springframework.boot:spring-boot-starter-web')
+	implementation('org.springframework.boot:spring-boot-starter-validation')
+	implementation('org.springframework.boot:spring-boot-starter-data-jpa')
+	implementation('org.springframework.boot:spring-boot-configuration-processor')
 	runtimeOnly('com.h2database:h2')
+	compileOnly 'org.projectlombok:lombok'
+	annotationProcessor 'org.projectlombok:lombok'
 	testImplementation('org.springframework.boot:spring-boot-starter-test')
-	testImplementation('org.junit.jupiter:junit-jupiter-engine:5.0.1')
-
-	// these dependencies are needed when running with Java 11, since they
-	// are no longer part of the JDK
-	implementation('javax.xml.bind:jaxb-api:2.3.1')
-	implementation('org.javassist:javassist:3.23.1-GA')
 }
 
-test{
+tasks.named('test') {
 	useJUnitPlatform()
-}
\ No newline at end of file
+}
diff --git a/spring-boot/validation/deps.txt b/spring-boot/validation/deps.txt
index 7a9158da4..ec127f190 100644
--- a/spring-boot/validation/deps.txt
+++ b/spring-boot/validation/deps.txt
@@ -1,735 +1,151 @@
-
 > Task :dependencies
 
 ------------------------------------------------------------
-Root project
+Root project 'validation'
 ------------------------------------------------------------
 
-annotationProcessor - Annotation processors and their dependencies for source set 'main'.
-No dependencies
-
-apiElements - API elements for main. (n)
-No dependencies
-
-archives - Configuration for archive artifacts.
-No dependencies
-
-bootArchives - Configuration for Spring Boot archive artifacts.
-No dependencies
-
-compile - Dependencies for source set 'main' (deprecated, use 'implementation' instead).
-No dependencies
-
-compileClasspath - Compile classpath for source set 'main'.
-+--- org.springframework.boot:spring-boot-starter-data-jpa -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot:2.0.5.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE
-|    |    |    |    \--- org.springframework:spring-jcl:5.0.9.RELEASE
-|    |    |    \--- org.springframework:spring-context:5.0.9.RELEASE
-|    |    |         +--- org.springframework:spring-aop:5.0.9.RELEASE
-|    |    |         |    +--- org.springframework:spring-beans:5.0.9.RELEASE
-|    |    |         |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         \--- org.springframework:spring-expression:5.0.9.RELEASE
-|    |    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-autoconfigure:2.0.5.RELEASE
-|    |    |    \--- org.springframework.boot:spring-boot:2.0.5.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-starter-logging:2.0.5.RELEASE
-|    |    |    +--- ch.qos.logback:logback-classic:1.2.3
-|    |    |    |    +--- ch.qos.logback:logback-core:1.2.3
-|    |    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    |    +--- org.apache.logging.log4j:log4j-to-slf4j:2.10.0
-|    |    |    |    +--- org.slf4j:slf4j-api:1.7.25
-|    |    |    |    \--- org.apache.logging.log4j:log4j-api:2.10.0
-|    |    |    \--- org.slf4j:jul-to-slf4j:1.7.25
-|    |    |         \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.yaml:snakeyaml:1.19
-|    +--- org.springframework.boot:spring-boot-starter-aop:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    \--- org.aspectj:aspectjweaver:1.8.13
-|    +--- org.springframework.boot:spring-boot-starter-jdbc:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- com.zaxxer:HikariCP:2.7.9
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    \--- org.springframework:spring-jdbc:5.0.9.RELEASE
-|    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |         \--- org.springframework:spring-tx:5.0.9.RELEASE
-|    |              +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    +--- javax.transaction:javax.transaction-api:1.2
-|    +--- org.hibernate:hibernate-core:5.2.17.Final
-|    |    +--- org.jboss.logging:jboss-logging:3.3.1.Final -> 3.3.2.Final
-|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final -> 1.0.2.Final
-|    |    +--- org.javassist:javassist:3.22.0-GA -> 3.23.1-GA
-|    |    +--- antlr:antlr:2.7.7
-|    |    +--- org.jboss:jandex:2.0.3.Final
-|    |    +--- com.fasterxml:classmate:1.3.0 -> 1.3.4
-|    |    +--- dom4j:dom4j:1.6.1
-|    |    \--- org.hibernate.common:hibernate-commons-annotations:5.0.1.Final
-|    |         \--- org.jboss.logging:jboss-logging:3.3.0.Final -> 3.3.2.Final
-|    +--- org.springframework.data:spring-data-jpa:2.0.10.RELEASE
-|    |    +--- org.springframework.data:spring-data-commons:2.0.10.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- org.springframework:spring-orm:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-jdbc:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.slf4j:slf4j-api:1.7.25
-|    \--- org.springframework:spring-aspects:5.0.9.RELEASE
-|         \--- org.aspectj:aspectjweaver:1.8.13
-+--- org.springframework.boot:spring-boot-starter-validation -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    \--- org.hibernate.validator:hibernate-validator:6.0.12.Final
-|         +--- javax.validation:validation-api:2.0.1.Final
-|         +--- org.jboss.logging:jboss-logging:3.3.2.Final
-|         \--- com.fasterxml:classmate:1.3.4
-+--- org.springframework.boot:spring-boot-starter-web -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.springframework.boot:spring-boot-starter-json:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-web:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- com.fasterxml.jackson.core:jackson-databind:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    \--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    \--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.6
-|    |         +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |         \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    +--- org.springframework.boot:spring-boot-starter-tomcat:2.0.5.RELEASE
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    |    \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.5.34
-|    |         \--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    +--- org.hibernate.validator:hibernate-validator:6.0.12.Final (*)
-|    +--- org.springframework:spring-web:5.0.9.RELEASE (*)
-|    \--- org.springframework:spring-webmvc:5.0.9.RELEASE
-|         +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-expression:5.0.9.RELEASE (*)
-|         \--- org.springframework:spring-web:5.0.9.RELEASE (*)
-+--- javax.xml.bind:jaxb-api:2.3.1
-|    \--- javax.activation:javax.activation-api:1.2.0
-\--- org.javassist:javassist:3.23.1-GA
-
-compileOnly - Compile only dependencies for source set 'main'.
-No dependencies
-
-default - Configuration for default artifacts.
-+--- org.springframework.boot:spring-boot-starter-data-jpa -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot:2.0.5.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE
-|    |    |    |    \--- org.springframework:spring-jcl:5.0.9.RELEASE
-|    |    |    \--- org.springframework:spring-context:5.0.9.RELEASE
-|    |    |         +--- org.springframework:spring-aop:5.0.9.RELEASE
-|    |    |         |    +--- org.springframework:spring-beans:5.0.9.RELEASE
-|    |    |         |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         \--- org.springframework:spring-expression:5.0.9.RELEASE
-|    |    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-autoconfigure:2.0.5.RELEASE
-|    |    |    \--- org.springframework.boot:spring-boot:2.0.5.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-starter-logging:2.0.5.RELEASE
-|    |    |    +--- ch.qos.logback:logback-classic:1.2.3
-|    |    |    |    +--- ch.qos.logback:logback-core:1.2.3
-|    |    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    |    +--- org.apache.logging.log4j:log4j-to-slf4j:2.10.0
-|    |    |    |    +--- org.slf4j:slf4j-api:1.7.25
-|    |    |    |    \--- org.apache.logging.log4j:log4j-api:2.10.0
-|    |    |    \--- org.slf4j:jul-to-slf4j:1.7.25
-|    |    |         \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.yaml:snakeyaml:1.19
-|    +--- org.springframework.boot:spring-boot-starter-aop:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    \--- org.aspectj:aspectjweaver:1.8.13
-|    +--- org.springframework.boot:spring-boot-starter-jdbc:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- com.zaxxer:HikariCP:2.7.9
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    \--- org.springframework:spring-jdbc:5.0.9.RELEASE
-|    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |         \--- org.springframework:spring-tx:5.0.9.RELEASE
-|    |              +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    +--- javax.transaction:javax.transaction-api:1.2
-|    +--- org.hibernate:hibernate-core:5.2.17.Final
-|    |    +--- org.jboss.logging:jboss-logging:3.3.1.Final -> 3.3.2.Final
-|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final -> 1.0.2.Final
-|    |    +--- org.javassist:javassist:3.22.0-GA -> 3.23.1-GA
-|    |    +--- antlr:antlr:2.7.7
-|    |    +--- org.jboss:jandex:2.0.3.Final
-|    |    +--- com.fasterxml:classmate:1.3.0 -> 1.3.4
-|    |    +--- dom4j:dom4j:1.6.1
-|    |    \--- org.hibernate.common:hibernate-commons-annotations:5.0.1.Final
-|    |         \--- org.jboss.logging:jboss-logging:3.3.0.Final -> 3.3.2.Final
-|    +--- org.springframework.data:spring-data-jpa:2.0.10.RELEASE
-|    |    +--- org.springframework.data:spring-data-commons:2.0.10.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- org.springframework:spring-orm:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-jdbc:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.slf4j:slf4j-api:1.7.25
-|    \--- org.springframework:spring-aspects:5.0.9.RELEASE
-|         \--- org.aspectj:aspectjweaver:1.8.13
-+--- org.springframework.boot:spring-boot-starter-validation -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    \--- org.hibernate.validator:hibernate-validator:6.0.12.Final
-|         +--- javax.validation:validation-api:2.0.1.Final
-|         +--- org.jboss.logging:jboss-logging:3.3.2.Final
-|         \--- com.fasterxml:classmate:1.3.4
-+--- org.springframework.boot:spring-boot-starter-web -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.springframework.boot:spring-boot-starter-json:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-web:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- com.fasterxml.jackson.core:jackson-databind:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    \--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    \--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.6
-|    |         +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |         \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    +--- org.springframework.boot:spring-boot-starter-tomcat:2.0.5.RELEASE
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    |    \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.5.34
-|    |         \--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    +--- org.hibernate.validator:hibernate-validator:6.0.12.Final (*)
-|    +--- org.springframework:spring-web:5.0.9.RELEASE (*)
-|    \--- org.springframework:spring-webmvc:5.0.9.RELEASE
-|         +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-expression:5.0.9.RELEASE (*)
-|         \--- org.springframework:spring-web:5.0.9.RELEASE (*)
-+--- javax.xml.bind:jaxb-api:2.3.1
-|    \--- javax.activation:javax.activation-api:1.2.0
-+--- org.javassist:javassist:3.23.1-GA
-\--- com.h2database:h2 -> 1.4.197
-
-implementation - Implementation only dependencies for source set 'main'. (n)
-+--- org.springframework.boot:spring-boot-starter-data-jpa (n)
-+--- org.springframework.boot:spring-boot-starter-validation (n)
-+--- org.springframework.boot:spring-boot-starter-web (n)
-+--- javax.xml.bind:jaxb-api:2.3.1 (n)
-\--- org.javassist:javassist:3.23.1-GA (n)
-
-runtime - Runtime dependencies for source set 'main' (deprecated, use 'runtimeOnly' instead).
-No dependencies
-
 runtimeClasspath - Runtime classpath of source set 'main'.
-+--- org.springframework.boot:spring-boot-starter-data-jpa -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot:2.0.5.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE
-|    |    |    |    \--- org.springframework:spring-jcl:5.0.9.RELEASE
-|    |    |    \--- org.springframework:spring-context:5.0.9.RELEASE
-|    |    |         +--- org.springframework:spring-aop:5.0.9.RELEASE
-|    |    |         |    +--- org.springframework:spring-beans:5.0.9.RELEASE
-|    |    |         |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         \--- org.springframework:spring-expression:5.0.9.RELEASE
-|    |    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-autoconfigure:2.0.5.RELEASE
-|    |    |    \--- org.springframework.boot:spring-boot:2.0.5.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-starter-logging:2.0.5.RELEASE
-|    |    |    +--- ch.qos.logback:logback-classic:1.2.3
-|    |    |    |    +--- ch.qos.logback:logback-core:1.2.3
-|    |    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    |    +--- org.apache.logging.log4j:log4j-to-slf4j:2.10.0
-|    |    |    |    +--- org.slf4j:slf4j-api:1.7.25
-|    |    |    |    \--- org.apache.logging.log4j:log4j-api:2.10.0
-|    |    |    \--- org.slf4j:jul-to-slf4j:1.7.25
-|    |    |         \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.yaml:snakeyaml:1.19
-|    +--- org.springframework.boot:spring-boot-starter-aop:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    \--- org.aspectj:aspectjweaver:1.8.13
-|    +--- org.springframework.boot:spring-boot-starter-jdbc:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- com.zaxxer:HikariCP:2.7.9
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    \--- org.springframework:spring-jdbc:5.0.9.RELEASE
-|    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |         \--- org.springframework:spring-tx:5.0.9.RELEASE
-|    |              +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    +--- javax.transaction:javax.transaction-api:1.2
-|    +--- org.hibernate:hibernate-core:5.2.17.Final
-|    |    +--- org.jboss.logging:jboss-logging:3.3.1.Final -> 3.3.2.Final
-|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final -> 1.0.2.Final
-|    |    +--- org.javassist:javassist:3.22.0-GA -> 3.23.1-GA
-|    |    +--- antlr:antlr:2.7.7
-|    |    +--- org.jboss:jandex:2.0.3.Final
-|    |    +--- com.fasterxml:classmate:1.3.0 -> 1.3.4
-|    |    +--- dom4j:dom4j:1.6.1
-|    |    \--- org.hibernate.common:hibernate-commons-annotations:5.0.1.Final
-|    |         \--- org.jboss.logging:jboss-logging:3.3.0.Final -> 3.3.2.Final
-|    +--- org.springframework.data:spring-data-jpa:2.0.10.RELEASE
-|    |    +--- org.springframework.data:spring-data-commons:2.0.10.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- org.springframework:spring-orm:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-jdbc:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.slf4j:slf4j-api:1.7.25
-|    \--- org.springframework:spring-aspects:5.0.9.RELEASE
-|         \--- org.aspectj:aspectjweaver:1.8.13
-+--- org.springframework.boot:spring-boot-starter-validation -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    \--- org.hibernate.validator:hibernate-validator:6.0.12.Final
-|         +--- javax.validation:validation-api:2.0.1.Final
-|         +--- org.jboss.logging:jboss-logging:3.3.2.Final
-|         \--- com.fasterxml:classmate:1.3.4
-+--- org.springframework.boot:spring-boot-starter-web -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.springframework.boot:spring-boot-starter-json:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-web:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- com.fasterxml.jackson.core:jackson-databind:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    \--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    \--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.6
-|    |         +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |         \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    +--- org.springframework.boot:spring-boot-starter-tomcat:2.0.5.RELEASE
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    |    \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.5.34
-|    |         \--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    +--- org.hibernate.validator:hibernate-validator:6.0.12.Final (*)
-|    +--- org.springframework:spring-web:5.0.9.RELEASE (*)
-|    \--- org.springframework:spring-webmvc:5.0.9.RELEASE
-|         +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-expression:5.0.9.RELEASE (*)
-|         \--- org.springframework:spring-web:5.0.9.RELEASE (*)
-+--- javax.xml.bind:jaxb-api:2.3.1
-|    \--- javax.activation:javax.activation-api:1.2.0
-+--- org.javassist:javassist:3.23.1-GA
-\--- com.h2database:h2 -> 1.4.197
-
-runtimeElements - Elements of runtime for main. (n)
-No dependencies
-
-runtimeOnly - Runtime only dependencies for source set 'main'. (n)
-\--- com.h2database:h2 (n)
-
-testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'.
-No dependencies
-
-testCompile - Dependencies for source set 'test' (deprecated, use 'testImplementation' instead).
-No dependencies
-
-testCompileClasspath - Compile classpath for source set 'test'.
-+--- org.springframework.boot:spring-boot-starter-data-jpa -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot:2.0.5.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE
-|    |    |    |    \--- org.springframework:spring-jcl:5.0.9.RELEASE
-|    |    |    \--- org.springframework:spring-context:5.0.9.RELEASE
-|    |    |         +--- org.springframework:spring-aop:5.0.9.RELEASE
-|    |    |         |    +--- org.springframework:spring-beans:5.0.9.RELEASE
-|    |    |         |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         \--- org.springframework:spring-expression:5.0.9.RELEASE
-|    |    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-autoconfigure:2.0.5.RELEASE
-|    |    |    \--- org.springframework.boot:spring-boot:2.0.5.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-starter-logging:2.0.5.RELEASE
-|    |    |    +--- ch.qos.logback:logback-classic:1.2.3
-|    |    |    |    +--- ch.qos.logback:logback-core:1.2.3
-|    |    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    |    +--- org.apache.logging.log4j:log4j-to-slf4j:2.10.0
-|    |    |    |    +--- org.slf4j:slf4j-api:1.7.25
-|    |    |    |    \--- org.apache.logging.log4j:log4j-api:2.10.0
-|    |    |    \--- org.slf4j:jul-to-slf4j:1.7.25
-|    |    |         \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.yaml:snakeyaml:1.19
-|    +--- org.springframework.boot:spring-boot-starter-aop:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    \--- org.aspectj:aspectjweaver:1.8.13
-|    +--- org.springframework.boot:spring-boot-starter-jdbc:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- com.zaxxer:HikariCP:2.7.9
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    \--- org.springframework:spring-jdbc:5.0.9.RELEASE
-|    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |         \--- org.springframework:spring-tx:5.0.9.RELEASE
-|    |              +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    +--- javax.transaction:javax.transaction-api:1.2
-|    +--- org.hibernate:hibernate-core:5.2.17.Final
-|    |    +--- org.jboss.logging:jboss-logging:3.3.1.Final -> 3.3.2.Final
-|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final -> 1.0.2.Final
-|    |    +--- org.javassist:javassist:3.22.0-GA -> 3.23.1-GA
-|    |    +--- antlr:antlr:2.7.7
-|    |    +--- org.jboss:jandex:2.0.3.Final
-|    |    +--- com.fasterxml:classmate:1.3.0 -> 1.3.4
-|    |    +--- dom4j:dom4j:1.6.1
-|    |    \--- org.hibernate.common:hibernate-commons-annotations:5.0.1.Final
-|    |         \--- org.jboss.logging:jboss-logging:3.3.0.Final -> 3.3.2.Final
-|    +--- org.springframework.data:spring-data-jpa:2.0.10.RELEASE
-|    |    +--- org.springframework.data:spring-data-commons:2.0.10.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- org.springframework:spring-orm:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-jdbc:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.slf4j:slf4j-api:1.7.25
-|    \--- org.springframework:spring-aspects:5.0.9.RELEASE
-|         \--- org.aspectj:aspectjweaver:1.8.13
-+--- org.springframework.boot:spring-boot-starter-validation -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    \--- org.hibernate.validator:hibernate-validator:6.0.12.Final
-|         +--- javax.validation:validation-api:2.0.1.Final
-|         +--- org.jboss.logging:jboss-logging:3.3.2.Final
-|         \--- com.fasterxml:classmate:1.3.4
-+--- org.springframework.boot:spring-boot-starter-web -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.springframework.boot:spring-boot-starter-json:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-web:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- com.fasterxml.jackson.core:jackson-databind:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    \--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    \--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.6
-|    |         +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |         \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    +--- org.springframework.boot:spring-boot-starter-tomcat:2.0.5.RELEASE
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    |    \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.5.34
-|    |         \--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    +--- org.hibernate.validator:hibernate-validator:6.0.12.Final (*)
-|    +--- org.springframework:spring-web:5.0.9.RELEASE (*)
-|    \--- org.springframework:spring-webmvc:5.0.9.RELEASE
-|         +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-expression:5.0.9.RELEASE (*)
-|         \--- org.springframework:spring-web:5.0.9.RELEASE (*)
-+--- javax.xml.bind:jaxb-api:2.3.1
-|    \--- javax.activation:javax.activation-api:1.2.0
-+--- org.javassist:javassist:3.23.1-GA
-+--- org.springframework.boot:spring-boot-starter-test -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.springframework.boot:spring-boot-test:2.0.5.RELEASE
-|    |    \--- org.springframework.boot:spring-boot:2.0.5.RELEASE (*)
-|    +--- org.springframework.boot:spring-boot-test-autoconfigure:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-test:2.0.5.RELEASE (*)
-|    |    \--- org.springframework.boot:spring-boot-autoconfigure:2.0.5.RELEASE (*)
-|    +--- com.jayway.jsonpath:json-path:2.4.0
-|    |    +--- net.minidev:json-smart:2.3
-|    |    |    \--- net.minidev:accessors-smart:1.2
-|    |    |         \--- org.ow2.asm:asm:5.0.4
-|    |    \--- org.slf4j:slf4j-api:1.7.25
-|    +--- junit:junit:4.12
-|    |    \--- org.hamcrest:hamcrest-core:1.3
-|    +--- org.assertj:assertj-core:3.9.1
-|    +--- org.mockito:mockito-core:2.15.0
-|    |    +--- net.bytebuddy:byte-buddy:1.7.9 -> 1.7.11
-|    |    +--- net.bytebuddy:byte-buddy-agent:1.7.9 -> 1.7.11
-|    |    \--- org.objenesis:objenesis:2.6
-|    +--- org.hamcrest:hamcrest-core:1.3
-|    +--- org.hamcrest:hamcrest-library:1.3
-|    |    \--- org.hamcrest:hamcrest-core:1.3
-|    +--- org.skyscreamer:jsonassert:1.5.0
-|    |    \--- com.vaadin.external.google:android-json:0.0.20131108.vaadin1
-|    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    +--- org.springframework:spring-test:5.0.9.RELEASE
-|    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    \--- org.xmlunit:xmlunit-core:2.5.1
-\--- org.junit.jupiter:junit-jupiter-engine:5.0.1
-     +--- org.junit.platform:junit-platform-engine:1.0.1
-     |    +--- org.junit.platform:junit-platform-commons:1.0.1 -> 1.1.1
-     |    |    \--- org.apiguardian:apiguardian-api:1.0.0
-     |    \--- org.opentest4j:opentest4j:1.0.0
-     \--- org.junit.jupiter:junit-jupiter-api:5.0.1 -> 5.1.1
-          +--- org.apiguardian:apiguardian-api:1.0.0
-          +--- org.opentest4j:opentest4j:1.0.0
-          \--- org.junit.platform:junit-platform-commons:1.1.1 (*)
-
-testCompileOnly - Compile only dependencies for source set 'test'.
-No dependencies
-
-testImplementation - Implementation only dependencies for source set 'test'. (n)
-+--- org.springframework.boot:spring-boot-starter-test (n)
-\--- org.junit.jupiter:junit-jupiter-engine:5.0.1 (n)
-
-testRuntime - Runtime dependencies for source set 'test' (deprecated, use 'testRuntimeOnly' instead).
-No dependencies
-
-testRuntimeClasspath - Runtime classpath of source set 'test'.
-+--- org.springframework.boot:spring-boot-starter-data-jpa -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot:2.0.5.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE
-|    |    |    |    \--- org.springframework:spring-jcl:5.0.9.RELEASE
-|    |    |    \--- org.springframework:spring-context:5.0.9.RELEASE
-|    |    |         +--- org.springframework:spring-aop:5.0.9.RELEASE
-|    |    |         |    +--- org.springframework:spring-beans:5.0.9.RELEASE
-|    |    |         |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |         \--- org.springframework:spring-expression:5.0.9.RELEASE
-|    |    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-autoconfigure:2.0.5.RELEASE
-|    |    |    \--- org.springframework.boot:spring-boot:2.0.5.RELEASE (*)
-|    |    +--- org.springframework.boot:spring-boot-starter-logging:2.0.5.RELEASE
-|    |    |    +--- ch.qos.logback:logback-classic:1.2.3
-|    |    |    |    +--- ch.qos.logback:logback-core:1.2.3
-|    |    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    |    +--- org.apache.logging.log4j:log4j-to-slf4j:2.10.0
-|    |    |    |    +--- org.slf4j:slf4j-api:1.7.25
-|    |    |    |    \--- org.apache.logging.log4j:log4j-api:2.10.0
-|    |    |    \--- org.slf4j:jul-to-slf4j:1.7.25
-|    |    |         \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.yaml:snakeyaml:1.19
-|    +--- org.springframework.boot:spring-boot-starter-aop:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    \--- org.aspectj:aspectjweaver:1.8.13
-|    +--- org.springframework.boot:spring-boot-starter-jdbc:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- com.zaxxer:HikariCP:2.7.9
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    \--- org.springframework:spring-jdbc:5.0.9.RELEASE
-|    |         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |         \--- org.springframework:spring-tx:5.0.9.RELEASE
-|    |              +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |              \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    +--- javax.transaction:javax.transaction-api:1.2
-|    +--- org.hibernate:hibernate-core:5.2.17.Final
-|    |    +--- org.jboss.logging:jboss-logging:3.3.1.Final -> 3.3.2.Final
-|    |    +--- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final -> 1.0.2.Final
-|    |    +--- org.javassist:javassist:3.22.0-GA -> 3.23.1-GA
-|    |    +--- antlr:antlr:2.7.7
-|    |    +--- org.jboss:jandex:2.0.3.Final
-|    |    +--- com.fasterxml:classmate:1.3.0 -> 1.3.4
-|    |    +--- dom4j:dom4j:1.6.1
-|    |    \--- org.hibernate.common:hibernate-commons-annotations:5.0.1.Final
-|    |         \--- org.jboss.logging:jboss-logging:3.3.0.Final -> 3.3.2.Final
-|    +--- org.springframework.data:spring-data-jpa:2.0.10.RELEASE
-|    |    +--- org.springframework.data:spring-data-commons:2.0.10.RELEASE
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.slf4j:slf4j-api:1.7.25
-|    |    +--- org.springframework:spring-orm:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    |    +--- org.springframework:spring-jdbc:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-tx:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    \--- org.slf4j:slf4j-api:1.7.25
-|    \--- org.springframework:spring-aspects:5.0.9.RELEASE
-|         \--- org.aspectj:aspectjweaver:1.8.13
-+--- org.springframework.boot:spring-boot-starter-validation -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    \--- org.hibernate.validator:hibernate-validator:6.0.12.Final
-|         +--- javax.validation:validation-api:2.0.1.Final
-|         +--- org.jboss.logging:jboss-logging:3.3.2.Final
-|         \--- com.fasterxml:classmate:1.3.4
-+--- org.springframework.boot:spring-boot-starter-web -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.springframework.boot:spring-boot-starter-json:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    |    +--- org.springframework:spring-web:5.0.9.RELEASE
-|    |    |    +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|    |    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    |    +--- com.fasterxml.jackson.core:jackson-databind:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    \--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.6
-|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
-|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |    |    \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    |    \--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.6
-|    |         +--- com.fasterxml.jackson.core:jackson-core:2.9.6
-|    |         \--- com.fasterxml.jackson.core:jackson-databind:2.9.6 (*)
-|    +--- org.springframework.boot:spring-boot-starter-tomcat:2.0.5.RELEASE
-|    |    +--- javax.annotation:javax.annotation-api:1.3.2
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    |    +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.34
-|    |    \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.5.34
-|    |         \--- org.apache.tomcat.embed:tomcat-embed-core:8.5.34
-|    +--- org.hibernate.validator:hibernate-validator:6.0.12.Final (*)
-|    +--- org.springframework:spring-web:5.0.9.RELEASE (*)
-|    \--- org.springframework:spring-webmvc:5.0.9.RELEASE
-|         +--- org.springframework:spring-aop:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-beans:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-context:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|         +--- org.springframework:spring-expression:5.0.9.RELEASE (*)
-|         \--- org.springframework:spring-web:5.0.9.RELEASE (*)
-+--- javax.xml.bind:jaxb-api:2.3.1
-|    \--- javax.activation:javax.activation-api:1.2.0
-+--- org.javassist:javassist:3.23.1-GA
-+--- com.h2database:h2 -> 1.4.197
-+--- org.springframework.boot:spring-boot-starter-test -> 2.0.5.RELEASE
-|    +--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
-|    +--- org.springframework.boot:spring-boot-test:2.0.5.RELEASE
-|    |    \--- org.springframework.boot:spring-boot:2.0.5.RELEASE (*)
-|    +--- org.springframework.boot:spring-boot-test-autoconfigure:2.0.5.RELEASE
-|    |    +--- org.springframework.boot:spring-boot-test:2.0.5.RELEASE (*)
-|    |    \--- org.springframework.boot:spring-boot-autoconfigure:2.0.5.RELEASE (*)
-|    +--- com.jayway.jsonpath:json-path:2.4.0
-|    |    +--- net.minidev:json-smart:2.3
-|    |    |    \--- net.minidev:accessors-smart:1.2
-|    |    |         \--- org.ow2.asm:asm:5.0.4
-|    |    \--- org.slf4j:slf4j-api:1.7.25
-|    +--- junit:junit:4.12
-|    |    \--- org.hamcrest:hamcrest-core:1.3
-|    +--- org.assertj:assertj-core:3.9.1
-|    +--- org.mockito:mockito-core:2.15.0
-|    |    +--- net.bytebuddy:byte-buddy:1.7.9 -> 1.7.11
-|    |    +--- net.bytebuddy:byte-buddy-agent:1.7.9 -> 1.7.11
-|    |    \--- org.objenesis:objenesis:2.6
-|    +--- org.hamcrest:hamcrest-core:1.3
-|    +--- org.hamcrest:hamcrest-library:1.3
-|    |    \--- org.hamcrest:hamcrest-core:1.3
-|    +--- org.skyscreamer:jsonassert:1.5.0
-|    |    \--- com.vaadin.external.google:android-json:0.0.20131108.vaadin1
-|    +--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    +--- org.springframework:spring-test:5.0.9.RELEASE
-|    |    \--- org.springframework:spring-core:5.0.9.RELEASE (*)
-|    \--- org.xmlunit:xmlunit-core:2.5.1
-\--- org.junit.jupiter:junit-jupiter-engine:5.0.1
-     +--- org.junit.platform:junit-platform-engine:1.0.1
-     |    +--- org.junit.platform:junit-platform-commons:1.0.1 -> 1.1.1
-     |    |    \--- org.apiguardian:apiguardian-api:1.0.0
-     |    \--- org.opentest4j:opentest4j:1.0.0
-     \--- org.junit.jupiter:junit-jupiter-api:5.0.1 -> 5.1.1
-          +--- org.apiguardian:apiguardian-api:1.0.0
-          +--- org.opentest4j:opentest4j:1.0.0
-          \--- org.junit.platform:junit-platform-commons:1.1.1 (*)
-
-testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
-No dependencies
-
-(*) - dependencies omitted (listed previously)
-
-(n) - Not resolved (configuration is not meant to be resolved)
-
-A web-based, searchable dependency report is available by adding the --scan option.
-
-BUILD SUCCESSFUL in 1s
++--- org.springframework.boot:spring-boot-starter-web -> 3.3.0
+|    +--- org.springframework.boot:spring-boot-starter:3.3.0
+|    |    +--- org.springframework.boot:spring-boot:3.3.0
+|    |    |    +--- org.springframework:spring-core:6.1.8
+|    |    |    |    \--- org.springframework:spring-jcl:6.1.8
+|    |    |    \--- org.springframework:spring-context:6.1.8
+|    |    |         +--- org.springframework:spring-aop:6.1.8
+|    |    |         |    +--- org.springframework:spring-beans:6.1.8
+|    |    |         |    |    \--- org.springframework:spring-core:6.1.8 (*)
+|    |    |         |    \--- org.springframework:spring-core:6.1.8 (*)
+|    |    |         +--- org.springframework:spring-beans:6.1.8 (*)
+|    |    |         +--- org.springframework:spring-core:6.1.8 (*)
+|    |    |         +--- org.springframework:spring-expression:6.1.8
+|    |    |         |    \--- org.springframework:spring-core:6.1.8 (*)
+|    |    |         \--- io.micrometer:micrometer-observation:1.12.6 -> 1.13.0
+|    |    |              \--- io.micrometer:micrometer-commons:1.13.0
+|    |    +--- org.springframework.boot:spring-boot-autoconfigure:3.3.0
+|    |    |    \--- org.springframework.boot:spring-boot:3.3.0 (*)
+|    |    +--- org.springframework.boot:spring-boot-starter-logging:3.3.0
+|    |    |    +--- ch.qos.logback:logback-classic:1.5.6
+|    |    |    |    +--- ch.qos.logback:logback-core:1.5.6
+|    |    |    |    \--- org.slf4j:slf4j-api:2.0.13
+|    |    |    +--- org.apache.logging.log4j:log4j-to-slf4j:2.23.1
+|    |    |    |    +--- org.apache.logging.log4j:log4j-api:2.23.1
+|    |    |    |    \--- org.slf4j:slf4j-api:2.0.9 -> 2.0.13
+|    |    |    \--- org.slf4j:jul-to-slf4j:2.0.13
+|    |    |         \--- org.slf4j:slf4j-api:2.0.13
+|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1
+|    |    +--- org.springframework:spring-core:6.1.8 (*)
+|    |    \--- org.yaml:snakeyaml:2.2
+|    +--- org.springframework.boot:spring-boot-starter-json:3.3.0
+|    |    +--- org.springframework.boot:spring-boot-starter:3.3.0 (*)
+|    |    +--- org.springframework:spring-web:6.1.8
+|    |    |    +--- org.springframework:spring-beans:6.1.8 (*)
+|    |    |    +--- org.springframework:spring-core:6.1.8 (*)
+|    |    |    \--- io.micrometer:micrometer-observation:1.12.6 -> 1.13.0 (*)
+|    |    +--- com.fasterxml.jackson.core:jackson-databind:2.17.1
+|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.17.1
+|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.17.1
+|    |    |    |         +--- com.fasterxml.jackson.core:jackson-annotations:2.17.1 (c)
+|    |    |    |         +--- com.fasterxml.jackson.core:jackson-core:2.17.1 (c)
+|    |    |    |         +--- com.fasterxml.jackson.core:jackson-databind:2.17.1 (c)
+|    |    |    |         +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.1 (c)
+|    |    |    |         +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.1 (c)
+|    |    |    |         \--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.17.1 (c)
+|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.17.1
+|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.17.1 (*)
+|    |    |    \--- com.fasterxml.jackson:jackson-bom:2.17.1 (*)
+|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.1
+|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.17.1 (*)
+|    |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.17.1 (*)
+|    |    |    \--- com.fasterxml.jackson:jackson-bom:2.17.1 (*)
+|    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.1
+|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.17.1 (*)
+|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.17.1 (*)
+|    |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.17.1 (*)
+|    |    |    \--- com.fasterxml.jackson:jackson-bom:2.17.1 (*)
+|    |    \--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.17.1
+|    |         +--- com.fasterxml.jackson.core:jackson-core:2.17.1 (*)
+|    |         +--- com.fasterxml.jackson.core:jackson-databind:2.17.1 (*)
+|    |         \--- com.fasterxml.jackson:jackson-bom:2.17.1 (*)
+|    +--- org.springframework.boot:spring-boot-starter-tomcat:3.3.0
+|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1
+|    |    +--- org.apache.tomcat.embed:tomcat-embed-core:10.1.24
+|    |    +--- org.apache.tomcat.embed:tomcat-embed-el:10.1.24
+|    |    \--- org.apache.tomcat.embed:tomcat-embed-websocket:10.1.24
+|    |         \--- org.apache.tomcat.embed:tomcat-embed-core:10.1.24
+|    +--- org.springframework:spring-web:6.1.8 (*)
+|    \--- org.springframework:spring-webmvc:6.1.8
+|         +--- org.springframework:spring-aop:6.1.8 (*)
+|         +--- org.springframework:spring-beans:6.1.8 (*)
+|         +--- org.springframework:spring-context:6.1.8 (*)
+|         +--- org.springframework:spring-core:6.1.8 (*)
+|         +--- org.springframework:spring-expression:6.1.8 (*)
+|         \--- org.springframework:spring-web:6.1.8 (*)
++--- org.springframework.boot:spring-boot-starter-validation -> 3.3.0
+|    +--- org.springframework.boot:spring-boot-starter:3.3.0 (*)
+|    +--- org.apache.tomcat.embed:tomcat-embed-el:10.1.24
+|    \--- org.hibernate.validator:hibernate-validator:8.0.1.Final
+|         +--- jakarta.validation:jakarta.validation-api:3.0.2
+|         +--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.3.Final
+|         \--- com.fasterxml:classmate:1.5.1 -> 1.7.0
++--- org.springframework.boot:spring-boot-starter-data-jpa -> 3.3.0
+|    +--- org.springframework.boot:spring-boot-starter-aop:3.3.0
+|    |    +--- org.springframework.boot:spring-boot-starter:3.3.0 (*)
+|    |    +--- org.springframework:spring-aop:6.1.8 (*)
+|    |    \--- org.aspectj:aspectjweaver:1.9.22
+|    +--- org.springframework.boot:spring-boot-starter-jdbc:3.3.0
+|    |    +--- org.springframework.boot:spring-boot-starter:3.3.0 (*)
+|    |    +--- com.zaxxer:HikariCP:5.1.0
+|    |    |    \--- org.slf4j:slf4j-api:1.7.36 -> 2.0.13
+|    |    \--- org.springframework:spring-jdbc:6.1.8
+|    |         +--- org.springframework:spring-beans:6.1.8 (*)
+|    |         +--- org.springframework:spring-core:6.1.8 (*)
+|    |         \--- org.springframework:spring-tx:6.1.8
+|    |              +--- org.springframework:spring-beans:6.1.8 (*)
+|    |              \--- org.springframework:spring-core:6.1.8 (*)
+|    +--- org.hibernate.orm:hibernate-core:6.5.2.Final
+|    |    +--- jakarta.persistence:jakarta.persistence-api:3.1.0
+|    |    +--- jakarta.transaction:jakarta.transaction-api:2.0.1
+|    |    +--- org.jboss.logging:jboss-logging:3.5.0.Final -> 3.5.3.Final
+|    |    +--- org.hibernate.common:hibernate-commons-annotations:6.0.6.Final
+|    |    +--- io.smallrye:jandex:3.1.2
+|    |    +--- com.fasterxml:classmate:1.5.1 -> 1.7.0
+|    |    +--- net.bytebuddy:byte-buddy:1.14.15 -> 1.14.16
+|    |    +--- jakarta.xml.bind:jakarta.xml.bind-api:4.0.0 -> 4.0.2
+|    |    |    \--- jakarta.activation:jakarta.activation-api:2.1.3
+|    |    +--- org.glassfish.jaxb:jaxb-runtime:4.0.2 -> 4.0.5
+|    |    |    \--- org.glassfish.jaxb:jaxb-core:4.0.5
+|    |    |         +--- jakarta.xml.bind:jakarta.xml.bind-api:4.0.2 (*)
+|    |    |         +--- jakarta.activation:jakarta.activation-api:2.1.3
+|    |    |         +--- org.eclipse.angus:angus-activation:2.0.2
+|    |    |         |    \--- jakarta.activation:jakarta.activation-api:2.1.3
+|    |    |         +--- org.glassfish.jaxb:txw2:4.0.5
+|    |    |         \--- com.sun.istack:istack-commons-runtime:4.1.2
+|    |    +--- jakarta.inject:jakarta.inject-api:2.0.1
+|    |    \--- org.antlr:antlr4-runtime:4.13.0
+|    +--- org.springframework.data:spring-data-jpa:3.3.0
+|    |    +--- org.springframework.data:spring-data-commons:3.3.0
+|    |    |    +--- org.springframework:spring-core:6.1.7 -> 6.1.8 (*)
+|    |    |    +--- org.springframework:spring-beans:6.1.7 -> 6.1.8 (*)
+|    |    |    \--- org.slf4j:slf4j-api:2.0.2 -> 2.0.13
+|    |    +--- org.springframework:spring-orm:6.1.7 -> 6.1.8
+|    |    |    +--- org.springframework:spring-beans:6.1.8 (*)
+|    |    |    +--- org.springframework:spring-core:6.1.8 (*)
+|    |    |    +--- org.springframework:spring-jdbc:6.1.8 (*)
+|    |    |    \--- org.springframework:spring-tx:6.1.8 (*)
+|    |    +--- org.springframework:spring-context:6.1.7 -> 6.1.8 (*)
+|    |    +--- org.springframework:spring-aop:6.1.7 -> 6.1.8 (*)
+|    |    +--- org.springframework:spring-tx:6.1.7 -> 6.1.8 (*)
+|    |    +--- org.springframework:spring-beans:6.1.7 -> 6.1.8 (*)
+|    |    +--- org.springframework:spring-core:6.1.7 -> 6.1.8 (*)
+|    |    +--- org.antlr:antlr4-runtime:4.13.0
+|    |    +--- jakarta.annotation:jakarta.annotation-api:2.0.0 -> 2.1.1
+|    |    \--- org.slf4j:slf4j-api:2.0.2 -> 2.0.13
+|    \--- org.springframework:spring-aspects:6.1.8
+|         \--- org.aspectj:aspectjweaver:1.9.22.1 -> 1.9.22
+\--- com.h2database:h2 -> 2.2.224
+
+(c) - A dependency constraint, not a dependency. The dependency affected by the constraint occurs elsewhere in the tree.
+(*) - Indicates repeated occurrences of a transitive dependency subtree. Gradle expands transitive dependency subtrees only once per project; repeat occurrences only display the root of the subtree, followed by this annotation.
+
+BUILD SUCCESSFUL in 24s
 1 actionable task: 1 executed
diff --git a/spring-boot/validation/gradle/wrapper/gradle-wrapper.jar b/spring-boot/validation/gradle/wrapper/gradle-wrapper.jar
index 1ce6e58f1ce8ae3a3be37719a2180b5567cea91d..e6441136f3d4ba8a0da8d277868979cfbc8ad796 100644
GIT binary patch
literal 43453
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
UfUyy3EX0IC28@JalTrWuAK7&_a{vGU

literal 54711
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

diff --git a/spring-boot/validation/gradle/wrapper/gradle-wrapper.properties b/spring-boot/validation/gradle/wrapper/gradle-wrapper.properties
index 7cd82e999..a4413138c 100644
--- a/spring-boot/validation/gradle/wrapper/gradle-wrapper.properties
+++ b/spring-boot/validation/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,7 @@
-#Tue Feb 06 12:27:20 CET 2018
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip

From 6ab9988bb1babd260085f4935f3703be8e517553 Mon Sep 17 00:00:00 2001
From: Hardik Singh Behl <hardik.behl7444@gmail.com>
Date: Fri, 21 Jun 2024 11:04:01 +0530
Subject: [PATCH 2/7] replacing javax references with jakarta

---
 .../java/io/reflectoring/validation/Input.java  | 12 ++++++------
 .../validation/InputWithCustomValidator.java    | 17 ++++++++---------
 .../io/reflectoring/validation/IpAddress.java   |  8 ++++----
 .../validation/IpAddressValidator.java          |  6 +++---
 .../ErrorHandlingControllerAdvice.java          |  8 ++++----
 .../ValidateParametersController.java           |  6 +++---
 .../ValidateRequestBodyController.java          |  6 +++---
 .../repository/ValidatingRepository.java        |  3 ++-
 ...ValidatingRepositoryWithCustomValidator.java |  3 ++-
 .../ProgrammaticallyValidatingService.java      | 14 +++++++-------
 .../validation/service/ValidatingService.java   |  6 +++---
 .../service/ValidatingServiceWithGroups.java    |  6 +++---
 .../validation/IpAddressValidatorTest.java      |  4 +++-
 .../ProgrammaticallyValidatingServiceTest.java  |  7 ++++---
 .../validation/ValidationApplicationTests.java  | 16 ----------------
 .../ValidateParametersControllerTest.java       |  5 +++--
 .../ValidateRequestBodyControllerTest.java      | 13 ++++++++-----
 .../repository/ValidatingRepositoryTest.java    | 10 +++++-----
 ...datingRepositoryWithCustomValidatorTest.java |  9 +++++----
 .../service/ValidatingServiceTest.java          |  8 ++++----
 .../ValidatingServiceWithGroupsTest.java        |  7 ++++---
 21 files changed, 84 insertions(+), 90 deletions(-)
 delete mode 100644 spring-boot/validation/src/test/java/io/reflectoring/validation/ValidationApplicationTests.java

diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java
index 5ad3250f8..f83f74d9b 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java
@@ -1,11 +1,11 @@
 package io.reflectoring.validation;
 
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.Pattern;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.Pattern;
 
 @Entity
 public class Input {
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/InputWithCustomValidator.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/InputWithCustomValidator.java
index 4036fd5a1..48cb9cde5 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/InputWithCustomValidator.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/InputWithCustomValidator.java
@@ -1,16 +1,15 @@
 package io.reflectoring.validation;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Null;
-
 import io.reflectoring.validation.service.OnCreate;
 import io.reflectoring.validation.service.OnUpdate;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Null;
 
 @Entity
 public class InputWithCustomValidator {
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java
index e05173213..e5273d594 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java
@@ -1,14 +1,14 @@
 package io.reflectoring.validation;
 
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
 
 @Target({ FIELD })
 @Retention(RUNTIME)
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddressValidator.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddressValidator.java
index 02bb2dc92..5d02d02d8 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddressValidator.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddressValidator.java
@@ -1,11 +1,11 @@
 package io.reflectoring.validation;
 
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+
 public class IpAddressValidator implements ConstraintValidator<IpAddress, String> {
 
   @Override
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java
index 1b0711262..d23669dd3 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java
@@ -1,8 +1,5 @@
 package io.reflectoring.validation.controller.controlleradvice;
 
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.FieldError;
 import org.springframework.web.bind.MethodArgumentNotValidException;
@@ -11,6 +8,9 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
+
 @ControllerAdvice
 class ErrorHandlingControllerAdvice {
 
@@ -19,7 +19,7 @@ class ErrorHandlingControllerAdvice {
   @ResponseBody
   ValidationErrorResponse onConstraintValidationException(ConstraintViolationException e) {
     ValidationErrorResponse error = new ValidationErrorResponse();
-    for (ConstraintViolation violation : e.getConstraintViolations()) {
+    for (ConstraintViolation<?> violation : e.getConstraintViolations()) {
       error.getViolations().add(new Violation(violation.getPropertyPath().toString(), violation.getMessage()));
     }
     return error;
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java
index 0fad8afc3..7c4ba4c7c 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java
@@ -1,8 +1,5 @@
 package io.reflectoring.validation.controller.parameters;
 
-import javax.validation.ConstraintViolationException;
-import javax.validation.constraints.Min;
-
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.validation.annotation.Validated;
@@ -14,6 +11,9 @@
 import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.constraints.Min;
+
 @RestController
 @Validated
 class ValidateParametersController {
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyController.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyController.java
index 78fc604ac..fd23b5c3c 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyController.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyController.java
@@ -1,13 +1,13 @@
 package io.reflectoring.validation.controller.requestbody;
 
-import javax.validation.Valid;
-
-import io.reflectoring.validation.Input;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import io.reflectoring.validation.Input;
+import jakarta.validation.Valid;
+
 @RestController
 class ValidateRequestBodyController {
 
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/repository/ValidatingRepository.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/repository/ValidatingRepository.java
index 7031c2cd0..1f7ad903a 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/repository/ValidatingRepository.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/repository/ValidatingRepository.java
@@ -1,7 +1,8 @@
 package io.reflectoring.validation.repository;
 
-import io.reflectoring.validation.Input;
 import org.springframework.data.repository.CrudRepository;
 
+import io.reflectoring.validation.Input;
+
 public interface ValidatingRepository extends CrudRepository<Input, Long> {
 }
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/repository/ValidatingRepositoryWithCustomValidator.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/repository/ValidatingRepositoryWithCustomValidator.java
index 363689024..f762a4ce9 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/repository/ValidatingRepositoryWithCustomValidator.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/repository/ValidatingRepositoryWithCustomValidator.java
@@ -1,7 +1,8 @@
 package io.reflectoring.validation.repository;
 
-import io.reflectoring.validation.InputWithCustomValidator;
 import org.springframework.data.repository.CrudRepository;
 
+import io.reflectoring.validation.InputWithCustomValidator;
+
 public interface ValidatingRepositoryWithCustomValidator extends CrudRepository<InputWithCustomValidator, Long> {
 }
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ProgrammaticallyValidatingService.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ProgrammaticallyValidatingService.java
index 338f1d9d6..af6bba5a8 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ProgrammaticallyValidatingService.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ProgrammaticallyValidatingService.java
@@ -1,16 +1,16 @@
 package io.reflectoring.validation.service;
 
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-import javax.validation.Validation;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-
 import java.util.Set;
 
-import io.reflectoring.validation.Input;
 import org.springframework.stereotype.Service;
 
+import io.reflectoring.validation.Input;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.Validation;
+import jakarta.validation.Validator;
+import jakarta.validation.ValidatorFactory;
+
 @Service
 public class ProgrammaticallyValidatingService {
 
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ValidatingService.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ValidatingService.java
index e9180f185..064250fdc 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ValidatingService.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ValidatingService.java
@@ -1,11 +1,11 @@
 package io.reflectoring.validation.service;
 
-import javax.validation.Valid;
-
-import io.reflectoring.validation.Input;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
+import io.reflectoring.validation.Input;
+import jakarta.validation.Valid;
+
 @Service
 @Validated
 class ValidatingService {
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ValidatingServiceWithGroups.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ValidatingServiceWithGroups.java
index 47199c4f3..cc54b5621 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ValidatingServiceWithGroups.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/service/ValidatingServiceWithGroups.java
@@ -1,11 +1,11 @@
 package io.reflectoring.validation.service;
 
-import javax.validation.Valid;
-
-import io.reflectoring.validation.InputWithCustomValidator;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
+import io.reflectoring.validation.InputWithCustomValidator;
+import jakarta.validation.Valid;
+
 @Service
 @Validated
 class ValidatingServiceWithGroups {
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/IpAddressValidatorTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/IpAddressValidatorTest.java
index 498c86b47..10edd0fc3 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/IpAddressValidatorTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/IpAddressValidatorTest.java
@@ -1,7 +1,9 @@
 package io.reflectoring.validation;
 
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.*;
 
 class IpAddressValidatorTest {
 
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammaticallyValidatingServiceTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammaticallyValidatingServiceTest.java
index 1ddd49ef5..c730e37a0 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammaticallyValidatingServiceTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammaticallyValidatingServiceTest.java
@@ -1,14 +1,15 @@
 package io.reflectoring.validation;
 
-import javax.validation.ConstraintViolationException;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import io.reflectoring.validation.service.ProgrammaticallyValidatingService;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
-import static org.junit.jupiter.api.Assertions.*;
+
+import io.reflectoring.validation.service.ProgrammaticallyValidatingService;
+import jakarta.validation.ConstraintViolationException;
 
 @ExtendWith(SpringExtension.class)
 @SpringBootTest
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/ValidationApplicationTests.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/ValidationApplicationTests.java
deleted file mode 100644
index 35778b8f7..000000000
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/ValidationApplicationTests.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.reflectoring.validation;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest
-public class ValidationApplicationTests {
-
-	@Test
-	public void contextLoads() {
-	}
-
-}
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/parameters/ValidateParametersControllerTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/parameters/ValidateParametersControllerTest.java
index e75806530..481b77bdf 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/parameters/ValidateParametersControllerTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/parameters/ValidateParametersControllerTest.java
@@ -1,13 +1,14 @@
 package io.reflectoring.validation.controller.parameters;
 
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.test.web.servlet.MockMvc;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
 
 @ExtendWith(SpringExtension.class)
 @WebMvcTest(controllers = ValidateParametersController.class)
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyControllerTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyControllerTest.java
index 527be8022..1ca3123f9 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyControllerTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyControllerTest.java
@@ -1,7 +1,9 @@
 package io.reflectoring.validation.controller.requestbody;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import io.reflectoring.validation.Input;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -9,9 +11,10 @@
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.MvcResult;
-import static org.assertj.core.api.Java6Assertions.assertThat;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import io.reflectoring.validation.Input;
 
 @ExtendWith(SpringExtension.class)
 @WebMvcTest(controllers = ValidateRequestBodyController.class)
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/repository/ValidatingRepositoryTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/repository/ValidatingRepositoryTest.java
index 5ae568b76..21ce83c92 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/repository/ValidatingRepositoryTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/repository/ValidatingRepositoryTest.java
@@ -1,16 +1,16 @@
 package io.reflectoring.validation.repository;
 
-import javax.persistence.EntityManager;
-import javax.validation.ConstraintViolationException;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import io.reflectoring.validation.Input;
-import io.reflectoring.validation.repository.ValidatingRepository;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
-import static org.junit.jupiter.api.Assertions.*;
+
+import io.reflectoring.validation.Input;
+import jakarta.persistence.EntityManager;
+import jakarta.validation.ConstraintViolationException;
 
 @ExtendWith(SpringExtension.class)
 @DataJpaTest
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/repository/ValidatingRepositoryWithCustomValidatorTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/repository/ValidatingRepositoryWithCustomValidatorTest.java
index 49b94ce6c..6ec80efc5 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/repository/ValidatingRepositoryWithCustomValidatorTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/repository/ValidatingRepositoryWithCustomValidatorTest.java
@@ -1,16 +1,17 @@
 package io.reflectoring.validation.repository;
 
-import javax.persistence.EntityManager;
-import javax.validation.ConstraintViolationException;
+import static org.assertj.core.api.Assertions.assertThat;
 
-import io.reflectoring.validation.InputWithCustomValidator;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
-import static org.assertj.core.api.Java6Assertions.assertThat;
+
+import io.reflectoring.validation.InputWithCustomValidator;
+import jakarta.persistence.EntityManager;
+import jakarta.validation.ConstraintViolationException;
 
 @ExtendWith(SpringExtension.class)
 @DataJpaTest
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceTest.java
index 51ba600df..f16a1613c 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceTest.java
@@ -1,15 +1,15 @@
 package io.reflectoring.validation.service;
 
-import javax.validation.ConstraintViolationException;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import io.reflectoring.validation.Input;
-import io.reflectoring.validation.service.ValidatingService;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+
+import io.reflectoring.validation.Input;
+import jakarta.validation.ConstraintViolationException;
 
 @ExtendWith(SpringExtension.class)
 @SpringBootTest
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceWithGroupsTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceWithGroupsTest.java
index 6193e3f02..deda2f590 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceWithGroupsTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceWithGroupsTest.java
@@ -1,14 +1,15 @@
 package io.reflectoring.validation.service;
 
-import javax.validation.ConstraintViolationException;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import io.reflectoring.validation.InputWithCustomValidator;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
-import static org.junit.jupiter.api.Assertions.*;
+
+import io.reflectoring.validation.InputWithCustomValidator;
+import jakarta.validation.ConstraintViolationException;
 
 @ExtendWith(SpringExtension.class)
 @SpringBootTest

From 4e0c8ba5a953a6349d148e0521e123351fd5e251 Mon Sep 17 00:00:00 2001
From: Hardik Singh Behl <hardik.behl7444@gmail.com>
Date: Fri, 21 Jun 2024 11:11:06 +0530
Subject: [PATCH 3/7] section codebase: Validating Properties at Startup

---
 .../RequiredConfigurationProperties.java      | 25 +++++++++++++++++++
 .../validation/ValidationApplication.java     |  2 ++
 .../src/main/resources/application.properties |  2 ++
 3 files changed, 29 insertions(+)
 create mode 100644 spring-boot/validation/src/main/java/io/reflectoring/validation/RequiredConfigurationProperties.java
 create mode 100644 spring-boot/validation/src/main/resources/application.properties

diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/RequiredConfigurationProperties.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/RequiredConfigurationProperties.java
new file mode 100644
index 000000000..23136eaa0
--- /dev/null
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/RequiredConfigurationProperties.java
@@ -0,0 +1,25 @@
+package io.reflectoring.validation;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.validation.annotation.Validated;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Positive;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+@Validated
+@ConfigurationProperties(prefix = "io.reflectoring.jwt")
+public class RequiredConfigurationProperties {
+
+  @NotBlank
+  private String privateKey;
+
+  @NotNull
+  @Positive
+  private Integer validityMinutes;
+
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/ValidationApplication.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/ValidationApplication.java
index 955d68e56..36100eb28 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/ValidationApplication.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/ValidationApplication.java
@@ -2,8 +2,10 @@
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
 
 @SpringBootApplication
+@EnableConfigurationProperties(RequiredConfigurationProperties.class)
 public class ValidationApplication {
 
 	public static void main(String[] args) {
diff --git a/spring-boot/validation/src/main/resources/application.properties b/spring-boot/validation/src/main/resources/application.properties
new file mode 100644
index 000000000..288cdb1b2
--- /dev/null
+++ b/spring-boot/validation/src/main/resources/application.properties
@@ -0,0 +1,2 @@
+io.reflectoring.jwt.private-key=test
+io.reflectoring.jwt.validity-minutes=10
\ No newline at end of file

From 94ef893d5e9c6ac8a4c51d32f565fb044d89a398 Mon Sep 17 00:00:00 2001
From: Hardik Singh Behl <hardik.behl7444@gmail.com>
Date: Fri, 21 Jun 2024 11:13:21 +0530
Subject: [PATCH 4/7] section codebase: Implementing Cross-Field Validation

---
 .../ProgrammerRegisterationRequest.java       | 18 +++++++
 .../validation/ProgrammerStereotype.java      | 25 +++++++++
 .../ProgrammerStereotypeValidator.java        | 22 ++++++++
 .../ProgrammerSteriotypeValidationTest.java   | 53 +++++++++++++++++++
 4 files changed, 118 insertions(+)
 create mode 100644 spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerRegisterationRequest.java
 create mode 100644 spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotype.java
 create mode 100644 spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotypeValidator.java
 create mode 100644 spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammerSteriotypeValidationTest.java

diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerRegisterationRequest.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerRegisterationRequest.java
new file mode 100644
index 000000000..9c14df19d
--- /dev/null
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerRegisterationRequest.java
@@ -0,0 +1,18 @@
+package io.reflectoring.validation;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+@ProgrammerStereotype
+public class ProgrammerRegisterationRequest {
+
+  @NotBlank
+  private String programmingLanguage;
+
+  @NotBlank
+  private String favoriteIDE;
+
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotype.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotype.java
new file mode 100644
index 000000000..7503d5bd4
--- /dev/null
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotype.java
@@ -0,0 +1,25 @@
+package io.reflectoring.validation;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
+
+@Documented
+@Target(TYPE)
+@Retention(RUNTIME)
+@Constraint(validatedBy = ProgrammerStereotypeValidator.class)
+public @interface ProgrammerStereotype {
+
+  String message() default "Stereotype violation detected! IDE and language not vibing.";
+
+  Class<?>[] groups() default { };
+
+  Class<? extends Payload>[] payload() default { };
+
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotypeValidator.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotypeValidator.java
new file mode 100644
index 000000000..556a9095b
--- /dev/null
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotypeValidator.java
@@ -0,0 +1,22 @@
+package io.reflectoring.validation;
+
+import java.util.List;
+
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+
+public class ProgrammerStereotypeValidator implements ConstraintValidator < ProgrammerStereotype, ProgrammerRegisterationRequest > {
+
+  private static final List <String> UNWORTHY_JAVA_IDES = List.of("Notepad", "Netbeans");
+
+  @Override
+  public boolean isValid(ProgrammerRegisterationRequest request, ConstraintValidatorContext context) {
+    if (request.getProgrammingLanguage().equalsIgnoreCase("Java")) {
+      if (UNWORTHY_JAVA_IDES.contains(request.getFavoriteIDE())) {
+        return false;
+      }
+    }
+    return true;
+  }
+
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammerSteriotypeValidationTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammerSteriotypeValidationTest.java
new file mode 100644
index 000000000..01bfdc7b7
--- /dev/null
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammerSteriotypeValidationTest.java
@@ -0,0 +1,53 @@
+package io.reflectoring.validation;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.junit.jupiter.api.Test;
+
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.Validation;
+import jakarta.validation.Validator;
+
+class ProgrammerSteriotypeValidationTest {
+
+  private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
+
+  @Test
+  void whenJavaProgrammerUsesNotepad_thenValidationFails() {
+    ProgrammerRegisterationRequest request = new ProgrammerRegisterationRequest();
+    request.setProgrammingLanguage("Java");
+    request.setFavoriteIDE("Notepad");
+
+    var violations = validator.validate(request);
+
+    assertFalse(violations.isEmpty());
+    assertThat(violations)
+      .extracting(ConstraintViolation::getMessage)
+      .contains("Stereotype violation detected! IDE and language not vibing.");
+  }
+
+  @Test
+  void whenJavaProgrammerUsesIntelliJ_thenValidationSucceeds() {
+    ProgrammerRegisterationRequest request = new ProgrammerRegisterationRequest();
+    request.setProgrammingLanguage("Java");
+    request.setFavoriteIDE("IntelliJ");
+
+    var violations = validator.validate(request);
+
+    assertTrue(violations.isEmpty());
+  }
+
+  @Test
+  void whenNonJavaProgrammer_thenValidationSucceeds() {
+    ProgrammerRegisterationRequest request = new ProgrammerRegisterationRequest();
+    request.setProgrammingLanguage("Javascript");
+    request.setFavoriteIDE("VS Code");
+
+    var violations = validator.validate(request);
+
+    assertTrue(violations.isEmpty());
+  }
+
+}
\ No newline at end of file

From efc57430926912ef221db4586e27a00e2ca027c2 Mon Sep 17 00:00:00 2001
From: Hardik Singh Behl <hardik.behl7444@gmail.com>
Date: Fri, 21 Jun 2024 11:26:42 +0530
Subject: [PATCH 5/7] section codebase: Loading Error Messages from a
 Properties File

---
 .../io/reflectoring/validation/Input.java     |  6 +++---
 .../io/reflectoring/validation/IpAddress.java |  2 +-
 .../validation/ValidationApplication.java     | 19 +++++++++++++++----
 .../resources/ValidationMessages.properties   |  1 -
 .../src/main/resources/application.properties |  4 +++-
 .../resources/validation-errors.properties    |  2 ++
 6 files changed, 24 insertions(+), 10 deletions(-)
 delete mode 100644 spring-boot/validation/src/main/resources/ValidationMessages.properties
 create mode 100644 spring-boot/validation/src/main/resources/validation-errors.properties

diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java
index f83f74d9b..2ef3e9339 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java
@@ -14,13 +14,13 @@ public class Input {
   @GeneratedValue
   private Long id;
 
-  @Min(1)
-  @Max(10)
+  @Min(value = 1, message = "{number.invalid}")
+  @Max(value = 10, message = "{number.invalid}")
   private int numberBetweenOneAndTen;
 
   // Note that this is actually not a valid IP address pattern, since
   // it allows values greater than 255 per octet.
-  @Pattern(regexp = "^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$")
+  @Pattern(regexp = "^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$", message = "{ip-address.invalid}")
   private String ipAddress;
 
   public int getNumberBetweenOneAndTen() {
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java
index e5273d594..149d73e21 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java
@@ -16,7 +16,7 @@
 @Documented
 public @interface IpAddress {
 
-  String message() default "{IpAddress.invalid}";
+  String message() default "{ip-address.invalid}";
 
   Class<?>[] groups() default { };
 
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/ValidationApplication.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/ValidationApplication.java
index 36100eb28..de75a9a2f 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/ValidationApplication.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/ValidationApplication.java
@@ -3,12 +3,23 @@
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.MessageSource;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.support.ReloadableResourceBundleMessageSource;
 
 @SpringBootApplication
 @EnableConfigurationProperties(RequiredConfigurationProperties.class)
 public class ValidationApplication {
 
-	public static void main(String[] args) {
-		SpringApplication.run(ValidationApplication.class, args);
-	}
-}
+  public static void main(String[] args) {
+    SpringApplication.run(ValidationApplication.class, args);
+  }
+
+  @Bean
+  public MessageSource messageSource() {
+    ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
+    messageSource.setBasenames("classpath:validation-errors");
+    return messageSource;
+  }
+
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/resources/ValidationMessages.properties b/spring-boot/validation/src/main/resources/ValidationMessages.properties
deleted file mode 100644
index 93501ea76..000000000
--- a/spring-boot/validation/src/main/resources/ValidationMessages.properties
+++ /dev/null
@@ -1 +0,0 @@
-IpAddress.invalid=Invalid IP Address: "${validatedValue}"!
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/resources/application.properties b/spring-boot/validation/src/main/resources/application.properties
index 288cdb1b2..5c8e81353 100644
--- a/spring-boot/validation/src/main/resources/application.properties
+++ b/spring-boot/validation/src/main/resources/application.properties
@@ -1,2 +1,4 @@
 io.reflectoring.jwt.private-key=test
-io.reflectoring.jwt.validity-minutes=10
\ No newline at end of file
+io.reflectoring.jwt.validity-minutes=10
+
+spring.messages.basename=validation-errors
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/resources/validation-errors.properties b/spring-boot/validation/src/main/resources/validation-errors.properties
new file mode 100644
index 000000000..09a0674ac
--- /dev/null
+++ b/spring-boot/validation/src/main/resources/validation-errors.properties
@@ -0,0 +1,2 @@
+ip-address.invalid=Invalid IP address: '${validatedValue}'
+number.invalid=The provided number '${validatedValue}' must be between ${min} and ${max}
\ No newline at end of file

From 9e5fec84678ad35f916935e4da0c1ef6ca96e3e6 Mon Sep 17 00:00:00 2001
From: Hardik Singh Behl <hardik.behl7444@gmail.com>
Date: Fri, 21 Jun 2024 11:42:09 +0530
Subject: [PATCH 6/7] refactor: existing code

---
 .../io/reflectoring/validation/Input.java     | 21 +++-------
 .../validation/InputWithCustomValidator.java  | 29 +++-----------
 .../io/reflectoring/validation/IpAddress.java | 10 ++---
 .../validation/IpAddressValidator.java        | 32 ++++++++-------
 .../ErrorHandlingControllerAdvice.java        | 39 ++++++++++--------
 .../ValidationErrorResponse.java              | 17 --------
 .../controlleradvice/Violation.java           | 23 ++++-------
 .../ValidateParametersController.java         | 13 +++---
 .../validation/IpAddressValidatorTest.java    | 11 ++++-
 ...ProgrammaticallyValidatingServiceTest.java |  3 --
 .../ValidateParametersControllerTest.java     | 40 ++++++++++++++-----
 .../ValidateRequestBodyControllerTest.java    | 35 ++++++++--------
 .../service/ValidatingServiceTest.java        |  3 --
 .../ValidatingServiceWithGroupsTest.java      |  3 --
 14 files changed, 126 insertions(+), 153 deletions(-)
 delete mode 100644 spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ValidationErrorResponse.java

diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java
index 2ef3e9339..48323ee41 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/Input.java
@@ -6,7 +6,11 @@
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.Pattern;
+import lombok.Getter;
+import lombok.Setter;
 
+@Getter
+@Setter
 @Entity
 public class Input {
 
@@ -23,19 +27,4 @@ public class Input {
   @Pattern(regexp = "^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$", message = "{ip-address.invalid}")
   private String ipAddress;
 
-  public int getNumberBetweenOneAndTen() {
-    return numberBetweenOneAndTen;
-  }
-
-  public void setNumberBetweenOneAndTen(int numberBetweenOneAndTen) {
-    this.numberBetweenOneAndTen = numberBetweenOneAndTen;
-  }
-
-  public String getIpAddress() {
-    return ipAddress;
-  }
-
-  public void setIpAddress(String ipAddress) {
-    this.ipAddress = ipAddress;
-  }
-}
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/InputWithCustomValidator.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/InputWithCustomValidator.java
index 48cb9cde5..0bdf0cff8 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/InputWithCustomValidator.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/InputWithCustomValidator.java
@@ -10,7 +10,11 @@
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Null;
+import lombok.Getter;
+import lombok.Setter;
 
+@Getter
+@Setter
 @Entity
 public class InputWithCustomValidator {
 
@@ -29,27 +33,4 @@ public class InputWithCustomValidator {
   @Column
   private String ipAddress;
 
-  public int getNumberBetweenOneAndTen() {
-    return numberBetweenOneAndTen;
-  }
-
-  public void setNumberBetweenOneAndTen(int numberBetweenOneAndTen) {
-    this.numberBetweenOneAndTen = numberBetweenOneAndTen;
-  }
-
-  public String getIpAddress() {
-    return ipAddress;
-  }
-
-  public void setIpAddress(String ipAddress) {
-    this.ipAddress = ipAddress;
-  }
-
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-}
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java
index 149d73e21..df62921a3 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddress.java
@@ -10,16 +10,16 @@
 import jakarta.validation.Constraint;
 import jakarta.validation.Payload;
 
-@Target({ FIELD })
+@Documented
+@Target(FIELD)
 @Retention(RUNTIME)
 @Constraint(validatedBy = IpAddressValidator.class)
-@Documented
 public @interface IpAddress {
 
   String message() default "{ip-address.invalid}";
 
-  Class<?>[] groups() default { };
+  Class<?>[] groups() default {};
 
-  Class<? extends Payload>[] payload() default { };
+  Class<? extends Payload>[] payload() default {};
 
-}
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddressValidator.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddressValidator.java
index 5d02d02d8..bd33964d2 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddressValidator.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/IpAddressValidator.java
@@ -8,25 +8,27 @@
 
 public class IpAddressValidator implements ConstraintValidator<IpAddress, String> {
 
+  private static final Pattern IP_ADDRESS_PATTERN = Pattern.compile("^([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})$");
+
   @Override
   public boolean isValid(String value, ConstraintValidatorContext context) {
-    Pattern pattern = Pattern.compile("^([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})$");
-    Matcher matcher = pattern.matcher(value);
-    try {
-      if (!matcher.matches()) {
+    Matcher matcher = IP_ADDRESS_PATTERN.matcher(value);
+    boolean isValidIpAddress = matcher.matches();
+    
+    if (isValidIpAddress) {
+        isValidIpAddress = isValidOctets(matcher);
+    }
+    return isValidIpAddress;
+  }
+
+  private boolean isValidOctets(Matcher matcher) {
+    for (int i = 1; i <= 4; i++) {
+      int octet = Integer.parseInt(matcher.group(i));
+      if (octet < 0 || octet > 255) {
         return false;
-      } else {
-        for (int i = 1; i <= 4; i++) {
-          int octet = Integer.valueOf(matcher.group(i));
-          if (octet > 255) {
-            return false;
-          }
-        }
-        return true;
       }
-    } catch (Exception e) {
-      return false;
     }
+    return true;
   }
 
-}
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java
index d23669dd3..2e18ccb27 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java
@@ -1,39 +1,44 @@
 package io.reflectoring.validation.controller.controlleradvice;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.springframework.http.HttpStatus;
+import org.springframework.http.ProblemDetail;
 import org.springframework.validation.FieldError;
 import org.springframework.web.bind.MethodArgumentNotValidException;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.ResponseStatus;
 
 import jakarta.validation.ConstraintViolation;
 import jakarta.validation.ConstraintViolationException;
 
 @ControllerAdvice
 class ErrorHandlingControllerAdvice {
+	
+  private static final String VIOLATIONS_KEY = "violations";
 
   @ExceptionHandler(ConstraintViolationException.class)
-  @ResponseStatus(HttpStatus.BAD_REQUEST)
-  @ResponseBody
-  ValidationErrorResponse onConstraintValidationException(ConstraintViolationException e) {
-    ValidationErrorResponse error = new ValidationErrorResponse();
-    for (ConstraintViolation<?> violation : e.getConstraintViolations()) {
-      error.getViolations().add(new Violation(violation.getPropertyPath().toString(), violation.getMessage()));
+  ProblemDetail handle(ConstraintViolationException exception) {
+    List < Violation > violations = new ArrayList < > ();
+    for (ConstraintViolation<?> violation: exception.getConstraintViolations()) {
+      violations.add(new Violation(violation.getPropertyPath().toString(), violation.getMessage()));
     }
-    return error;
+
+    ProblemDetail problemDetail = ProblemDetail.forStatusAndDetail(HttpStatus.BAD_REQUEST, "Validation failure.");
+    problemDetail.setProperty(VIOLATIONS_KEY, violations);
+    return problemDetail;
   }
 
   @ExceptionHandler(MethodArgumentNotValidException.class)
-  @ResponseStatus(HttpStatus.BAD_REQUEST)
-  @ResponseBody
-  ValidationErrorResponse onMethodArgumentNotValidException(MethodArgumentNotValidException e) {
-    ValidationErrorResponse error = new ValidationErrorResponse();
-    for (FieldError fieldError : e.getBindingResult().getFieldErrors()) {
-      error.getViolations().add(new Violation(fieldError.getField(), fieldError.getDefaultMessage()));
+  ProblemDetail handle(MethodArgumentNotValidException exception) {
+    List < Violation > violations = new ArrayList < > ();
+    for (FieldError fieldError: exception.getBindingResult().getFieldErrors()) {
+      violations.add(new Violation(fieldError.getField(), fieldError.getDefaultMessage()));
     }
-    return error;
+    ProblemDetail problemDetail = ProblemDetail.forStatusAndDetail(HttpStatus.BAD_REQUEST, "Validation failure.");
+    problemDetail.setProperty(VIOLATIONS_KEY, violations);
+    return problemDetail;
   }
 
-}
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ValidationErrorResponse.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ValidationErrorResponse.java
deleted file mode 100644
index ec294ac9c..000000000
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ValidationErrorResponse.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.reflectoring.validation.controller.controlleradvice;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ValidationErrorResponse {
-
-  private List<Violation> violations = new ArrayList<>();
-
-  public List<Violation> getViolations() {
-    return violations;
-  }
-
-  public void setViolations(List<Violation> violations) {
-    this.violations = violations;
-  }
-}
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/Violation.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/Violation.java
index f3446516c..b26a0ec3f 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/Violation.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/Violation.java
@@ -1,21 +1,14 @@
 package io.reflectoring.validation.controller.controlleradvice;
 
-public class Violation {
-
-  private final String fieldName;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
 
-  private final String message;
+@Getter
+@AllArgsConstructor
+public class Violation {
 
-  public Violation(String fieldName, String message) {
-    this.fieldName = fieldName;
-    this.message = message;
-  }
+  private String fieldName;
 
-  public String getFieldName() {
-    return fieldName;
-  }
+  private String message;
 
-  public String getMessage() {
-    return message;
-  }
-}
+}
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java
index 7c4ba4c7c..6086c8385 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java
@@ -1,6 +1,7 @@
 package io.reflectoring.validation.controller.parameters;
 
 import org.springframework.http.HttpStatus;
+import org.springframework.http.ProblemDetail;
 import org.springframework.http.ResponseEntity;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.ExceptionHandler;
@@ -8,14 +9,13 @@
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 
 import jakarta.validation.ConstraintViolationException;
 import jakarta.validation.constraints.Min;
 
-@RestController
 @Validated
+@RestController
 class ValidateParametersController {
 
   @GetMapping("/validatePathVariable/{id}")
@@ -28,12 +28,11 @@ ResponseEntity<String> validateRequestParameter(@RequestParam("param") @Min(5) i
     return ResponseEntity.ok("valid");
   }
 
-  @ExceptionHandler(ConstraintViolationException.class)
-  @ResponseStatus(HttpStatus.BAD_REQUEST)
   @ResponseBody
-  String handleConstraintViolationException(ConstraintViolationException e) {
-    return "not valid due to validation error: " + e.getMessage();
+  @ExceptionHandler(ConstraintViolationException.class)
+  ProblemDetail handle(ConstraintViolationException exception) {
+    String detail = "Validation error: " + exception.getMessage();
+    return ProblemDetail.forStatusAndDetail(HttpStatus.BAD_REQUEST, detail);
   }
 
-
 }
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/IpAddressValidatorTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/IpAddressValidatorTest.java
index 10edd0fc3..9f0cdfdc5 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/IpAddressValidatorTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/IpAddressValidatorTest.java
@@ -7,10 +7,17 @@
 
 class IpAddressValidatorTest {
 
+  private final IpAddressValidator validator = new IpAddressValidator();
+
   @Test
-  void test(){
-    IpAddressValidator validator = new IpAddressValidator();
+  void whenValidIpAddress_thenValidationSucceeds() {
     assertTrue(validator.isValid("111.111.111.111", null));
+    assertTrue(validator.isValid("0.0.0.0", null));
+    assertTrue(validator.isValid("255.255.255.255", null));
+  }
+
+  @Test
+  void whenInvalidIpAddress_thenValidationFails() {
     assertFalse(validator.isValid("111.foo.111.111", null));
     assertFalse(validator.isValid("111.111.256.111", null));
   }
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammaticallyValidatingServiceTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammaticallyValidatingServiceTest.java
index c730e37a0..1827e53d2 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammaticallyValidatingServiceTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/ProgrammaticallyValidatingServiceTest.java
@@ -3,15 +3,12 @@
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import io.reflectoring.validation.service.ProgrammaticallyValidatingService;
 import jakarta.validation.ConstraintViolationException;
 
-@ExtendWith(SpringExtension.class)
 @SpringBootTest
 class ProgrammaticallyValidatingServiceTest {
 
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/parameters/ValidateParametersControllerTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/parameters/ValidateParametersControllerTest.java
index 481b77bdf..173415bdc 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/parameters/ValidateParametersControllerTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/parameters/ValidateParametersControllerTest.java
@@ -1,16 +1,17 @@
 package io.reflectoring.validation.controller.parameters;
 
+import static org.hamcrest.CoreMatchers.startsWith;
 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;
 
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.test.web.servlet.MockMvc;
 
-@ExtendWith(SpringExtension.class)
+import lombok.SneakyThrows;
+
 @WebMvcTest(controllers = ValidateParametersController.class)
 class ValidateParametersControllerTest {
 
@@ -18,22 +19,41 @@ class ValidateParametersControllerTest {
   private MockMvc mvc;
 
   @Test
-  void whenPathVariableIsInvalid_thenReturnsStatus400() throws Exception {
-    mvc.perform(get("/validatePathVariable/3"))
-            .andExpect(status().isBadRequest());
+  @SneakyThrows
+  void whenPathVariableIsInvalid_thenReturnsStatus400() {
+    String apiPath = "/validatePathVariable/3";
+    mvc.perform(get(apiPath))
+            .andExpect(status().isBadRequest())
+            .andExpect(jsonPath("$.status").value(400))
+            .andExpect(jsonPath("$.instance").value(apiPath))
+            .andExpect(jsonPath("$.detail").value(startsWith("Validation error:")));
   }
 
   @Test
-  void whenRequestParameterIsInvalid_thenReturnsStatus400() throws Exception {
-    mvc.perform(get("/validateRequestParameter")
+  @SneakyThrows
+  void whenRequestParameterIsInvalid_thenReturnsStatus400() {
+    String apiPath = "/validateRequestParameter";
+    mvc.perform(get(apiPath)
             .param("param", "3"))
-            .andExpect(status().isBadRequest());
+            .andExpect(status().isBadRequest())
+            .andExpect(jsonPath("$.status").value(400))
+            .andExpect(jsonPath("$.instance").value(apiPath))
+            .andExpect(jsonPath("$.detail").value(startsWith("Validation error:")));
   }
 
   @Test
-  void whenPathVariableIsValid_thenReturnsStatus200() throws Exception {
+  @SneakyThrows
+  void whenPathVariableIsValid_thenReturnsStatus200() {
     mvc.perform(get("/validatePathVariable/10"))
             .andExpect(status().isOk());
   }
+  
+  @Test
+  @SneakyThrows
+  void whenRequestParameterIsValid_thenReturnsStatus200() {
+    mvc.perform(get("/validateRequestParameter")
+            .param("param", "10"))
+            .andExpect(status().isOk());
+  }
 
 }
\ No newline at end of file
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyControllerTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyControllerTest.java
index 1ca3123f9..21d88ff5c 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyControllerTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyControllerTest.java
@@ -5,18 +5,16 @@
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.MvcResult;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 import io.reflectoring.validation.Input;
+import lombok.SneakyThrows;
 
-@ExtendWith(SpringExtension.class)
 @WebMvcTest(controllers = ValidateRequestBodyController.class)
 class ValidateRequestBodyControllerTest {
 
@@ -25,31 +23,28 @@ class ValidateRequestBodyControllerTest {
 
   @Autowired
   private ObjectMapper objectMapper;
+  
+  private static final String API_PATH = "/validateBody";
 
   @Test
-  void whenInputIsInvalid_thenReturnsStatus400() throws Exception {
+  @SneakyThrows
+  void whenInputIsInvalid_thenReturnsStatus400() {
     Input input = invalidInput();
     String body = objectMapper.writeValueAsString(input);
 
-    mvc.perform(post("/validateBody")
+    mvc.perform(post(API_PATH)
             .contentType("application/json")
             .content(body))
             .andExpect(status().isBadRequest());
   }
 
-  private Input invalidInput() {
-    Input input = new Input();
-    input.setIpAddress("invalid");
-    input.setNumberBetweenOneAndTen(99);
-    return input;
-  }
-
   @Test
-  void whenInputIsInvalid_thenReturnsStatus400WithErrorObject() throws Exception {
+  @SneakyThrows
+  void whenInputIsInvalid_thenReturnsStatus400WithErrorObject() {
     Input input = invalidInput();
     String body = objectMapper.writeValueAsString(input);
 
-    MvcResult result = mvc.perform(post("/validateBody")
+    MvcResult result = mvc.perform(post(API_PATH)
             .contentType("application/json")
             .content(body))
             .andExpect(status().isBadRequest())
@@ -59,16 +54,24 @@ void whenInputIsInvalid_thenReturnsStatus400WithErrorObject() throws Exception {
   }
 
   @Test
-  void whenInputIsValid_thenReturnsStatus200() throws Exception {
+  @SneakyThrows
+  void whenInputIsValid_thenReturnsStatus200() {
     Input input = validInput();
     String body = objectMapper.writeValueAsString(input);
 
-    mvc.perform(post("/validateBody")
+    mvc.perform(post(API_PATH)
             .contentType("application/json")
             .content(body))
             .andExpect(status().isOk());
   }
 
+  private Input invalidInput() {
+    Input input = new Input();
+    input.setIpAddress("invalid");
+    input.setNumberBetweenOneAndTen(99);
+    return input;
+  }
+  
   private Input validInput() {
     Input input = new Input();
     input.setIpAddress("255.255.255.255");
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceTest.java
index f16a1613c..78a21ffc4 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceTest.java
@@ -3,15 +3,12 @@
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import io.reflectoring.validation.Input;
 import jakarta.validation.ConstraintViolationException;
 
-@ExtendWith(SpringExtension.class)
 @SpringBootTest
 class ValidatingServiceTest {
 
diff --git a/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceWithGroupsTest.java b/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceWithGroupsTest.java
index deda2f590..732b8a837 100644
--- a/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceWithGroupsTest.java
+++ b/spring-boot/validation/src/test/java/io/reflectoring/validation/service/ValidatingServiceWithGroupsTest.java
@@ -3,15 +3,12 @@
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import io.reflectoring.validation.InputWithCustomValidator;
 import jakarta.validation.ConstraintViolationException;
 
-@ExtendWith(SpringExtension.class)
 @SpringBootTest
 class ValidatingServiceWithGroupsTest {
 

From 28813e8445d8ee36c0141906dc0f7cda231c3106 Mon Sep 17 00:00:00 2001
From: Hardik Singh Behl <hardik.behl7444@gmail.com>
Date: Fri, 21 Jun 2024 11:52:04 +0530
Subject: [PATCH 7/7] minor fix

---
 .../java/io/reflectoring/validation/ProgrammerStereotype.java | 4 ++--
 .../controlleradvice/ErrorHandlingControllerAdvice.java       | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotype.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotype.java
index 7503d5bd4..220022721 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotype.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/ProgrammerStereotype.java
@@ -18,8 +18,8 @@
 
   String message() default "Stereotype violation detected! IDE and language not vibing.";
 
-  Class<?>[] groups() default { };
+  Class<?>[] groups() default {};
 
-  Class<? extends Payload>[] payload() default { };
+  Class<? extends Payload>[] payload() default {};
 
 }
\ No newline at end of file
diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java
index 2e18ccb27..63fadd508 100644
--- a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java
+++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/controlleradvice/ErrorHandlingControllerAdvice.java
@@ -20,7 +20,7 @@ class ErrorHandlingControllerAdvice {
 
   @ExceptionHandler(ConstraintViolationException.class)
   ProblemDetail handle(ConstraintViolationException exception) {
-    List < Violation > violations = new ArrayList < > ();
+    List<Violation> violations = new ArrayList<>();
     for (ConstraintViolation<?> violation: exception.getConstraintViolations()) {
       violations.add(new Violation(violation.getPropertyPath().toString(), violation.getMessage()));
     }
@@ -32,7 +32,7 @@ ProblemDetail handle(ConstraintViolationException exception) {
 
   @ExceptionHandler(MethodArgumentNotValidException.class)
   ProblemDetail handle(MethodArgumentNotValidException exception) {
-    List < Violation > violations = new ArrayList < > ();
+    List<Violation> violations = new ArrayList<>();
     for (FieldError fieldError: exception.getBindingResult().getFieldErrors()) {
       violations.add(new Violation(fieldError.getField(), fieldError.getDefaultMessage()));
     }