diff --git a/core-java-modules/core-java/pom.xml b/core-java-modules/core-java/pom.xml
index bb19b525d0..786ee91192 100644
--- a/core-java-modules/core-java/pom.xml
+++ b/core-java-modules/core-java/pom.xml
@@ -59,6 +59,16 @@
spring-core
${spring.core.version}
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+ com.google.gdata
+ core
+ 1.47.1
+
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/illegalcharacter/IllegalCharacterUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/illegalcharacter/IllegalCharacterUnitTest.java
new file mode 100644
index 0000000000..4a08daa271
--- /dev/null
+++ b/core-java-modules/core-java/src/test/java/com/baeldung/illegalcharacter/IllegalCharacterUnitTest.java
@@ -0,0 +1,79 @@
+package com.baeldung.illegalcharacter;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.Objects;
+
+import org.apache.commons.io.ByteOrderMark;
+import org.apache.commons.io.input.BOMInputStream;
+import org.junit.Test;
+
+import com.google.gdata.util.io.base.UnicodeReader;
+
+public class IllegalCharacterUnitTest {
+
+ final String RESOURCE_FILE_NAME = "bom-file.txt";
+ final InputStream ioStream = this.getClass()
+ .getClassLoader()
+ .getResourceAsStream(RESOURCE_FILE_NAME);
+ final String expected = "Hello world with BOM.";
+
+ @Test
+ public void whenInputFileHasBOM_thenUseInputStream() throws IOException {
+ String line;
+ String actual = "";
+
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(ioStream))) {
+ while ((line = br.readLine()) != null) {
+ actual += line;
+ }
+ }
+
+ assertNotEquals(expected, actual);
+ }
+
+ @Test
+ public void whenInputFileHasBOM_thenUseInputStreamWithReplace() throws IOException {
+ String line;
+ String actual = "";
+
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(Objects.requireNonNull(ioStream)))) {
+ while ((line = br.readLine()) != null) {
+ actual += line.replace("\uFEFF", "");
+ }
+ }
+
+ assertEquals(expected, actual);
+ }
+
+ @Test
+ public void whenInputFileHasBOM_thenUseBOMInputStream() throws IOException {
+ String line;
+ String actual = "";
+
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(new BOMInputStream(ioStream, false, ByteOrderMark.UTF_8, ByteOrderMark.UTF_16BE, ByteOrderMark.UTF_16LE, ByteOrderMark.UTF_32BE, ByteOrderMark.UTF_32LE)))) {
+ while ((line = br.readLine()) != null) {
+ actual += line;
+ }
+ }
+
+ assertEquals(expected, actual);
+ }
+
+ @Test
+ public void whenInputFileHasBOM_thenUseGoogleGdata() throws IOException {
+ char[] actual = new char[21];
+
+ try (Reader r = new UnicodeReader(ioStream, null)) {
+ r.read(actual);
+ }
+
+ assertEquals(expected, String.valueOf(actual));
+ }
+}
diff --git a/core-java-modules/core-java/src/test/resources/bom-file.txt b/core-java-modules/core-java/src/test/resources/bom-file.txt
new file mode 100644
index 0000000000..b2037fded6
--- /dev/null
+++ b/core-java-modules/core-java/src/test/resources/bom-file.txt
@@ -0,0 +1 @@
+Hello world with BOM.
\ No newline at end of file
diff --git a/graphql/graphql-dgs/pom.xml b/graphql/graphql-dgs/pom.xml
index 6165ae839f..56e261f14d 100644
--- a/graphql/graphql-dgs/pom.xml
+++ b/graphql/graphql-dgs/pom.xml
@@ -3,16 +3,14 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- com.baeldung.graphql-dgs
graphql-dgs
1.0
graphql-dgs
- com.baeldung
- parent-modules
+ com.baeldung.graphql
+ graphql
1.0.0-SNAPSHOT
- ../..
@@ -30,39 +28,22 @@
org.springframework.boot
- spring-boot-starter
- 2.6.2
-
-
- org.springframework.boot
- spring-boot-starter-test
- 2.6.2
- test
+ spring-boot-starter-web
com.netflix.graphql.dgs.codegen
graphql-dgs-codegen-client-core
- 5.1.14
-
-
- org.springframework.boot
- spring-boot-starter-web
- 2.6.2
+ ${graphql-dgs-codegen-client-core.version}
com.netflix.graphql.dgs
graphql-dgs-spring-boot-starter
- 4.9.15
+ ${graphql-dgs-spring-boot-starter.version}
-
- org.springframework.boot
- spring-boot-maven-plugin
- 2.6.2
-
io.github.deweyjose
graphqlcodegen-maven-plugin
@@ -84,4 +65,9 @@
+
+ 5.1.14
+ 4.9.15
+
+
\ No newline at end of file
diff --git a/graphql/graphql-error-handling/pom.xml b/graphql/graphql-error-handling/pom.xml
index 0cd00df3b9..ea1cf96a0e 100644
--- a/graphql/graphql-error-handling/pom.xml
+++ b/graphql/graphql-error-handling/pom.xml
@@ -3,24 +3,17 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- com.baeldung.graphql
graphql-error-handling
1.0
jar
graphql-error-handling
- com.baeldung
- parent-boot-2
- 0.0.1-SNAPSHOT
- ../../parent-boot-2
+ com.baeldung.graphql
+ graphql
+ 1.0.0-SNAPSHOT
-
- 1.8
- 1.18.18
-
-
org.springframework.boot
@@ -35,13 +28,13 @@
com.graphql-java
graphql-spring-boot-starter
- 5.0.2
+ ${graphql-spring-boot-starter.version}
com.graphql-java
graphql-java-tools
- 5.2.4
+ ${graphql-java-tools.version}
@@ -60,38 +53,28 @@
org.springframework.boot
spring-boot-test
test
- 2.6.4
com.graphql-java
graphql-spring-boot-starter-test
test
- 5.0.2
-
-
-
- org.assertj
- assertj-core
- 3.22.0
- test
+ ${graphql-spring-boot-starter.version}
org.skyscreamer
jsonassert
- 1.5.0
+ ${jsonassert.version}
test
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
+
+ 5.0.2
+ 5.2.4
+ 1.5.0
+
+
\ No newline at end of file
diff --git a/graphql/graphql-java/pom.xml b/graphql/graphql-java/pom.xml
index 068cb04ea8..5e5bc8f648 100644
--- a/graphql/graphql-java/pom.xml
+++ b/graphql/graphql-java/pom.xml
@@ -3,16 +3,14 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- com.baeldung.graphql
graphql-java
1.0
graphql-java
- com.baeldung
- parent-modules
+ com.baeldung.graphql
+ graphql
1.0.0-SNAPSHOT
- ../../pom.xml
@@ -44,12 +42,12 @@
com.github.americanexpress.nodes
nodes
- 0.5.0
+ ${nodes.version}
com.graphql-java
graphql-java
- 11.0
+ ${graphql-java.version}
com.graphql-java
@@ -77,16 +75,6 @@
jackson-core
${jackson.version}
-
- io.ratpack
- ratpack-core
- ${ratpack-core.version}
-
-
- com.github.americanexpress.nodes
- nodes
- ${nodes.version}
-
org.apache.commons
commons-lang3
@@ -117,20 +105,10 @@
${graphql-java-extended-scalars.version}
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven-compiler-plugin.version}
-
- ${maven.compiler.source}
- ${maven.compiler.target}
-
-
org.eclipse.jetty
jetty-maven-plugin
@@ -169,6 +147,7 @@
+ 11.0
5.2.4
6.1.3
3.0.3
@@ -182,8 +161,6 @@
10.0.7
- 1.8
- 1.8
1.18
2022-04-06T00-10-27-a70541e
diff --git a/graphql/graphql-spqr/pom.xml b/graphql/graphql-spqr/pom.xml
index c825be9b79..ad040c1557 100644
--- a/graphql/graphql-spqr/pom.xml
+++ b/graphql/graphql-spqr/pom.xml
@@ -2,30 +2,21 @@
-
4.0.0
- com.baeldung.graphql
graphql-spqr
1.0
- graphql-java
+ graphql-spqr
- com.baeldung
- parent-modules
+ com.baeldung.graphql
+ graphql
1.0.0-SNAPSHOT
- ../..
org.springframework.boot
spring-boot-starter-web
- ${spring-boot-version}
-
-
- org.springframework.boot
- spring-boot-starter
- ${spring-boot-version}
io.leangen.graphql
@@ -34,18 +25,7 @@
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
- 2.6.2
-
-
-
-
- 2.6.2
0.0.6
\ No newline at end of file
diff --git a/graphql/graphql-spqr/src/main/java/com/baeldung/spqr/BookService.java b/graphql/graphql-spqr/src/main/java/com/baeldung/spqr/BookService.java
index 7c9b129491..2e9c6d8367 100644
--- a/graphql/graphql-spqr/src/main/java/com/baeldung/spqr/BookService.java
+++ b/graphql/graphql-spqr/src/main/java/com/baeldung/spqr/BookService.java
@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.stream.Collectors;
@Service
@GraphQLApi
@@ -27,8 +28,7 @@ public class BookService implements IBookService {
@GraphQLQuery(name = "getAllBooks", description = "Get all books")
public List getAllBooks() {
- return books.stream()
- .toList();
+ return books.stream().collect(Collectors.toList());
}
@GraphQLMutation(name = "addBook")
diff --git a/graphql/pom.xml b/graphql/pom.xml
new file mode 100644
index 0000000000..aec097752a
--- /dev/null
+++ b/graphql/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+ com.baeldung.graphql
+ graphql
+ 1.0.0-SNAPSHOT
+ graphql
+ pom
+
+
+ com.baeldung
+ parent-boot-2
+ 0.0.1-SNAPSHOT
+ ../parent-boot-2
+
+
+
+ graphql-dgs
+ graphql-error-handling
+ graphql-java
+ graphql-spqr
+
+
+
\ No newline at end of file
diff --git a/persistence-modules/pom.xml b/persistence-modules/pom.xml
index f8e3cb05e8..132a8b6b20 100644
--- a/persistence-modules/pom.xml
+++ b/persistence-modules/pom.xml
@@ -88,6 +88,9 @@
spring-data-mongodb-reactive
spring-data-neo4j
spring-data-redis
+ spring-data-rest
+ spring-data-rest-2
+ spring-data-rest-querydsl
spring-data-solr
spring-hibernate-3
spring-hibernate-5
diff --git a/spring-data-rest-2/README.md b/persistence-modules/spring-data-rest-2/README.md
similarity index 100%
rename from spring-data-rest-2/README.md
rename to persistence-modules/spring-data-rest-2/README.md
diff --git a/spring-data-rest-2/pom.xml b/persistence-modules/spring-data-rest-2/pom.xml
similarity index 98%
rename from spring-data-rest-2/pom.xml
rename to persistence-modules/spring-data-rest-2/pom.xml
index cf3265c46d..fa328854a2 100644
--- a/spring-data-rest-2/pom.xml
+++ b/persistence-modules/spring-data-rest-2/pom.xml
@@ -13,7 +13,7 @@
com.baeldung
parent-boot-2
0.0.1-SNAPSHOT
- ../parent-boot-2
+ ../../parent-boot-2
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/books/SpringDataRestApplication.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/SpringDataRestApplication.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/books/SpringDataRestApplication.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/SpringDataRestApplication.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/books/config/DbConfig.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/config/DbConfig.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/books/config/DbConfig.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/config/DbConfig.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/books/config/RestConfig.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/config/RestConfig.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/books/config/RestConfig.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/config/RestConfig.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/books/config/ValidatorEventRegister.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/config/ValidatorEventRegister.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/books/config/ValidatorEventRegister.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/config/ValidatorEventRegister.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/books/exception/handlers/RestResponseEntityExceptionHandler.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/exception/handlers/RestResponseEntityExceptionHandler.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/books/exception/handlers/RestResponseEntityExceptionHandler.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/exception/handlers/RestResponseEntityExceptionHandler.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/books/models/WebsiteUser.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/models/WebsiteUser.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/books/models/WebsiteUser.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/models/WebsiteUser.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/books/repositories/UserRepository.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/repositories/UserRepository.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/books/repositories/UserRepository.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/repositories/UserRepository.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/books/validators/WebsiteUserValidator.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/validators/WebsiteUserValidator.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/books/validators/WebsiteUserValidator.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/books/validators/WebsiteUserValidator.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/App.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/App.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/halbrowser/App.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/App.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/config/DBLoader.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/config/DBLoader.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/halbrowser/config/DBLoader.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/config/DBLoader.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/config/RestConfig.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/config/RestConfig.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/halbrowser/config/RestConfig.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/config/RestConfig.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/data/BookRepository.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/data/BookRepository.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/halbrowser/data/BookRepository.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/data/BookRepository.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/model/Book.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/model/Book.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/halbrowser/model/Book.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/halbrowser/model/Book.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/Application.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/Application.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/Application.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/Application.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/controllers/UserController.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/controllers/UserController.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/controllers/UserController.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/controllers/UserController.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/entities/User.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/entities/User.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/entities/User.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/entities/User.java
diff --git a/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/repositories/UserRepository.java b/persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/repositories/UserRepository.java
similarity index 100%
rename from spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/repositories/UserRepository.java
rename to persistence-modules/spring-data-rest-2/src/main/java/com/baeldung/springdatawebsupport/application/repositories/UserRepository.java
diff --git a/spring-data-rest-2/src/main/resources/application.properties b/persistence-modules/spring-data-rest-2/src/main/resources/application.properties
similarity index 100%
rename from spring-data-rest-2/src/main/resources/application.properties
rename to persistence-modules/spring-data-rest-2/src/main/resources/application.properties
diff --git a/spring-data-rest-2/src/main/resources/logback.xml b/persistence-modules/spring-data-rest-2/src/main/resources/logback.xml
similarity index 100%
rename from spring-data-rest-2/src/main/resources/logback.xml
rename to persistence-modules/spring-data-rest-2/src/main/resources/logback.xml
diff --git a/spring-data-rest-2/src/main/resources/persistence-h2.properties b/persistence-modules/spring-data-rest-2/src/main/resources/persistence-h2.properties
similarity index 100%
rename from spring-data-rest-2/src/main/resources/persistence-h2.properties
rename to persistence-modules/spring-data-rest-2/src/main/resources/persistence-h2.properties
diff --git a/spring-data-rest-2/src/test/java/com/baeldung/SpringContextTest.java b/persistence-modules/spring-data-rest-2/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-data-rest-2/src/test/java/com/baeldung/SpringContextTest.java
rename to persistence-modules/spring-data-rest-2/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-data-rest-2/src/test/java/com/baeldung/books/validator/SpringDataRestValidatorIntegrationTest.java b/persistence-modules/spring-data-rest-2/src/test/java/com/baeldung/books/validator/SpringDataRestValidatorIntegrationTest.java
similarity index 100%
rename from spring-data-rest-2/src/test/java/com/baeldung/books/validator/SpringDataRestValidatorIntegrationTest.java
rename to persistence-modules/spring-data-rest-2/src/test/java/com/baeldung/books/validator/SpringDataRestValidatorIntegrationTest.java
diff --git a/spring-data-rest-2/src/test/java/com/baeldung/springdatawebsupport/application/test/UserControllerIntegrationTest.java b/persistence-modules/spring-data-rest-2/src/test/java/com/baeldung/springdatawebsupport/application/test/UserControllerIntegrationTest.java
similarity index 100%
rename from spring-data-rest-2/src/test/java/com/baeldung/springdatawebsupport/application/test/UserControllerIntegrationTest.java
rename to persistence-modules/spring-data-rest-2/src/test/java/com/baeldung/springdatawebsupport/application/test/UserControllerIntegrationTest.java
diff --git a/spring-data-rest-querydsl/README.md b/persistence-modules/spring-data-rest-querydsl/README.md
similarity index 100%
rename from spring-data-rest-querydsl/README.md
rename to persistence-modules/spring-data-rest-querydsl/README.md
diff --git a/spring-data-rest-querydsl/pom.xml b/persistence-modules/spring-data-rest-querydsl/pom.xml
similarity index 98%
rename from spring-data-rest-querydsl/pom.xml
rename to persistence-modules/spring-data-rest-querydsl/pom.xml
index 0b1cdd8928..dc1cf64006 100644
--- a/spring-data-rest-querydsl/pom.xml
+++ b/persistence-modules/spring-data-rest-querydsl/pom.xml
@@ -11,7 +11,7 @@
com.baeldung
parent-boot-2
0.0.1-SNAPSHOT
- ../parent-boot-2
+ ../../parent-boot-2
diff --git a/spring-data-rest-querydsl/src/main/java/com/baeldung/Application.java b/persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/Application.java
similarity index 100%
rename from spring-data-rest-querydsl/src/main/java/com/baeldung/Application.java
rename to persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/Application.java
diff --git a/spring-data-rest-querydsl/src/main/java/com/baeldung/controller/QueryController.java b/persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/controller/QueryController.java
similarity index 100%
rename from spring-data-rest-querydsl/src/main/java/com/baeldung/controller/QueryController.java
rename to persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/controller/QueryController.java
diff --git a/spring-data-rest-querydsl/src/main/java/com/baeldung/controller/repository/AddressRepository.java b/persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/controller/repository/AddressRepository.java
similarity index 100%
rename from spring-data-rest-querydsl/src/main/java/com/baeldung/controller/repository/AddressRepository.java
rename to persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/controller/repository/AddressRepository.java
diff --git a/spring-data-rest-querydsl/src/main/java/com/baeldung/controller/repository/UserRepository.java b/persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/controller/repository/UserRepository.java
similarity index 100%
rename from spring-data-rest-querydsl/src/main/java/com/baeldung/controller/repository/UserRepository.java
rename to persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/controller/repository/UserRepository.java
diff --git a/spring-data-rest-querydsl/src/main/java/com/baeldung/entity/Address.java b/persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/entity/Address.java
similarity index 100%
rename from spring-data-rest-querydsl/src/main/java/com/baeldung/entity/Address.java
rename to persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/entity/Address.java
diff --git a/spring-data-rest-querydsl/src/main/java/com/baeldung/entity/User.java b/persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/entity/User.java
similarity index 100%
rename from spring-data-rest-querydsl/src/main/java/com/baeldung/entity/User.java
rename to persistence-modules/spring-data-rest-querydsl/src/main/java/com/baeldung/entity/User.java
diff --git a/spring-data-rest-querydsl/src/main/resources/application.yml b/persistence-modules/spring-data-rest-querydsl/src/main/resources/application.yml
similarity index 100%
rename from spring-data-rest-querydsl/src/main/resources/application.yml
rename to persistence-modules/spring-data-rest-querydsl/src/main/resources/application.yml
diff --git a/spring-data-rest-querydsl/src/main/resources/logback.xml b/persistence-modules/spring-data-rest-querydsl/src/main/resources/logback.xml
similarity index 100%
rename from spring-data-rest-querydsl/src/main/resources/logback.xml
rename to persistence-modules/spring-data-rest-querydsl/src/main/resources/logback.xml
diff --git a/spring-data-rest-querydsl/src/test/java/com/baeldung/SpringContextTest.java b/persistence-modules/spring-data-rest-querydsl/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-data-rest-querydsl/src/test/java/com/baeldung/SpringContextTest.java
rename to persistence-modules/spring-data-rest-querydsl/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-data-rest-querydsl/src/test/java/com/baeldung/springdatarestquerydsl/IntegrationTest.java b/persistence-modules/spring-data-rest-querydsl/src/test/java/com/baeldung/springdatarestquerydsl/IntegrationTest.java
similarity index 100%
rename from spring-data-rest-querydsl/src/test/java/com/baeldung/springdatarestquerydsl/IntegrationTest.java
rename to persistence-modules/spring-data-rest-querydsl/src/test/java/com/baeldung/springdatarestquerydsl/IntegrationTest.java
diff --git a/spring-data-rest-querydsl/src/test/java/com/baeldung/springdatarestquerydsl/QuerydslIntegrationTest.java b/persistence-modules/spring-data-rest-querydsl/src/test/java/com/baeldung/springdatarestquerydsl/QuerydslIntegrationTest.java
similarity index 100%
rename from spring-data-rest-querydsl/src/test/java/com/baeldung/springdatarestquerydsl/QuerydslIntegrationTest.java
rename to persistence-modules/spring-data-rest-querydsl/src/test/java/com/baeldung/springdatarestquerydsl/QuerydslIntegrationTest.java
diff --git a/spring-data-rest-querydsl/src/test/resources/application.yml b/persistence-modules/spring-data-rest-querydsl/src/test/resources/application.yml
similarity index 100%
rename from spring-data-rest-querydsl/src/test/resources/application.yml
rename to persistence-modules/spring-data-rest-querydsl/src/test/resources/application.yml
diff --git a/spring-data-rest/README.md b/persistence-modules/spring-data-rest/README.md
similarity index 100%
rename from spring-data-rest/README.md
rename to persistence-modules/spring-data-rest/README.md
diff --git a/spring-data-rest/pom.xml b/persistence-modules/spring-data-rest/pom.xml
similarity index 98%
rename from spring-data-rest/pom.xml
rename to persistence-modules/spring-data-rest/pom.xml
index e223c0488e..f5601cb7ce 100644
--- a/spring-data-rest/pom.xml
+++ b/persistence-modules/spring-data-rest/pom.xml
@@ -13,7 +13,7 @@
com.baeldung
parent-boot-2
0.0.1-SNAPSHOT
- ../parent-boot-2
+ ../../parent-boot-2
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/SpringDataRestApplication.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/SpringDataRestApplication.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/SpringDataRestApplication.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/SpringDataRestApplication.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/config/DbConfig.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/config/DbConfig.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/config/DbConfig.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/config/DbConfig.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/config/MvcConfig.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/config/MvcConfig.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/config/MvcConfig.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/config/MvcConfig.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/config/RestConfig.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/config/RestConfig.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/config/RestConfig.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/config/RestConfig.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/dialect/SQLiteDialect.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/dialect/SQLiteDialect.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/dialect/SQLiteDialect.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/dialect/SQLiteDialect.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/dialect/SQLiteIdentityColumnSupport.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/dialect/SQLiteIdentityColumnSupport.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/dialect/SQLiteIdentityColumnSupport.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/dialect/SQLiteIdentityColumnSupport.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/events/AuthorEventHandler.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/events/AuthorEventHandler.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/events/AuthorEventHandler.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/events/AuthorEventHandler.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/events/BookEventHandler.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/events/BookEventHandler.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/events/BookEventHandler.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/events/BookEventHandler.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/models/Address.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Address.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/models/Address.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Address.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/models/Author.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Author.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/models/Author.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Author.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/models/Book.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Book.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/models/Book.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Book.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/models/Library.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Library.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/models/Library.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Library.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/models/Subject.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Subject.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/models/Subject.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/models/Subject.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/projections/CustomBook.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/projections/CustomBook.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/projections/CustomBook.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/projections/CustomBook.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/repositories/AddressRepository.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/AddressRepository.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/repositories/AddressRepository.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/AddressRepository.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/repositories/AuthorRepository.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/AuthorRepository.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/repositories/AuthorRepository.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/AuthorRepository.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/repositories/BookRepository.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/BookRepository.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/repositories/BookRepository.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/BookRepository.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/repositories/LibraryRepository.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/LibraryRepository.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/repositories/LibraryRepository.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/LibraryRepository.java
diff --git a/spring-data-rest/src/main/java/com/baeldung/books/repositories/SubjectRepository.java b/persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/SubjectRepository.java
similarity index 100%
rename from spring-data-rest/src/main/java/com/baeldung/books/repositories/SubjectRepository.java
rename to persistence-modules/spring-data-rest/src/main/java/com/baeldung/books/repositories/SubjectRepository.java
diff --git a/spring-data-rest/src/main/resources/application.properties b/persistence-modules/spring-data-rest/src/main/resources/application.properties
similarity index 100%
rename from spring-data-rest/src/main/resources/application.properties
rename to persistence-modules/spring-data-rest/src/main/resources/application.properties
diff --git a/spring-data-rest/src/main/resources/logback.xml b/persistence-modules/spring-data-rest/src/main/resources/logback.xml
similarity index 100%
rename from spring-data-rest/src/main/resources/logback.xml
rename to persistence-modules/spring-data-rest/src/main/resources/logback.xml
diff --git a/spring-data-rest/src/main/resources/persistence-derby.properties b/persistence-modules/spring-data-rest/src/main/resources/persistence-derby.properties
similarity index 100%
rename from spring-data-rest/src/main/resources/persistence-derby.properties
rename to persistence-modules/spring-data-rest/src/main/resources/persistence-derby.properties
diff --git a/spring-data-rest/src/main/resources/persistence-h2.properties b/persistence-modules/spring-data-rest/src/main/resources/persistence-h2.properties
similarity index 100%
rename from spring-data-rest/src/main/resources/persistence-h2.properties
rename to persistence-modules/spring-data-rest/src/main/resources/persistence-h2.properties
diff --git a/spring-data-rest/src/main/resources/persistence-hsqldb.properties b/persistence-modules/spring-data-rest/src/main/resources/persistence-hsqldb.properties
similarity index 100%
rename from spring-data-rest/src/main/resources/persistence-hsqldb.properties
rename to persistence-modules/spring-data-rest/src/main/resources/persistence-hsqldb.properties
diff --git a/spring-data-rest/src/main/resources/persistence-sqlite.properties b/persistence-modules/spring-data-rest/src/main/resources/persistence-sqlite.properties
similarity index 100%
rename from spring-data-rest/src/main/resources/persistence-sqlite.properties
rename to persistence-modules/spring-data-rest/src/main/resources/persistence-sqlite.properties
diff --git a/spring-data-rest/src/main/webapp/users.html b/persistence-modules/spring-data-rest/src/main/webapp/users.html
similarity index 100%
rename from spring-data-rest/src/main/webapp/users.html
rename to persistence-modules/spring-data-rest/src/main/webapp/users.html
diff --git a/spring-data-rest/src/main/webapp/view/app.js b/persistence-modules/spring-data-rest/src/main/webapp/view/app.js
similarity index 100%
rename from spring-data-rest/src/main/webapp/view/app.js
rename to persistence-modules/spring-data-rest/src/main/webapp/view/app.js
diff --git a/spring-data-rest/src/test/java/com/baeldung/SpringContextTest.java b/persistence-modules/spring-data-rest/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-data-rest/src/test/java/com/baeldung/SpringContextTest.java
rename to persistence-modules/spring-data-rest/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-data-rest/src/test/java/com/baeldung/books/events/AuthorEventHandlerUnitTest.java b/persistence-modules/spring-data-rest/src/test/java/com/baeldung/books/events/AuthorEventHandlerUnitTest.java
similarity index 100%
rename from spring-data-rest/src/test/java/com/baeldung/books/events/AuthorEventHandlerUnitTest.java
rename to persistence-modules/spring-data-rest/src/test/java/com/baeldung/books/events/AuthorEventHandlerUnitTest.java
diff --git a/spring-data-rest/src/test/java/com/baeldung/books/events/BookEventHandlerUnitTest.java b/persistence-modules/spring-data-rest/src/test/java/com/baeldung/books/events/BookEventHandlerUnitTest.java
similarity index 100%
rename from spring-data-rest/src/test/java/com/baeldung/books/events/BookEventHandlerUnitTest.java
rename to persistence-modules/spring-data-rest/src/test/java/com/baeldung/books/events/BookEventHandlerUnitTest.java
diff --git a/spring-data-rest/src/test/java/com/baeldung/books/projections/SpringDataProjectionLiveTest.java b/persistence-modules/spring-data-rest/src/test/java/com/baeldung/books/projections/SpringDataProjectionLiveTest.java
similarity index 100%
rename from spring-data-rest/src/test/java/com/baeldung/books/projections/SpringDataProjectionLiveTest.java
rename to persistence-modules/spring-data-rest/src/test/java/com/baeldung/books/projections/SpringDataProjectionLiveTest.java
diff --git a/pom.xml b/pom.xml
index 25aeebef9d..802f8ea43c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -415,8 +415,7 @@
- graphql/graphql-java
- graphql/graphql-dgs
+ graphql
grpc
gson
guava-modules
@@ -644,9 +643,6 @@
spring-core-5
spring-cucumber
- spring-data-rest
- spring-data-rest-2
- spring-data-rest-querydsl
spring-di
spring-di-2
spring-di-3
@@ -896,8 +892,7 @@
- graphql/graphql-java
- graphql/graphql-dgs
+ graphql
grpc
gson
guava-modules
@@ -1119,9 +1114,6 @@
spring-core-5
spring-cucumber
- spring-data-rest
- spring-data-rest-2
- spring-data-rest-querydsl
spring-di
spring-di-2
spring-di-3