diff --git a/cas-secured-app/.mvn/wrapper/maven-wrapper.jar b/cas-secured-app/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 9cc84ea9b4..0000000000 Binary files a/cas-secured-app/.mvn/wrapper/maven-wrapper.jar and /dev/null differ diff --git a/cas-secured-app/.mvn/wrapper/maven-wrapper.properties b/cas-secured-app/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index c315043703..0000000000 --- a/cas-secured-app/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1 +0,0 @@ -distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip diff --git a/cas-secured-app/README.md b/cas-secured-app/README.md deleted file mode 100644 index ff12555376..0000000000 --- a/cas-secured-app/README.md +++ /dev/null @@ -1 +0,0 @@ -## Relevant articles: diff --git a/cas-secured-app/mvnw b/cas-secured-app/mvnw deleted file mode 100644 index 5bf251c077..0000000000 --- a/cas-secured-app/mvnw +++ /dev/null @@ -1,225 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven2 Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Migwn, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" - # TODO classpath? -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -echo $MAVEN_PROJECTBASEDIR -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/cas-secured-app/mvnw.cmd b/cas-secured-app/mvnw.cmd deleted file mode 100644 index 019bd74d76..0000000000 --- a/cas-secured-app/mvnw.cmd +++ /dev/null @@ -1,143 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven2 Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" - -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% diff --git a/cas-secured-app/.gitignore b/cas/cas-secured-app/.gitignore similarity index 87% rename from cas-secured-app/.gitignore rename to cas/cas-secured-app/.gitignore index 2af7cefb0a..cd4878159f 100644 --- a/cas-secured-app/.gitignore +++ b/cas/cas-secured-app/.gitignore @@ -21,4 +21,7 @@ build/ nbbuild/ dist/ nbdist/ -.nb-gradle/ \ No newline at end of file +.nb-gradle/ +/.mvn/ +/mvnw +/mvnw.cmd \ No newline at end of file diff --git a/cas-secured-app/pom.xml b/cas/cas-secured-app/pom.xml similarity index 63% rename from cas-secured-app/pom.xml rename to cas/cas-secured-app/pom.xml index 0548e0c315..f66d54ae67 100644 --- a/cas-secured-app/pom.xml +++ b/cas/cas-secured-app/pom.xml @@ -106,75 +106,5 @@ - - - integration - - - - org.apache.maven.plugins - maven-surefire-plugin - - - integration-test - - test - - - - **/*LiveTest.java - **/AutoconfigurationTest.java - - - **/*IntegrationTest.java - - - - - - - json - - - - - - - - autoconfiguration - - - - org.apache.maven.plugins - maven-surefire-plugin - - - integration-test - - test - - - - **/*LiveTest.java - **/*IntegrationTest.java - - - **/AutoconfigurationTest.java - - - - - - - json - - - - - - - - - diff --git a/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/CasSecuredAppApplication.java b/cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/CasSecuredAppApplication.java similarity index 100% rename from cas-secured-app/src/main/java/com/baeldung/cassecuredapp/CasSecuredAppApplication.java rename to cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/CasSecuredAppApplication.java diff --git a/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/config/SecurityConfig.java b/cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/config/SecurityConfig.java similarity index 100% rename from cas-secured-app/src/main/java/com/baeldung/cassecuredapp/config/SecurityConfig.java rename to cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/config/SecurityConfig.java diff --git a/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/AuthController.java b/cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/AuthController.java similarity index 100% rename from cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/AuthController.java rename to cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/AuthController.java diff --git a/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/IndexController.java b/cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/IndexController.java similarity index 100% rename from cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/IndexController.java rename to cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/IndexController.java diff --git a/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/SecuredPageController.java b/cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/SecuredPageController.java similarity index 100% rename from cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/SecuredPageController.java rename to cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/controllers/SecuredPageController.java diff --git a/cas-secured-app/src/main/resources/application.properties b/cas/cas-secured-app/src/main/resources/application.properties similarity index 100% rename from cas-secured-app/src/main/resources/application.properties rename to cas/cas-secured-app/src/main/resources/application.properties diff --git a/cas-secured-app/src/main/resources/templates/auth/logout.ftl b/cas/cas-secured-app/src/main/resources/templates/auth/logout.ftl similarity index 100% rename from cas-secured-app/src/main/resources/templates/auth/logout.ftl rename to cas/cas-secured-app/src/main/resources/templates/auth/logout.ftl diff --git a/cas-secured-app/src/main/resources/templates/index.ftl b/cas/cas-secured-app/src/main/resources/templates/index.ftl similarity index 100% rename from cas-secured-app/src/main/resources/templates/index.ftl rename to cas/cas-secured-app/src/main/resources/templates/index.ftl diff --git a/cas-secured-app/src/main/resources/templates/secure/index.ftl b/cas/cas-secured-app/src/main/resources/templates/secure/index.ftl similarity index 100% rename from cas-secured-app/src/main/resources/templates/secure/index.ftl rename to cas/cas-secured-app/src/main/resources/templates/secure/index.ftl diff --git a/cas-secured-app/src/test/java/com/baeldung/cassecuredapp/CasSecuredAppApplicationIntegrationTest.java b/cas/cas-secured-app/src/test/java/com/baeldung/cassecuredapp/CasSecuredAppApplicationTests.java similarity index 84% rename from cas-secured-app/src/test/java/com/baeldung/cassecuredapp/CasSecuredAppApplicationIntegrationTest.java rename to cas/cas-secured-app/src/test/java/com/baeldung/cassecuredapp/CasSecuredAppApplicationTests.java index 2f2644e2ea..09dbaf0c61 100644 --- a/cas-secured-app/src/test/java/com/baeldung/cassecuredapp/CasSecuredAppApplicationIntegrationTest.java +++ b/cas/cas-secured-app/src/test/java/com/baeldung/cassecuredapp/CasSecuredAppApplicationTests.java @@ -7,7 +7,7 @@ import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest -public class CasSecuredAppApplicationIntegrationTest { +public class CasSecuredAppApplicationTests { @Test public void contextLoads() { diff --git a/cas-server/.gitignore b/cas/cas-server/.gitignore similarity index 100% rename from cas-server/.gitignore rename to cas/cas-server/.gitignore diff --git a/cas-server/LICENSE.txt b/cas/cas-server/LICENSE.txt similarity index 100% rename from cas-server/LICENSE.txt rename to cas/cas-server/LICENSE.txt diff --git a/cas-server/README.md b/cas/cas-server/README.md similarity index 100% rename from cas-server/README.md rename to cas/cas-server/README.md diff --git a/cas-server/build.cmd b/cas/cas-server/build.cmd similarity index 100% rename from cas-server/build.cmd rename to cas/cas-server/build.cmd diff --git a/cas-server/build.sh b/cas/cas-server/build.sh similarity index 100% rename from cas-server/build.sh rename to cas/cas-server/build.sh diff --git a/cas-server/etc/cas/config/application.yml b/cas/cas-server/etc/cas/config/application.yml similarity index 100% rename from cas-server/etc/cas/config/application.yml rename to cas/cas-server/etc/cas/config/application.yml diff --git a/cas-server/etc/cas/config/cas.properties b/cas/cas-server/etc/cas/config/cas.properties similarity index 100% rename from cas-server/etc/cas/config/cas.properties rename to cas/cas-server/etc/cas/config/cas.properties diff --git a/cas-server/etc/cas/config/log4j2.xml b/cas/cas-server/etc/cas/config/log4j2.xml similarity index 100% rename from cas-server/etc/cas/config/log4j2.xml rename to cas/cas-server/etc/cas/config/log4j2.xml diff --git a/cas-server/etc/cas/thekeystore b/cas/cas-server/etc/cas/thekeystore similarity index 100% rename from cas-server/etc/cas/thekeystore rename to cas/cas-server/etc/cas/thekeystore diff --git a/cas-server/etc/cas/thekeystore.crt b/cas/cas-server/etc/cas/thekeystore.crt similarity index 100% rename from cas-server/etc/cas/thekeystore.crt rename to cas/cas-server/etc/cas/thekeystore.crt diff --git a/cas-server/maven/maven-wrapper.properties b/cas/cas-server/maven/maven-wrapper.properties similarity index 100% rename from cas-server/maven/maven-wrapper.properties rename to cas/cas-server/maven/maven-wrapper.properties diff --git a/cas-server/mvnw b/cas/cas-server/mvnw similarity index 100% rename from cas-server/mvnw rename to cas/cas-server/mvnw diff --git a/cas-server/mvnw.bat b/cas/cas-server/mvnw.bat similarity index 100% rename from cas-server/mvnw.bat rename to cas/cas-server/mvnw.bat diff --git a/cas-server/pom.xml b/cas/cas-server/pom.xml similarity index 100% rename from cas-server/pom.xml rename to cas/cas-server/pom.xml diff --git a/cas-server/src/main/resources/application.properties b/cas/cas-server/src/main/resources/application.properties similarity index 100% rename from cas-server/src/main/resources/application.properties rename to cas/cas-server/src/main/resources/application.properties diff --git a/cas-server/src/main/resources/cas.properties b/cas/cas-server/src/main/resources/cas.properties similarity index 100% rename from cas-server/src/main/resources/cas.properties rename to cas/cas-server/src/main/resources/cas.properties diff --git a/cas-server/src/main/resources/services/casSecuredApp.json b/cas/cas-server/src/main/resources/services/casSecuredApp.json similarity index 100% rename from cas-server/src/main/resources/services/casSecuredApp.json rename to cas/cas-server/src/main/resources/services/casSecuredApp.json diff --git a/core-java-concurrency/src/test/java/com/baeldung/concurrent/runnable/RunnableVsThreadTest.java b/core-java-concurrency/src/test/java/com/baeldung/concurrent/runnable/RunnableVsThreadTest.java index d0f4460f51..4bd4848905 100644 --- a/core-java-concurrency/src/test/java/com/baeldung/concurrent/runnable/RunnableVsThreadTest.java +++ b/core-java-concurrency/src/test/java/com/baeldung/concurrent/runnable/RunnableVsThreadTest.java @@ -8,7 +8,9 @@ import java.util.concurrent.Future; import org.apache.commons.lang3.RandomUtils; import org.junit.After; +import org.junit.AfterClass; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,22 +20,34 @@ public class RunnableVsThreadTest { private static Logger log = LoggerFactory.getLogger(RunnableVsThreadTest.class); + private static ExecutorService executorService; + + @BeforeClass + public static void setup() { + executorService = Executors.newCachedThreadPool(); + } + @Test public void givenARunnable_whenRunIt_thenResult() throws Exception{ Thread thread = new Thread(new SimpleRunnable( "SimpleRunnable executed using Thread")); thread.start(); thread.join(); - - ExecutorService executorService = - Executors.newCachedThreadPool(); + } + + @Test + public void givenARunnable_whenSubmitToES_thenResult() throws Exception{ executorService.submit(new SimpleRunnable( "SimpleRunnable executed using ExecutorService")).get(); + } + + @Test + public void givenARunnableLambda_whenSubmitToES_thenResult() + throws Exception{ executorService.submit(()-> log.info("Lambda runnable executed!!!")).get(); - executorService.shutdown(); } @Test @@ -42,26 +56,39 @@ public class RunnableVsThreadTest { "SimpleThread executed using Thread"); thread.start(); thread.join(); + } + + @Test + public void givenAThread_whenSubmitToES_thenResult() throws Exception{ - ExecutorService executorService = - Executors.newCachedThreadPool(); executorService.submit(new SimpleThread( "SimpleThread executed using ExecutorService")).get(); } @Test - public void givenACallable_whenRunIt_thenResult() throws Exception { - ExecutorService executorService = - Executors.newCachedThreadPool(); + public void givenACallable_whenSubmitToES_thenResult() throws Exception { - Future future = executorService.submit(new SimpleCallable()); + Future future = executorService.submit( + new SimpleCallable()); log.info("Result from callable: {}", future.get()); + } + + @Test + public void givenACallableAsLambda_whenSubmitToES_thenResult() + throws Exception { - future = executorService.submit(() -> { + Future future = executorService.submit(() -> { return RandomUtils.nextInt(0, 100); - }); + }); + log.info("Result from callable: {}", future.get()); - + } + + @AfterClass + public static void tearDown() { + if ( executorService != null && !executorService.isShutdown()) { + executorService.shutdown(); + } } } @@ -107,4 +134,5 @@ class SimpleCallable implements Callable { return RandomUtils.nextInt(0, 100); } -} \ No newline at end of file +} + diff --git a/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseDuration.kt b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseDuration.kt new file mode 100644 index 0000000000..40fb161c08 --- /dev/null +++ b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseDuration.kt @@ -0,0 +1,15 @@ +package com.baeldung.datetime + +import java.time.Duration +import java.time.LocalTime + +class UseDuration { + + fun modifyDates(localTime: LocalTime, duration: Duration): LocalTime { + return localTime.plus(duration) + } + + fun getDifferenceBetweenDates(localTime1: LocalTime, localTime2: LocalTime): Duration { + return Duration.between(localTime1, localTime2) + } +} \ No newline at end of file diff --git a/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseLocalDate.kt b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseLocalDate.kt new file mode 100644 index 0000000000..250c071bbe --- /dev/null +++ b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseLocalDate.kt @@ -0,0 +1,42 @@ +package com.baeldung.datetime + +import java.time.DayOfWeek +import java.time.LocalDate +import java.time.LocalDateTime +import java.time.temporal.ChronoUnit +import java.time.temporal.TemporalAdjusters + +class UseLocalDate { + + fun getLocalDateUsingFactoryOfMethod(year: Int, month: Int, dayOfMonth: Int): LocalDate { + return LocalDate.of(year, month, dayOfMonth) + } + + fun getLocalDateUsingParseMethod(representation: String): LocalDate { + return LocalDate.parse(representation) + } + + fun getLocalDateFromClock(): LocalDate { + return LocalDate.now() + } + + fun getNextDay(localDate: LocalDate): LocalDate { + return localDate.plusDays(1) + } + + fun getPreviousDay(localDate: LocalDate): LocalDate { + return localDate.minus(1, ChronoUnit.DAYS) + } + + fun getDayOfWeek(localDate: LocalDate): DayOfWeek { + return localDate.dayOfWeek + } + + fun getFirstDayOfMonth(): LocalDate { + return LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()) + } + + fun getStartOfDay(localDate: LocalDate): LocalDateTime { + return localDate.atStartOfDay() + } +} \ No newline at end of file diff --git a/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseLocalDateTime.kt b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseLocalDateTime.kt new file mode 100644 index 0000000000..ab7bbfcee1 --- /dev/null +++ b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseLocalDateTime.kt @@ -0,0 +1,10 @@ +package com.baeldung.datetime + +import java.time.LocalDateTime + +class UseLocalDateTime { + + fun getLocalDateTimeUsingParseMethod(representation: String): LocalDateTime { + return LocalDateTime.parse(representation) + } +} \ No newline at end of file diff --git a/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseLocalTime.kt b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseLocalTime.kt new file mode 100644 index 0000000000..152515621f --- /dev/null +++ b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseLocalTime.kt @@ -0,0 +1,32 @@ +package com.baeldung.datetime + +import java.time.LocalDateTime +import java.time.LocalTime +import java.time.temporal.ChronoUnit + +class UseLocalTime { + + fun getLocalTimeUsingFactoryOfMethod(hour: Int, min: Int, seconds: Int): LocalTime { + return LocalTime.of(hour, min, seconds) + } + + fun getLocalTimeUsingParseMethod(timeRepresentation: String): LocalTime { + return LocalTime.parse(timeRepresentation) + } + + fun getLocalTimeFromClock(): LocalTime { + return LocalTime.now() + } + + fun addAnHour(localTime: LocalTime): LocalTime { + return localTime.plus(1, ChronoUnit.HOURS) + } + + fun getHourFromLocalTime(localTime: LocalTime): Int { + return localTime.hour + } + + fun getLocalTimeWithMinuteSetToValue(localTime: LocalTime, minute: Int): LocalTime { + return localTime.withMinute(minute) + } +} \ No newline at end of file diff --git a/core-kotlin/src/main/kotlin/com/baeldung/datetime/UsePeriod.kt b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UsePeriod.kt new file mode 100644 index 0000000000..df66a3d546 --- /dev/null +++ b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UsePeriod.kt @@ -0,0 +1,15 @@ +package com.baeldung.datetime + +import java.time.LocalDate +import java.time.Period + +class UsePeriod { + + fun modifyDates(localDate: LocalDate, period: Period): LocalDate { + return localDate.plus(period) + } + + fun getDifferenceBetweenDates(localDate1: LocalDate, localDate2: LocalDate): Period { + return Period.between(localDate1, localDate2) + } +} \ No newline at end of file diff --git a/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseZonedDateTime.kt b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseZonedDateTime.kt new file mode 100644 index 0000000000..fd1838bd2d --- /dev/null +++ b/core-kotlin/src/main/kotlin/com/baeldung/datetime/UseZonedDateTime.kt @@ -0,0 +1,12 @@ +package com.baeldung.datetime + +import java.time.LocalDateTime +import java.time.ZoneId +import java.time.ZonedDateTime + +class UseZonedDateTime { + + fun getZonedDateTime(localDateTime: LocalDateTime, zoneId: ZoneId): ZonedDateTime { + return ZonedDateTime.of(localDateTime, zoneId) + } +} \ No newline at end of file diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseLocalDateTimeUnitTest.kt b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseLocalDateTimeUnitTest.kt new file mode 100644 index 0000000000..8f9f8374ed --- /dev/null +++ b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseLocalDateTimeUnitTest.kt @@ -0,0 +1,23 @@ +package com.baeldung.kotlin.datetime + +import com.baeldung.datetime.UseLocalDateTime +import java.time.LocalDate +import java.time.LocalTime +import java.time.Month + +import org.junit.Test + +import org.junit.Assert.assertEquals + +class UseLocalDateTimeUnitTest { + + var useLocalDateTime = UseLocalDateTime() + + @Test + fun givenString_whenUsingParse_thenLocalDateTime() { + assertEquals(LocalDate.of(2016, Month.MAY, 10), useLocalDateTime.getLocalDateTimeUsingParseMethod("2016-05-10T06:30") + .toLocalDate()) + assertEquals(LocalTime.of(6, 30), useLocalDateTime.getLocalDateTimeUsingParseMethod("2016-05-10T06:30") + .toLocalTime()) + } +} \ No newline at end of file diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseLocalDateUnitTest.kt b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseLocalDateUnitTest.kt new file mode 100644 index 0000000000..ac42e91c6c --- /dev/null +++ b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseLocalDateUnitTest.kt @@ -0,0 +1,59 @@ +package com.baeldung.kotlin.datetime + +import com.baeldung.datetime.UseLocalDate +import org.junit.Assert +import org.junit.Test +import java.time.DayOfWeek +import java.time.LocalDate +import java.time.LocalDateTime + +class UseLocalDateUnitTest { + + var useLocalDate = UseLocalDate() + + @Test + fun givenValues_whenUsingFactoryOf_thenLocalDate() { + Assert.assertEquals("2016-05-10", useLocalDate.getLocalDateUsingFactoryOfMethod(2016, 5, 10) + .toString()) + } + + @Test + fun givenString_whenUsingParse_thenLocalDate() { + Assert.assertEquals("2016-05-10", useLocalDate.getLocalDateUsingParseMethod("2016-05-10") + .toString()) + } + + @Test + fun whenUsingClock_thenLocalDate() { + Assert.assertEquals(LocalDate.now(), useLocalDate.getLocalDateFromClock()) + } + + @Test + fun givenDate_whenUsingPlus_thenNextDay() { + Assert.assertEquals(LocalDate.now() + .plusDays(1), useLocalDate.getNextDay(LocalDate.now())) + } + + @Test + fun givenDate_whenUsingMinus_thenPreviousDay() { + Assert.assertEquals(LocalDate.now() + .minusDays(1), useLocalDate.getPreviousDay(LocalDate.now())) + } + + @Test + fun givenToday_whenUsingGetDayOfWeek_thenDayOfWeek() { + Assert.assertEquals(DayOfWeek.SUNDAY, useLocalDate.getDayOfWeek(LocalDate.parse("2016-05-22"))) + } + + @Test + fun givenToday_whenUsingWithTemporalAdjuster_thenFirstDayOfMonth() { + Assert.assertEquals(1, useLocalDate.getFirstDayOfMonth() + .dayOfMonth.toLong()) + } + + @Test + fun givenLocalDate_whenUsingAtStartOfDay_thenReturnMidnight() { + Assert.assertEquals(LocalDateTime.parse("2016-05-22T00:00:00"), useLocalDate.getStartOfDay(LocalDate.parse("2016-05-22"))) + } + +} \ No newline at end of file diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseLocalTimeUnitTest.kt b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseLocalTimeUnitTest.kt new file mode 100644 index 0000000000..83fc57f850 --- /dev/null +++ b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseLocalTimeUnitTest.kt @@ -0,0 +1,37 @@ +package com.baeldung.kotlin.datetime + +import com.baeldung.datetime.UseLocalTime +import java.time.LocalTime + +import org.junit.Assert +import org.junit.Test + +class UseLocalTimeUnitTest { + + internal var useLocalTime = UseLocalTime() + + @Test + fun givenValues_whenUsingFactoryOf_thenLocalTime() { + Assert.assertEquals("07:07:07", useLocalTime.getLocalTimeUsingFactoryOfMethod(7, 7, 7).toString()) + } + + @Test + fun givenString_whenUsingParse_thenLocalTime() { + Assert.assertEquals("06:30", useLocalTime.getLocalTimeUsingParseMethod("06:30").toString()) + } + + @Test + fun givenTime_whenAddHour_thenLocalTime() { + Assert.assertEquals("07:30", useLocalTime.addAnHour(LocalTime.of(6, 30)).toString()) + } + + @Test + fun getHourFromLocalTime() { + Assert.assertEquals(1, useLocalTime.getHourFromLocalTime(LocalTime.of(1, 1)).toLong()) + } + + @Test + fun getLocalTimeWithMinuteSetToValue() { + Assert.assertEquals(LocalTime.of(10, 20), useLocalTime.getLocalTimeWithMinuteSetToValue(LocalTime.of(10, 10), 20)) + } +} \ No newline at end of file diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UsePeriodUnitTest.kt b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UsePeriodUnitTest.kt new file mode 100644 index 0000000000..48be72feb0 --- /dev/null +++ b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UsePeriodUnitTest.kt @@ -0,0 +1,28 @@ +package com.baeldung.kotlin.datetime + +import com.baeldung.datetime.UsePeriod +import java.time.LocalDate +import java.time.Period + +import org.junit.Assert +import org.junit.Test + +class UsePeriodUnitTest { + + var usingPeriod = UsePeriod() + + @Test + fun givenPeriodAndLocalDate_thenCalculateModifiedDate() { + val period = Period.ofDays(1) + val localDate = LocalDate.parse("2007-05-10") + Assert.assertEquals(localDate.plusDays(1), usingPeriod.modifyDates(localDate, period)) + } + + @Test + fun givenDates_thenGetPeriod() { + val localDate1 = LocalDate.parse("2007-05-10") + val localDate2 = LocalDate.parse("2007-05-15") + + Assert.assertEquals(Period.ofDays(5), usingPeriod.getDifferenceBetweenDates(localDate1, localDate2)) + } +} \ No newline at end of file diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseZonedDateTimeUnitTest.kt b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseZonedDateTimeUnitTest.kt new file mode 100644 index 0000000000..a9d7d973ef --- /dev/null +++ b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/datetime/UseZonedDateTimeUnitTest.kt @@ -0,0 +1,19 @@ +package com.baeldung.kotlin.datetime + +import com.baeldung.datetime.UseZonedDateTime +import org.junit.Assert +import org.junit.Test +import java.time.LocalDateTime +import java.time.ZoneId + +class UseZonedDateTimeUnitTest { + + internal var zonedDateTime = UseZonedDateTime() + + @Test + fun givenZoneId_thenZonedDateTime() { + val zoneId = ZoneId.of("Europe/Paris") + val zonedDatetime = zonedDateTime.getZonedDateTime(LocalDateTime.parse("2016-05-20T06:30"), zoneId) + Assert.assertEquals(zoneId, ZoneId.from(zonedDatetime)) + } +} \ No newline at end of file diff --git a/ejb/wildfly/wildfly-jpa/src/main/resources/META-INF/persistence.xml b/ejb/wildfly/wildfly-jpa/src/main/resources/META-INF/persistence.xml index 1a3fc32381..2aa6bc2cd7 100644 --- a/ejb/wildfly/wildfly-jpa/src/main/resources/META-INF/persistence.xml +++ b/ejb/wildfly/wildfly-jpa/src/main/resources/META-INF/persistence.xml @@ -3,7 +3,13 @@ xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> - java:/PostgresDS + java:/H2DS model.User + + + + + + diff --git a/ejb/wildfly/wildfly-jpa/src/main/resources/data.sql b/ejb/wildfly/wildfly-jpa/src/main/resources/data.sql new file mode 100644 index 0000000000..03eafa534e --- /dev/null +++ b/ejb/wildfly/wildfly-jpa/src/main/resources/data.sql @@ -0,0 +1 @@ +INSERT INTO users (username, email, postal_number) VALUES ('user1', 'user1@baeldung.com', 1000), ('user2', 'user2@baeldung.com', 2); \ No newline at end of file diff --git a/hibernate5/pom.xml b/hibernate5/pom.xml index c501b7f11d..8543d1dae3 100644 --- a/hibernate5/pom.xml +++ b/hibernate5/pom.xml @@ -22,13 +22,19 @@ org.hibernate hibernate-core - 5.2.9.Final + 5.2.12.Final junit junit 4.12 + + org.assertj + assertj-core + 3.8.0 + test + com.h2database h2 diff --git a/hibernate5/src/main/java/com/baeldung/hibernate/HibernateMultiTenantUtil.java b/hibernate5/src/main/java/com/baeldung/hibernate/HibernateMultiTenantUtil.java index 5a10b2ba56..30f3c3cf53 100644 --- a/hibernate5/src/main/java/com/baeldung/hibernate/HibernateMultiTenantUtil.java +++ b/hibernate5/src/main/java/com/baeldung/hibernate/HibernateMultiTenantUtil.java @@ -68,7 +68,7 @@ public class HibernateMultiTenantUtil { Properties properties = new Properties(); URL propertiesURL = Thread.currentThread() .getContextClassLoader() - .getResource("hibernate.properties"); + .getResource("hibernate-multitenancy.properties"); FileInputStream inputStream = new FileInputStream(propertiesURL.getFile()); properties.load(inputStream); System.out.println("LOADED PROPERTIES FROM hibernate.properties"); diff --git a/hibernate5/src/main/java/com/baeldung/hibernate/HibernateUtil.java b/hibernate5/src/main/java/com/baeldung/hibernate/HibernateUtil.java index c1f7301d46..91392bd454 100644 --- a/hibernate5/src/main/java/com/baeldung/hibernate/HibernateUtil.java +++ b/hibernate5/src/main/java/com/baeldung/hibernate/HibernateUtil.java @@ -1,24 +1,58 @@ package com.baeldung.hibernate; +import com.baeldung.hibernate.pojo.Employee; +import com.baeldung.hibernate.pojo.EntityDescription; +import com.baeldung.hibernate.pojo.Phone; import org.hibernate.SessionFactory; -import org.hibernate.cfg.Configuration; +import org.hibernate.boot.Metadata; +import org.hibernate.boot.MetadataSources; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; +import org.hibernate.service.ServiceRegistry; + +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URL; +import java.util.Properties; public class HibernateUtil { + private static SessionFactory sessionFactory; - private static final SessionFactory sessionFactory; - - static { - try { - Configuration configuration = new Configuration().configure(); - sessionFactory = configuration.buildSessionFactory(); - - } catch (Throwable ex) { - System.err.println("Initial SessionFactory creation failed." + ex); - throw new ExceptionInInitializerError(ex); + public static SessionFactory getSessionFactory() throws IOException { + if (sessionFactory == null) { + ServiceRegistry serviceRegistry = configureServiceRegistry(); + sessionFactory = makeSessionFactory(serviceRegistry); } - } - - public static SessionFactory getSessionFactory() { return sessionFactory; } + + private static SessionFactory makeSessionFactory(ServiceRegistry serviceRegistry) { + MetadataSources metadataSources = new MetadataSources(serviceRegistry); + metadataSources.addPackage("com.baeldung.hibernate.pojo"); + metadataSources.addAnnotatedClass(Employee.class); + metadataSources.addAnnotatedClass(Phone.class); + metadataSources.addAnnotatedClass(EntityDescription.class); + + Metadata metadata = metadataSources.buildMetadata(); + return metadata.getSessionFactoryBuilder() + .build(); + + } + + private static ServiceRegistry configureServiceRegistry() throws IOException { + Properties properties = getProperties(); + return new StandardServiceRegistryBuilder().applySettings(properties) + .build(); + } + + private static Properties getProperties() throws IOException { + Properties properties = new Properties(); + URL propertiesURL = Thread.currentThread() + .getContextClassLoader() + .getResource("hibernate.properties"); + try (FileInputStream inputStream = new FileInputStream(propertiesURL.getFile())) { + properties.load(inputStream); + } + return properties; + } + } \ No newline at end of file diff --git a/hibernate5/src/main/java/com/baeldung/hibernate/pojo/Employee.java b/hibernate5/src/main/java/com/baeldung/hibernate/pojo/Employee.java new file mode 100644 index 0000000000..e9732b2b67 --- /dev/null +++ b/hibernate5/src/main/java/com/baeldung/hibernate/pojo/Employee.java @@ -0,0 +1,87 @@ +package com.baeldung.hibernate.pojo; + +import org.hibernate.annotations.*; + +import javax.persistence.Entity; +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +@Entity +@Where(clause = "deleted = false") +@FilterDef(name = "incomeLevelFilter", parameters = @ParamDef(name = "incomeLimit", type = "int")) +@Filter(name = "incomeLevelFilter", condition = "grossIncome > :incomeLimit") +public class Employee implements Serializable { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + + private long grossIncome; + + private int taxInPercents; + + private boolean deleted; + + public long getTaxJavaWay() { + return grossIncome * taxInPercents / 100; + } + + @Formula("grossIncome * taxInPercents / 100") + private long tax; + + @OneToMany + @JoinColumn(name = "employee_id") + @Where(clause = "deleted = false") + private Set phones = new HashSet<>(0); + + public Employee() { + } + + public Employee(long grossIncome, int taxInPercents) { + this.grossIncome = grossIncome; + this.taxInPercents = taxInPercents; + } + + public Integer getId() { + return id; + } + + public long getGrossIncome() { + return grossIncome; + } + + public int getTaxInPercents() { + return taxInPercents; + } + + public long getTax() { + return tax; + } + + public void setId(Integer id) { + this.id = id; + } + + public void setGrossIncome(long grossIncome) { + this.grossIncome = grossIncome; + } + + public void setTaxInPercents(int taxInPercents) { + this.taxInPercents = taxInPercents; + } + + public boolean getDeleted() { + return deleted; + } + + public void setDeleted(boolean deleted) { + this.deleted = deleted; + } + + public Set getPhones() { + return phones; + } + +} diff --git a/hibernate5/src/main/java/com/baeldung/hibernate/pojo/EntityDescription.java b/hibernate5/src/main/java/com/baeldung/hibernate/pojo/EntityDescription.java new file mode 100644 index 0000000000..131bb73a80 --- /dev/null +++ b/hibernate5/src/main/java/com/baeldung/hibernate/pojo/EntityDescription.java @@ -0,0 +1,55 @@ +package com.baeldung.hibernate.pojo; + +import org.hibernate.annotations.Any; + +import javax.persistence.*; +import java.io.Serializable; + +@Entity +public class EntityDescription implements Serializable { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + + private String description; + + @Any( + metaDef = "EntityDescriptionMetaDef", + metaColumn = @Column(name = "entity_type") + ) + @JoinColumn(name = "entity_id") + private Serializable entity; + + public EntityDescription() { + } + + public EntityDescription(String description, Serializable entity) { + this.description = description; + this.entity = entity; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Serializable getEntity() { + return entity; + } + + public void setEntity(Serializable entity) { + this.entity = entity; + } +} diff --git a/hibernate5/src/main/java/com/baeldung/hibernate/pojo/Phone.java b/hibernate5/src/main/java/com/baeldung/hibernate/pojo/Phone.java new file mode 100644 index 0000000000..d923bda5de --- /dev/null +++ b/hibernate5/src/main/java/com/baeldung/hibernate/pojo/Phone.java @@ -0,0 +1,50 @@ +package com.baeldung.hibernate.pojo; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import java.io.Serializable; + +@Entity +public class Phone implements Serializable { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + + private boolean deleted; + + private String number; + + public Phone() { + } + + public Phone(String number) { + this.number = number; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public boolean isDeleted() { + return deleted; + } + + public void setDeleted(boolean deleted) { + this.deleted = deleted; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } +} diff --git a/hibernate5/src/main/java/com/baeldung/hibernate/pojo/package-info.java b/hibernate5/src/main/java/com/baeldung/hibernate/pojo/package-info.java new file mode 100644 index 0000000000..992cda7c1d --- /dev/null +++ b/hibernate5/src/main/java/com/baeldung/hibernate/pojo/package-info.java @@ -0,0 +1,9 @@ +@AnyMetaDef(name = "EntityDescriptionMetaDef", metaType = "string", idType = "int", + metaValues = { + @MetaValue(value = "Employee", targetEntity = Employee.class), + @MetaValue(value = "Phone", targetEntity = Phone.class) + }) +package com.baeldung.hibernate.pojo; + +import org.hibernate.annotations.AnyMetaDef; +import org.hibernate.annotations.MetaValue; \ No newline at end of file diff --git a/hibernate5/src/test/java/com/baeldung/hibernate/DynamicMappingIntegrationTest.java b/hibernate5/src/test/java/com/baeldung/hibernate/DynamicMappingIntegrationTest.java new file mode 100644 index 0000000000..b207d6630a --- /dev/null +++ b/hibernate5/src/test/java/com/baeldung/hibernate/DynamicMappingIntegrationTest.java @@ -0,0 +1,164 @@ +package com.baeldung.hibernate; + +import com.baeldung.hibernate.pojo.Employee; +import com.baeldung.hibernate.pojo.EntityDescription; +import com.baeldung.hibernate.pojo.Phone; +import org.hibernate.Session; +import org.hibernate.Transaction; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.io.IOException; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class DynamicMappingIntegrationTest { + + private Session session; + + private Transaction transaction; + + @Before + public void setUp() throws IOException { + session = HibernateUtil.getSessionFactory().openSession(); + transaction = session.beginTransaction(); + + session.createNativeQuery("delete from phone").executeUpdate(); + session.createNativeQuery("delete from employee").executeUpdate(); + + transaction.commit(); + transaction = session.beginTransaction(); + } + + @After + public void tearDown() { + transaction.rollback(); + session.close(); + } + + @Test + public void givenEntity_whenFieldMappedWithFormula_thenFieldIsCalculated() { + Employee employee = new Employee(10_000L, 25); + assertThat(employee.getTaxJavaWay()).isEqualTo(2_500L); + + session.save(employee); + session.flush(); + session.clear(); + + employee = session.get(Employee.class, employee.getId()); + assertThat(employee.getTax()).isEqualTo(2_500L); + } + + @Test + public void givenEntityMappedWithWhere_whenDeletedIsTrue_thenEntityNotFetched() { + Employee employee = new Employee(); + + session.save(employee); + session.clear(); + + employee = session.find(Employee.class, employee.getId()); + assertThat(employee).isNotNull(); + + employee.setDeleted(true); + session.flush(); + + employee = session.find(Employee.class, employee.getId()); + assertThat(employee).isNotNull(); + + session.clear(); + + employee = session.find(Employee.class, employee.getId()); + assertThat(employee).isNull(); + + } + + @Test + public void givenCollectionMappedWithWhere_whenDeletedIsTrue_thenEntityNotFetched() { + Employee employee = new Employee(); + Phone phone1 = new Phone("555-45-67"); + Phone phone2 = new Phone("555-89-01"); + employee.getPhones().add(phone1); + employee.getPhones().add(phone2); + + session.save(phone1); + session.save(phone2); + session.save(employee); + session.flush(); + session.clear(); + + employee = session.find(Employee.class, employee.getId()); + assertThat(employee.getPhones()).hasSize(2); + + employee.getPhones().iterator().next().setDeleted(true); + session.flush(); + session.clear(); + + employee = session.find(Employee.class, employee.getId()); + assertThat(employee.getPhones()).hasSize(1); + + List fullPhoneList = session.createQuery("from Phone").getResultList(); + assertThat(fullPhoneList).hasSize(2); + + } + + @Test + public void givenFilterByIncome_whenIncomeLimitSet_thenFilterIsApplied() throws IOException { + session.save(new Employee(10_000, 25)); + session.save(new Employee(12_000, 25)); + session.save(new Employee(15_000, 25)); + + session.flush(); + session.clear(); + + session.enableFilter("incomeLevelFilter") + .setParameter("incomeLimit", 11_000); + + List employees = session.createQuery("from Employee").getResultList(); + + assertThat(employees).hasSize(2); + + Employee employee = session.get(Employee.class, 1); + assertThat(employee.getGrossIncome()).isEqualTo(10_000); + + session.close(); + + session = HibernateUtil.getSessionFactory().openSession(); + transaction = session.beginTransaction(); + + employees = session.createQuery("from Employee").getResultList(); + + assertThat(employees).hasSize(3); + + } + + @Test + public void givenMappingWithAny_whenDescriptionAddedToEntity_thenDescriptionCanReferAnyEntity() { + Employee employee = new Employee(); + Phone phone1 = new Phone("555-45-67"); + Phone phone2 = new Phone("555-89-01"); + employee.getPhones().add(phone1); + employee.getPhones().add(phone2); + + EntityDescription employeeDescription = new EntityDescription("Send to conference next year", employee); + EntityDescription phone1Description = new EntityDescription("Home phone (do not call after 10PM)", phone1); + EntityDescription phone2Description = new EntityDescription("Work phone", phone1); + + session.save(phone1); + session.save(phone2); + session.save(employee); + session.save(employeeDescription); + session.save(phone1Description); + session.save(phone2Description); + session.flush(); + session.clear(); + + List descriptions = session.createQuery("from EntityDescription").getResultList(); + + assertThat(Employee.class.isAssignableFrom(descriptions.get(0).getEntity().getClass())).isTrue(); + assertThat(Phone.class.isAssignableFrom(descriptions.get(1).getEntity().getClass())).isTrue(); + assertThat(Phone.class.isAssignableFrom(descriptions.get(2).getEntity().getClass())).isTrue(); + } + +} diff --git a/hibernate5/src/test/resources/hibernate-multitenancy.properties b/hibernate5/src/test/resources/hibernate-multitenancy.properties new file mode 100644 index 0000000000..298ecd05d3 --- /dev/null +++ b/hibernate5/src/test/resources/hibernate-multitenancy.properties @@ -0,0 +1,9 @@ +hibernate.connection.driver_class=org.h2.Driver +hibernate.connection.url=jdbc:h2:mem:mydb1;DB_CLOSE_DELAY=-1 +hibernate.connection.username=sa +hibernate.connection.autocommit=true +jdbc.password= + +hibernate.dialect=org.hibernate.dialect.H2Dialect +hibernate.show_sql=true +hibernate.multiTenancy=DATABASE diff --git a/hibernate5/src/test/resources/hibernate.properties b/hibernate5/src/test/resources/hibernate.properties index 298ecd05d3..7b8764637b 100644 --- a/hibernate5/src/test/resources/hibernate.properties +++ b/hibernate5/src/test/resources/hibernate.properties @@ -6,4 +6,4 @@ jdbc.password= hibernate.dialect=org.hibernate.dialect.H2Dialect hibernate.show_sql=true -hibernate.multiTenancy=DATABASE +hibernate.hbm2ddl.auto=create-drop \ No newline at end of file diff --git a/junit5/README.md b/junit5/README.md index a3bb8fc1be..d0fa19bd83 100644 --- a/junit5/README.md +++ b/junit5/README.md @@ -6,4 +6,4 @@ - [Guide to Dynamic Tests in Junit 5](http://www.baeldung.com/junit5-dynamic-tests) - [A Guied to JUnit 5 Extensions](http://www.baeldung.com/junit-5-extensions) - [Inject Parameters into JUnit Jupiter Unit Tests](http://www.baeldung.com/junit-5-parameters) - +- [Mockito and JUnit 5 – Using ExtendWith](http://www.baeldung.com/mockito-junit-5-extension) diff --git a/java-cassandra/README.md b/persistence-modules/java-cassandra/README.md similarity index 100% rename from java-cassandra/README.md rename to persistence-modules/java-cassandra/README.md diff --git a/java-cassandra/pom.xml b/persistence-modules/java-cassandra/pom.xml similarity index 98% rename from java-cassandra/pom.xml rename to persistence-modules/java-cassandra/pom.xml index 12df920e7d..faaabb9e2e 100644 --- a/java-cassandra/pom.xml +++ b/persistence-modules/java-cassandra/pom.xml @@ -11,6 +11,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/CassandraClient.java b/persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/CassandraClient.java similarity index 100% rename from java-cassandra/src/main/java/com/baeldung/cassandra/java/client/CassandraClient.java rename to persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/CassandraClient.java diff --git a/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/CassandraConnector.java b/persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/CassandraConnector.java similarity index 100% rename from java-cassandra/src/main/java/com/baeldung/cassandra/java/client/CassandraConnector.java rename to persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/CassandraConnector.java diff --git a/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/domain/Book.java b/persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/domain/Book.java similarity index 100% rename from java-cassandra/src/main/java/com/baeldung/cassandra/java/client/domain/Book.java rename to persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/domain/Book.java diff --git a/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/repository/BookRepository.java b/persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/repository/BookRepository.java similarity index 100% rename from java-cassandra/src/main/java/com/baeldung/cassandra/java/client/repository/BookRepository.java rename to persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/repository/BookRepository.java diff --git a/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/repository/KeyspaceRepository.java b/persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/repository/KeyspaceRepository.java similarity index 100% rename from java-cassandra/src/main/java/com/baeldung/cassandra/java/client/repository/KeyspaceRepository.java rename to persistence-modules/java-cassandra/src/main/java/com/baeldung/cassandra/java/client/repository/KeyspaceRepository.java diff --git a/java-cassandra/src/test/java/com/baeldung/cassandra/java/client/repository/BookRepositoryIntegrationTest.java b/persistence-modules/java-cassandra/src/test/java/com/baeldung/cassandra/java/client/repository/BookRepositoryIntegrationTest.java similarity index 100% rename from java-cassandra/src/test/java/com/baeldung/cassandra/java/client/repository/BookRepositoryIntegrationTest.java rename to persistence-modules/java-cassandra/src/test/java/com/baeldung/cassandra/java/client/repository/BookRepositoryIntegrationTest.java diff --git a/java-cassandra/src/test/java/com/baeldung/cassandra/java/client/repository/KeyspaceRepositoryIntegrationTest.java b/persistence-modules/java-cassandra/src/test/java/com/baeldung/cassandra/java/client/repository/KeyspaceRepositoryIntegrationTest.java similarity index 100% rename from java-cassandra/src/test/java/com/baeldung/cassandra/java/client/repository/KeyspaceRepositoryIntegrationTest.java rename to persistence-modules/java-cassandra/src/test/java/com/baeldung/cassandra/java/client/repository/KeyspaceRepositoryIntegrationTest.java diff --git a/java-mongodb/.gitignore b/persistence-modules/java-mongodb/.gitignore similarity index 100% rename from java-mongodb/.gitignore rename to persistence-modules/java-mongodb/.gitignore diff --git a/java-mongodb/README.md b/persistence-modules/java-mongodb/README.md similarity index 100% rename from java-mongodb/README.md rename to persistence-modules/java-mongodb/README.md diff --git a/java-mongodb/pom.xml b/persistence-modules/java-mongodb/pom.xml similarity index 97% rename from java-mongodb/pom.xml rename to persistence-modules/java-mongodb/pom.xml index 304d961b0a..aab48921a6 100644 --- a/java-mongodb/pom.xml +++ b/persistence-modules/java-mongodb/pom.xml @@ -11,6 +11,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/java-mongodb/src/main/java/com/baeldung/MongoExample.java b/persistence-modules/java-mongodb/src/main/java/com/baeldung/MongoExample.java similarity index 100% rename from java-mongodb/src/main/java/com/baeldung/MongoExample.java rename to persistence-modules/java-mongodb/src/main/java/com/baeldung/MongoExample.java diff --git a/java-mongodb/src/test/java/com/baeldung/AppIntegrationTest.java b/persistence-modules/java-mongodb/src/test/java/com/baeldung/AppIntegrationTest.java similarity index 100% rename from java-mongodb/src/test/java/com/baeldung/AppIntegrationTest.java rename to persistence-modules/java-mongodb/src/test/java/com/baeldung/AppIntegrationTest.java diff --git a/liquibase/README.md b/persistence-modules/liquibase/README.md similarity index 100% rename from liquibase/README.md rename to persistence-modules/liquibase/README.md diff --git a/liquibase/pom.xml b/persistence-modules/liquibase/pom.xml similarity index 96% rename from liquibase/pom.xml rename to persistence-modules/liquibase/pom.xml index d26acc8c98..020c2516a2 100644 --- a/liquibase/pom.xml +++ b/persistence-modules/liquibase/pom.xml @@ -6,6 +6,7 @@ parent-modules com.baeldung 1.0.0-SNAPSHOT + ../ 4.0.0 diff --git a/liquibase/src/main/resources/liquibase/db-changelog.xml b/persistence-modules/liquibase/src/main/resources/liquibase/db-changelog.xml similarity index 100% rename from liquibase/src/main/resources/liquibase/db-changelog.xml rename to persistence-modules/liquibase/src/main/resources/liquibase/db-changelog.xml diff --git a/liquibase/src/main/resources/liquibase/liquibase.properties b/persistence-modules/liquibase/src/main/resources/liquibase/liquibase.properties similarity index 100% rename from liquibase/src/main/resources/liquibase/liquibase.properties rename to persistence-modules/liquibase/src/main/resources/liquibase/liquibase.properties diff --git a/querydsl/README.md b/persistence-modules/querydsl/README.md similarity index 100% rename from querydsl/README.md rename to persistence-modules/querydsl/README.md diff --git a/querydsl/pom.xml b/persistence-modules/querydsl/pom.xml similarity index 99% rename from querydsl/pom.xml rename to persistence-modules/querydsl/pom.xml index 6c968f01e4..27f383e0c6 100644 --- a/querydsl/pom.xml +++ b/persistence-modules/querydsl/pom.xml @@ -15,6 +15,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/querydsl/src/main/java/org/baeldung/dao/PersonDao.java b/persistence-modules/querydsl/src/main/java/org/baeldung/dao/PersonDao.java similarity index 100% rename from querydsl/src/main/java/org/baeldung/dao/PersonDao.java rename to persistence-modules/querydsl/src/main/java/org/baeldung/dao/PersonDao.java diff --git a/querydsl/src/main/java/org/baeldung/dao/PersonDaoImpl.java b/persistence-modules/querydsl/src/main/java/org/baeldung/dao/PersonDaoImpl.java similarity index 100% rename from querydsl/src/main/java/org/baeldung/dao/PersonDaoImpl.java rename to persistence-modules/querydsl/src/main/java/org/baeldung/dao/PersonDaoImpl.java diff --git a/querydsl/src/main/java/org/baeldung/entity/Person.java b/persistence-modules/querydsl/src/main/java/org/baeldung/entity/Person.java similarity index 100% rename from querydsl/src/main/java/org/baeldung/entity/Person.java rename to persistence-modules/querydsl/src/main/java/org/baeldung/entity/Person.java diff --git a/querydsl/src/main/java/org/baeldung/querydsl/intro/entities/BlogPost.java b/persistence-modules/querydsl/src/main/java/org/baeldung/querydsl/intro/entities/BlogPost.java similarity index 100% rename from querydsl/src/main/java/org/baeldung/querydsl/intro/entities/BlogPost.java rename to persistence-modules/querydsl/src/main/java/org/baeldung/querydsl/intro/entities/BlogPost.java diff --git a/querydsl/src/main/java/org/baeldung/querydsl/intro/entities/User.java b/persistence-modules/querydsl/src/main/java/org/baeldung/querydsl/intro/entities/User.java similarity index 100% rename from querydsl/src/main/java/org/baeldung/querydsl/intro/entities/User.java rename to persistence-modules/querydsl/src/main/java/org/baeldung/querydsl/intro/entities/User.java diff --git a/querydsl/src/main/resources/META-INF/persistence.xml b/persistence-modules/querydsl/src/main/resources/META-INF/persistence.xml similarity index 100% rename from querydsl/src/main/resources/META-INF/persistence.xml rename to persistence-modules/querydsl/src/main/resources/META-INF/persistence.xml diff --git a/querydsl/src/main/resources/logback.xml b/persistence-modules/querydsl/src/main/resources/logback.xml similarity index 100% rename from querydsl/src/main/resources/logback.xml rename to persistence-modules/querydsl/src/main/resources/logback.xml diff --git a/querydsl/src/test/java/org/baeldung/dao/PersonDaoIntegrationTest.java b/persistence-modules/querydsl/src/test/java/org/baeldung/dao/PersonDaoIntegrationTest.java similarity index 100% rename from querydsl/src/test/java/org/baeldung/dao/PersonDaoIntegrationTest.java rename to persistence-modules/querydsl/src/test/java/org/baeldung/dao/PersonDaoIntegrationTest.java diff --git a/querydsl/src/test/java/org/baeldung/querydsl/intro/QueryDSLIntegrationTest.java b/persistence-modules/querydsl/src/test/java/org/baeldung/querydsl/intro/QueryDSLIntegrationTest.java similarity index 100% rename from querydsl/src/test/java/org/baeldung/querydsl/intro/QueryDSLIntegrationTest.java rename to persistence-modules/querydsl/src/test/java/org/baeldung/querydsl/intro/QueryDSLIntegrationTest.java diff --git a/querydsl/src/test/resources/db.properties b/persistence-modules/querydsl/src/test/resources/db.properties similarity index 100% rename from querydsl/src/test/resources/db.properties rename to persistence-modules/querydsl/src/test/resources/db.properties diff --git a/querydsl/src/test/resources/test-context.xml b/persistence-modules/querydsl/src/test/resources/test-context.xml similarity index 100% rename from querydsl/src/test/resources/test-context.xml rename to persistence-modules/querydsl/src/test/resources/test-context.xml diff --git a/querydsl/src/test/resources/test-db.xml b/persistence-modules/querydsl/src/test/resources/test-db.xml similarity index 100% rename from querydsl/src/test/resources/test-db.xml rename to persistence-modules/querydsl/src/test/resources/test-db.xml diff --git a/redis/README.md b/persistence-modules/redis/README.md similarity index 100% rename from redis/README.md rename to persistence-modules/redis/README.md diff --git a/redis/pom.xml b/persistence-modules/redis/pom.xml similarity index 96% rename from redis/pom.xml rename to persistence-modules/redis/pom.xml index db454188a7..ef081a2c69 100644 --- a/redis/pom.xml +++ b/persistence-modules/redis/pom.xml @@ -15,6 +15,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/redis/src/main/java/com/baeldung/CustomMessage.java b/persistence-modules/redis/src/main/java/com/baeldung/CustomMessage.java similarity index 100% rename from redis/src/main/java/com/baeldung/CustomMessage.java rename to persistence-modules/redis/src/main/java/com/baeldung/CustomMessage.java diff --git a/redis/src/main/java/com/baeldung/Ledger.java b/persistence-modules/redis/src/main/java/com/baeldung/Ledger.java similarity index 100% rename from redis/src/main/java/com/baeldung/Ledger.java rename to persistence-modules/redis/src/main/java/com/baeldung/Ledger.java diff --git a/redis/src/main/java/com/baeldung/LedgerLiveObject.java b/persistence-modules/redis/src/main/java/com/baeldung/LedgerLiveObject.java similarity index 100% rename from redis/src/main/java/com/baeldung/LedgerLiveObject.java rename to persistence-modules/redis/src/main/java/com/baeldung/LedgerLiveObject.java diff --git a/redis/src/main/java/com/baeldung/LedgerServiceImpl.java b/persistence-modules/redis/src/main/java/com/baeldung/LedgerServiceImpl.java similarity index 100% rename from redis/src/main/java/com/baeldung/LedgerServiceImpl.java rename to persistence-modules/redis/src/main/java/com/baeldung/LedgerServiceImpl.java diff --git a/redis/src/main/java/com/baeldung/LedgerServiceInterface.java b/persistence-modules/redis/src/main/java/com/baeldung/LedgerServiceInterface.java similarity index 100% rename from redis/src/main/java/com/baeldung/LedgerServiceInterface.java rename to persistence-modules/redis/src/main/java/com/baeldung/LedgerServiceInterface.java diff --git a/redis/src/main/resources/singleNodeConfig.json b/persistence-modules/redis/src/main/resources/singleNodeConfig.json similarity index 100% rename from redis/src/main/resources/singleNodeConfig.json rename to persistence-modules/redis/src/main/resources/singleNodeConfig.json diff --git a/redis/src/main/resources/singleNodeConfig.yaml b/persistence-modules/redis/src/main/resources/singleNodeConfig.yaml similarity index 100% rename from redis/src/main/resources/singleNodeConfig.yaml rename to persistence-modules/redis/src/main/resources/singleNodeConfig.yaml diff --git a/redis/src/test/java/com/baeldung/JedisIntegrationTest.java b/persistence-modules/redis/src/test/java/com/baeldung/JedisIntegrationTest.java similarity index 100% rename from redis/src/test/java/com/baeldung/JedisIntegrationTest.java rename to persistence-modules/redis/src/test/java/com/baeldung/JedisIntegrationTest.java diff --git a/redis/src/test/java/com/baeldung/RedissonConfigurationIntegrationTest.java b/persistence-modules/redis/src/test/java/com/baeldung/RedissonConfigurationIntegrationTest.java similarity index 100% rename from redis/src/test/java/com/baeldung/RedissonConfigurationIntegrationTest.java rename to persistence-modules/redis/src/test/java/com/baeldung/RedissonConfigurationIntegrationTest.java diff --git a/redis/src/test/java/com/baeldung/RedissonIntegrationTest.java b/persistence-modules/redis/src/test/java/com/baeldung/RedissonIntegrationTest.java similarity index 100% rename from redis/src/test/java/com/baeldung/RedissonIntegrationTest.java rename to persistence-modules/redis/src/test/java/com/baeldung/RedissonIntegrationTest.java diff --git a/solr/README.md b/persistence-modules/solr/README.md similarity index 100% rename from solr/README.md rename to persistence-modules/solr/README.md diff --git a/solr/pom.xml b/persistence-modules/solr/pom.xml similarity index 93% rename from solr/pom.xml rename to persistence-modules/solr/pom.xml index 1b26a21edc..2fd0bdd721 100644 --- a/solr/pom.xml +++ b/persistence-modules/solr/pom.xml @@ -12,6 +12,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/solr/src/main/java/com/baeldung/solr/fulltext/search/model/Item.java b/persistence-modules/solr/src/main/java/com/baeldung/solr/fulltext/search/model/Item.java similarity index 100% rename from solr/src/main/java/com/baeldung/solr/fulltext/search/model/Item.java rename to persistence-modules/solr/src/main/java/com/baeldung/solr/fulltext/search/model/Item.java diff --git a/solr/src/main/java/com/baeldung/solr/fulltext/search/service/ItemSearchService.java b/persistence-modules/solr/src/main/java/com/baeldung/solr/fulltext/search/service/ItemSearchService.java similarity index 100% rename from solr/src/main/java/com/baeldung/solr/fulltext/search/service/ItemSearchService.java rename to persistence-modules/solr/src/main/java/com/baeldung/solr/fulltext/search/service/ItemSearchService.java diff --git a/solr/src/main/java/com/baeldung/solr/fulltext/search/service/ItemSearchServiceImpl.java b/persistence-modules/solr/src/main/java/com/baeldung/solr/fulltext/search/service/ItemSearchServiceImpl.java similarity index 100% rename from solr/src/main/java/com/baeldung/solr/fulltext/search/service/ItemSearchServiceImpl.java rename to persistence-modules/solr/src/main/java/com/baeldung/solr/fulltext/search/service/ItemSearchServiceImpl.java diff --git a/solr/src/test/java/com/baeldung/solr/fulltext/search/service/ItemSearchServiceLiveTest.java b/persistence-modules/solr/src/test/java/com/baeldung/solr/fulltext/search/service/ItemSearchServiceLiveTest.java similarity index 100% rename from solr/src/test/java/com/baeldung/solr/fulltext/search/service/ItemSearchServiceLiveTest.java rename to persistence-modules/solr/src/test/java/com/baeldung/solr/fulltext/search/service/ItemSearchServiceLiveTest.java diff --git a/spring-data-cassandra/README.md b/persistence-modules/spring-data-cassandra/README.md similarity index 100% rename from spring-data-cassandra/README.md rename to persistence-modules/spring-data-cassandra/README.md diff --git a/spring-data-cassandra/pom.xml b/persistence-modules/spring-data-cassandra/pom.xml similarity index 99% rename from spring-data-cassandra/pom.xml rename to persistence-modules/spring-data-cassandra/pom.xml index fbc2071134..607d7b90ba 100644 --- a/spring-data-cassandra/pom.xml +++ b/persistence-modules/spring-data-cassandra/pom.xml @@ -13,6 +13,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/config/CassandraConfig.java b/persistence-modules/spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/config/CassandraConfig.java similarity index 100% rename from spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/config/CassandraConfig.java rename to persistence-modules/spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/config/CassandraConfig.java diff --git a/spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/model/Book.java b/persistence-modules/spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/model/Book.java similarity index 100% rename from spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/model/Book.java rename to persistence-modules/spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/model/Book.java diff --git a/spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/repository/BookRepository.java b/persistence-modules/spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/repository/BookRepository.java similarity index 100% rename from spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/repository/BookRepository.java rename to persistence-modules/spring-data-cassandra/src/main/java/org/baeldung/spring/data/cassandra/repository/BookRepository.java diff --git a/spring-data-cassandra/src/main/resources/cassandra.properties b/persistence-modules/spring-data-cassandra/src/main/resources/cassandra.properties similarity index 100% rename from spring-data-cassandra/src/main/resources/cassandra.properties rename to persistence-modules/spring-data-cassandra/src/main/resources/cassandra.properties diff --git a/spring-data-cassandra/src/main/resources/logback.xml b/persistence-modules/spring-data-cassandra/src/main/resources/logback.xml similarity index 100% rename from spring-data-cassandra/src/main/resources/logback.xml rename to persistence-modules/spring-data-cassandra/src/main/resources/logback.xml diff --git a/spring-data-cassandra/src/main/resources/test.png b/persistence-modules/spring-data-cassandra/src/main/resources/test.png similarity index 100% rename from spring-data-cassandra/src/main/resources/test.png rename to persistence-modules/spring-data-cassandra/src/main/resources/test.png diff --git a/spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/BookRepositoryIntegrationTest.java b/persistence-modules/spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/BookRepositoryIntegrationTest.java similarity index 100% rename from spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/BookRepositoryIntegrationTest.java rename to persistence-modules/spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/BookRepositoryIntegrationTest.java diff --git a/spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/CassandraTemplateIntegrationTest.java b/persistence-modules/spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/CassandraTemplateIntegrationTest.java similarity index 100% rename from spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/CassandraTemplateIntegrationTest.java rename to persistence-modules/spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/CassandraTemplateIntegrationTest.java diff --git a/spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/CqlQueriesIntegrationTest.java b/persistence-modules/spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/CqlQueriesIntegrationTest.java similarity index 100% rename from spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/CqlQueriesIntegrationTest.java rename to persistence-modules/spring-data-cassandra/src/test/java/org/baeldung/spring/data/cassandra/repository/CqlQueriesIntegrationTest.java diff --git a/spring-data-dynamodb/.gitignore b/persistence-modules/spring-data-dynamodb/.gitignore similarity index 100% rename from spring-data-dynamodb/.gitignore rename to persistence-modules/spring-data-dynamodb/.gitignore diff --git a/spring-data-dynamodb/README.MD b/persistence-modules/spring-data-dynamodb/README.MD similarity index 100% rename from spring-data-dynamodb/README.MD rename to persistence-modules/spring-data-dynamodb/README.MD diff --git a/spring-data-dynamodb/pom.xml b/persistence-modules/spring-data-dynamodb/pom.xml similarity index 96% rename from spring-data-dynamodb/pom.xml rename to persistence-modules/spring-data-dynamodb/pom.xml index 11bbbdf40f..bf90779c29 100644 --- a/spring-data-dynamodb/pom.xml +++ b/persistence-modules/spring-data-dynamodb/pom.xml @@ -12,7 +12,7 @@ parent-boot-5 com.baeldung 0.0.1-SNAPSHOT - ../parent-boot-5 + ../../parent-boot-5 diff --git a/spring-data-dynamodb/src/main/java/com/baeldung/Application.java b/persistence-modules/spring-data-dynamodb/src/main/java/com/baeldung/Application.java similarity index 100% rename from spring-data-dynamodb/src/main/java/com/baeldung/Application.java rename to persistence-modules/spring-data-dynamodb/src/main/java/com/baeldung/Application.java diff --git a/spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/config/DynamoDBConfig.java b/persistence-modules/spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/config/DynamoDBConfig.java similarity index 100% rename from spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/config/DynamoDBConfig.java rename to persistence-modules/spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/config/DynamoDBConfig.java diff --git a/spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/model/ProductInfo.java b/persistence-modules/spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/model/ProductInfo.java similarity index 100% rename from spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/model/ProductInfo.java rename to persistence-modules/spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/model/ProductInfo.java diff --git a/spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/repositories/ProductInfoRepository.java b/persistence-modules/spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/repositories/ProductInfoRepository.java similarity index 100% rename from spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/repositories/ProductInfoRepository.java rename to persistence-modules/spring-data-dynamodb/src/main/java/com/baeldung/spring/data/dynamodb/repositories/ProductInfoRepository.java diff --git a/spring-data-dynamodb/src/main/resources/application.properties b/persistence-modules/spring-data-dynamodb/src/main/resources/application.properties similarity index 100% rename from spring-data-dynamodb/src/main/resources/application.properties rename to persistence-modules/spring-data-dynamodb/src/main/resources/application.properties diff --git a/spring-data-dynamodb/src/main/resources/demo.properties b/persistence-modules/spring-data-dynamodb/src/main/resources/demo.properties similarity index 100% rename from spring-data-dynamodb/src/main/resources/demo.properties rename to persistence-modules/spring-data-dynamodb/src/main/resources/demo.properties diff --git a/spring-data-dynamodb/src/main/resources/logback.xml b/persistence-modules/spring-data-dynamodb/src/main/resources/logback.xml similarity index 100% rename from spring-data-dynamodb/src/main/resources/logback.xml rename to persistence-modules/spring-data-dynamodb/src/main/resources/logback.xml diff --git a/spring-data-dynamodb/src/main/resources/templates/index.html b/persistence-modules/spring-data-dynamodb/src/main/resources/templates/index.html similarity index 100% rename from spring-data-dynamodb/src/main/resources/templates/index.html rename to persistence-modules/spring-data-dynamodb/src/main/resources/templates/index.html diff --git a/spring-data-dynamodb/src/test/java/com/baeldung/spring/data/dynamodb/repository/ProductInfoRepositoryIntegrationTest.java b/persistence-modules/spring-data-dynamodb/src/test/java/com/baeldung/spring/data/dynamodb/repository/ProductInfoRepositoryIntegrationTest.java similarity index 100% rename from spring-data-dynamodb/src/test/java/com/baeldung/spring/data/dynamodb/repository/ProductInfoRepositoryIntegrationTest.java rename to persistence-modules/spring-data-dynamodb/src/test/java/com/baeldung/spring/data/dynamodb/repository/ProductInfoRepositoryIntegrationTest.java diff --git a/spring-data-dynamodb/src/test/resources/application.properties b/persistence-modules/spring-data-dynamodb/src/test/resources/application.properties similarity index 100% rename from spring-data-dynamodb/src/test/resources/application.properties rename to persistence-modules/spring-data-dynamodb/src/test/resources/application.properties diff --git a/spring-data-dynamodb/src/test/resources/exception-hibernate.properties b/persistence-modules/spring-data-dynamodb/src/test/resources/exception-hibernate.properties similarity index 100% rename from spring-data-dynamodb/src/test/resources/exception-hibernate.properties rename to persistence-modules/spring-data-dynamodb/src/test/resources/exception-hibernate.properties diff --git a/spring-data-dynamodb/src/test/resources/exception.properties b/persistence-modules/spring-data-dynamodb/src/test/resources/exception.properties similarity index 100% rename from spring-data-dynamodb/src/test/resources/exception.properties rename to persistence-modules/spring-data-dynamodb/src/test/resources/exception.properties diff --git a/spring-data-gemfire/README.md b/persistence-modules/spring-data-gemfire/README.md similarity index 100% rename from spring-data-gemfire/README.md rename to persistence-modules/spring-data-gemfire/README.md diff --git a/spring-data-gemfire/pom.xml b/persistence-modules/spring-data-gemfire/pom.xml similarity index 97% rename from spring-data-gemfire/pom.xml rename to persistence-modules/spring-data-gemfire/pom.xml index ae7612d719..9108865b4c 100644 --- a/spring-data-gemfire/pom.xml +++ b/persistence-modules/spring-data-gemfire/pom.xml @@ -12,6 +12,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/FunctionExecution.java b/persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/FunctionExecution.java similarity index 100% rename from spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/FunctionExecution.java rename to persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/FunctionExecution.java diff --git a/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/FunctionImpl.java b/persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/FunctionImpl.java similarity index 100% rename from spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/FunctionImpl.java rename to persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/FunctionImpl.java diff --git a/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/GemfireConfiguration.java b/persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/GemfireConfiguration.java similarity index 100% rename from spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/GemfireConfiguration.java rename to persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/function/GemfireConfiguration.java diff --git a/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/model/Employee.java b/persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/model/Employee.java similarity index 100% rename from spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/model/Employee.java rename to persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/model/Employee.java diff --git a/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/repository/EmployeeRepository.java b/persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/repository/EmployeeRepository.java similarity index 100% rename from spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/repository/EmployeeRepository.java rename to persistence-modules/spring-data-gemfire/src/main/java/com/baeldung/spring/data/gemfire/repository/EmployeeRepository.java diff --git a/spring-data-gemfire/src/main/resources/application-context.xml b/persistence-modules/spring-data-gemfire/src/main/resources/application-context.xml similarity index 100% rename from spring-data-gemfire/src/main/resources/application-context.xml rename to persistence-modules/spring-data-gemfire/src/main/resources/application-context.xml diff --git a/spring-data-gemfire/src/test/java/com/baeldung/spring/data/gemfire/repository/EmployeeRepositoryIntegrationTest.java b/persistence-modules/spring-data-gemfire/src/test/java/com/baeldung/spring/data/gemfire/repository/EmployeeRepositoryIntegrationTest.java similarity index 100% rename from spring-data-gemfire/src/test/java/com/baeldung/spring/data/gemfire/repository/EmployeeRepositoryIntegrationTest.java rename to persistence-modules/spring-data-gemfire/src/test/java/com/baeldung/spring/data/gemfire/repository/EmployeeRepositoryIntegrationTest.java diff --git a/spring-data-neo4j/README.md b/persistence-modules/spring-data-neo4j/README.md similarity index 100% rename from spring-data-neo4j/README.md rename to persistence-modules/spring-data-neo4j/README.md diff --git a/spring-data-neo4j/pom.xml b/persistence-modules/spring-data-neo4j/pom.xml similarity index 99% rename from spring-data-neo4j/pom.xml rename to persistence-modules/spring-data-neo4j/pom.xml index e01e7d7294..0055850ec3 100644 --- a/spring-data-neo4j/pom.xml +++ b/persistence-modules/spring-data-neo4j/pom.xml @@ -10,6 +10,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/config/MovieDatabaseNeo4jConfiguration.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/config/MovieDatabaseNeo4jConfiguration.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/config/MovieDatabaseNeo4jConfiguration.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/config/MovieDatabaseNeo4jConfiguration.java diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/config/MovieDatabaseNeo4jTestConfiguration.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/config/MovieDatabaseNeo4jTestConfiguration.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/config/MovieDatabaseNeo4jTestConfiguration.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/config/MovieDatabaseNeo4jTestConfiguration.java diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Car.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Car.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Car.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Car.java diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Company.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Company.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Company.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Company.java diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Movie.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Movie.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Movie.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Movie.java diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Person.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Person.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Person.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Person.java diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Role.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Role.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Role.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/domain/Role.java diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/repostory/MovieRepository.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/repostory/MovieRepository.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/repostory/MovieRepository.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/repostory/MovieRepository.java diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/repostory/PersonRepository.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/repostory/PersonRepository.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/repostory/PersonRepository.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/repostory/PersonRepository.java diff --git a/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/services/MovieService.java b/persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/services/MovieService.java similarity index 100% rename from spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/services/MovieService.java rename to persistence-modules/spring-data-neo4j/src/main/java/com/baeldung/spring/data/neo4j/services/MovieService.java diff --git a/spring-data-neo4j/src/main/resources/logback.xml b/persistence-modules/spring-data-neo4j/src/main/resources/logback.xml similarity index 100% rename from spring-data-neo4j/src/main/resources/logback.xml rename to persistence-modules/spring-data-neo4j/src/main/resources/logback.xml diff --git a/spring-data-neo4j/src/main/resources/test.png b/persistence-modules/spring-data-neo4j/src/main/resources/test.png similarity index 100% rename from spring-data-neo4j/src/main/resources/test.png rename to persistence-modules/spring-data-neo4j/src/main/resources/test.png diff --git a/spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4JServerLiveTest.java b/persistence-modules/spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4JServerLiveTest.java similarity index 100% rename from spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4JServerLiveTest.java rename to persistence-modules/spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4JServerLiveTest.java diff --git a/spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4jLiveTest.java b/persistence-modules/spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4jLiveTest.java similarity index 100% rename from spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4jLiveTest.java rename to persistence-modules/spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4jLiveTest.java diff --git a/spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4jOgmLiveTest.java b/persistence-modules/spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4jOgmLiveTest.java similarity index 100% rename from spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4jOgmLiveTest.java rename to persistence-modules/spring-data-neo4j/src/test/java/com/baeldung/neo4j/Neo4jOgmLiveTest.java diff --git a/spring-data-neo4j/src/test/java/com/baeldung/spring/data/neo4j/MovieRepositoryIntegrationTest.java b/persistence-modules/spring-data-neo4j/src/test/java/com/baeldung/spring/data/neo4j/MovieRepositoryIntegrationTest.java similarity index 100% rename from spring-data-neo4j/src/test/java/com/baeldung/spring/data/neo4j/MovieRepositoryIntegrationTest.java rename to persistence-modules/spring-data-neo4j/src/test/java/com/baeldung/spring/data/neo4j/MovieRepositoryIntegrationTest.java diff --git a/spring-data-neo4j/src/test/resources/logback.xml b/persistence-modules/spring-data-neo4j/src/test/resources/logback.xml similarity index 100% rename from spring-data-neo4j/src/test/resources/logback.xml rename to persistence-modules/spring-data-neo4j/src/test/resources/logback.xml diff --git a/spring-data-redis/README.md b/persistence-modules/spring-data-redis/README.md similarity index 100% rename from spring-data-redis/README.md rename to persistence-modules/spring-data-redis/README.md diff --git a/spring-data-redis/pom.xml b/persistence-modules/spring-data-redis/pom.xml similarity index 98% rename from spring-data-redis/pom.xml rename to persistence-modules/spring-data-redis/pom.xml index d2835595da..b184d7e369 100644 --- a/spring-data-redis/pom.xml +++ b/persistence-modules/spring-data-redis/pom.xml @@ -11,6 +11,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/config/RedisConfig.java b/persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/config/RedisConfig.java similarity index 100% rename from spring-data-redis/src/main/java/com/baeldung/spring/data/redis/config/RedisConfig.java rename to persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/config/RedisConfig.java diff --git a/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/model/Student.java b/persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/model/Student.java similarity index 100% rename from spring-data-redis/src/main/java/com/baeldung/spring/data/redis/model/Student.java rename to persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/model/Student.java diff --git a/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/MessagePublisher.java b/persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/MessagePublisher.java similarity index 100% rename from spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/MessagePublisher.java rename to persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/MessagePublisher.java diff --git a/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/RedisMessagePublisher.java b/persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/RedisMessagePublisher.java similarity index 100% rename from spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/RedisMessagePublisher.java rename to persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/RedisMessagePublisher.java diff --git a/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/RedisMessageSubscriber.java b/persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/RedisMessageSubscriber.java similarity index 100% rename from spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/RedisMessageSubscriber.java rename to persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/queue/RedisMessageSubscriber.java diff --git a/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/repo/StudentRepository.java b/persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/repo/StudentRepository.java similarity index 100% rename from spring-data-redis/src/main/java/com/baeldung/spring/data/redis/repo/StudentRepository.java rename to persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/repo/StudentRepository.java diff --git a/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/repo/StudentRepositoryImpl.java b/persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/repo/StudentRepositoryImpl.java similarity index 100% rename from spring-data-redis/src/main/java/com/baeldung/spring/data/redis/repo/StudentRepositoryImpl.java rename to persistence-modules/spring-data-redis/src/main/java/com/baeldung/spring/data/redis/repo/StudentRepositoryImpl.java diff --git a/spring-data-redis/src/main/resources/logback.xml b/persistence-modules/spring-data-redis/src/main/resources/logback.xml similarity index 100% rename from spring-data-redis/src/main/resources/logback.xml rename to persistence-modules/spring-data-redis/src/main/resources/logback.xml diff --git a/spring-data-redis/src/main/resources/test.png b/persistence-modules/spring-data-redis/src/main/resources/test.png similarity index 100% rename from spring-data-redis/src/main/resources/test.png rename to persistence-modules/spring-data-redis/src/main/resources/test.png diff --git a/spring-data-redis/src/test/java/com/baeldung/spring/data/redis/RedisMessageListenerIntegrationTest.java b/persistence-modules/spring-data-redis/src/test/java/com/baeldung/spring/data/redis/RedisMessageListenerIntegrationTest.java similarity index 100% rename from spring-data-redis/src/test/java/com/baeldung/spring/data/redis/RedisMessageListenerIntegrationTest.java rename to persistence-modules/spring-data-redis/src/test/java/com/baeldung/spring/data/redis/RedisMessageListenerIntegrationTest.java diff --git a/spring-data-redis/src/test/java/com/baeldung/spring/data/redis/repo/StudentRepositoryIntegrationTest.java b/persistence-modules/spring-data-redis/src/test/java/com/baeldung/spring/data/redis/repo/StudentRepositoryIntegrationTest.java similarity index 100% rename from spring-data-redis/src/test/java/com/baeldung/spring/data/redis/repo/StudentRepositoryIntegrationTest.java rename to persistence-modules/spring-data-redis/src/test/java/com/baeldung/spring/data/redis/repo/StudentRepositoryIntegrationTest.java diff --git a/spring-data-solr/README.md b/persistence-modules/spring-data-solr/README.md similarity index 100% rename from spring-data-solr/README.md rename to persistence-modules/spring-data-solr/README.md diff --git a/spring-data-solr/pom.xml b/persistence-modules/spring-data-solr/pom.xml similarity index 97% rename from spring-data-solr/pom.xml rename to persistence-modules/spring-data-solr/pom.xml index 48ddaa7085..0759c1dbc0 100644 --- a/spring-data-solr/pom.xml +++ b/persistence-modules/spring-data-solr/pom.xml @@ -12,6 +12,7 @@ com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ diff --git a/spring-data-solr/src/main/java/com/baeldung/spring/data/solr/config/SolrConfig.java b/persistence-modules/spring-data-solr/src/main/java/com/baeldung/spring/data/solr/config/SolrConfig.java similarity index 100% rename from spring-data-solr/src/main/java/com/baeldung/spring/data/solr/config/SolrConfig.java rename to persistence-modules/spring-data-solr/src/main/java/com/baeldung/spring/data/solr/config/SolrConfig.java diff --git a/spring-data-solr/src/main/java/com/baeldung/spring/data/solr/model/Product.java b/persistence-modules/spring-data-solr/src/main/java/com/baeldung/spring/data/solr/model/Product.java similarity index 100% rename from spring-data-solr/src/main/java/com/baeldung/spring/data/solr/model/Product.java rename to persistence-modules/spring-data-solr/src/main/java/com/baeldung/spring/data/solr/model/Product.java diff --git a/spring-data-solr/src/main/java/com/baeldung/spring/data/solr/repository/ProductRepository.java b/persistence-modules/spring-data-solr/src/main/java/com/baeldung/spring/data/solr/repository/ProductRepository.java similarity index 100% rename from spring-data-solr/src/main/java/com/baeldung/spring/data/solr/repository/ProductRepository.java rename to persistence-modules/spring-data-solr/src/main/java/com/baeldung/spring/data/solr/repository/ProductRepository.java diff --git a/spring-data-solr/src/main/resources/solr-named-queries.properties b/persistence-modules/spring-data-solr/src/main/resources/solr-named-queries.properties similarity index 100% rename from spring-data-solr/src/main/resources/solr-named-queries.properties rename to persistence-modules/spring-data-solr/src/main/resources/solr-named-queries.properties diff --git a/spring-data-solr/src/test/java/com/baeldung/spring/data/solr/repo/ProductRepositoryIntegrationTest.java b/persistence-modules/spring-data-solr/src/test/java/com/baeldung/spring/data/solr/repo/ProductRepositoryIntegrationTest.java similarity index 100% rename from spring-data-solr/src/test/java/com/baeldung/spring/data/solr/repo/ProductRepositoryIntegrationTest.java rename to persistence-modules/spring-data-solr/src/test/java/com/baeldung/spring/data/solr/repo/ProductRepositoryIntegrationTest.java diff --git a/spring-hibernate3/.gitignore b/persistence-modules/spring-hibernate-3/.gitignore similarity index 100% rename from spring-hibernate3/.gitignore rename to persistence-modules/spring-hibernate-3/.gitignore diff --git a/spring-hibernate3/README.md b/persistence-modules/spring-hibernate-3/README.md similarity index 100% rename from spring-hibernate3/README.md rename to persistence-modules/spring-hibernate-3/README.md diff --git a/spring-hibernate3/pom.xml b/persistence-modules/spring-hibernate-3/pom.xml similarity index 96% rename from spring-hibernate3/pom.xml rename to persistence-modules/spring-hibernate-3/pom.xml index c36b1c0522..8eee819572 100644 --- a/spring-hibernate3/pom.xml +++ b/persistence-modules/spring-hibernate-3/pom.xml @@ -2,15 +2,16 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.baeldung - spring-hibernate3 + spring-hibernate-3 0.1-SNAPSHOT - spring-hibernate3 + spring-hibernate-3 com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ @@ -87,7 +88,7 @@ - spring-hibernate3 + spring-hibernate-3 src/main/resources diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/AbstractHibernateDao.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/AbstractHibernateDao.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/dao/AbstractHibernateDao.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/AbstractHibernateDao.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/EventDao.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/EventDao.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/dao/EventDao.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/EventDao.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/FooDao.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/FooDao.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/dao/FooDao.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/FooDao.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/IEventDao.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/IEventDao.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/dao/IEventDao.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/IEventDao.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/IFooDao.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/IFooDao.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/dao/IFooDao.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/IFooDao.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/IOperations.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/IOperations.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/dao/IOperations.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/dao/IOperations.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/model/Event.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/model/Event.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/model/Event.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/model/Event.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/model/Foo.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/model/Foo.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/model/Foo.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/model/Foo.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/service/EventService.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/service/EventService.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/service/EventService.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/service/EventService.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/service/FooService.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/service/FooService.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/persistence/service/FooService.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/persistence/service/FooService.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/spring/PersistenceConfig.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/spring/PersistenceConfig.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/spring/PersistenceConfig.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/spring/PersistenceConfig.java diff --git a/spring-hibernate3/src/main/java/org/baeldung/spring/PersistenceXmlConfig.java b/persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/spring/PersistenceXmlConfig.java similarity index 100% rename from spring-hibernate3/src/main/java/org/baeldung/spring/PersistenceXmlConfig.java rename to persistence-modules/spring-hibernate-3/src/main/java/org/baeldung/spring/PersistenceXmlConfig.java diff --git a/spring-hibernate3/src/main/resources/exceptionDemo.cfg.xml b/persistence-modules/spring-hibernate-3/src/main/resources/exceptionDemo.cfg.xml similarity index 100% rename from spring-hibernate3/src/main/resources/exceptionDemo.cfg.xml rename to persistence-modules/spring-hibernate-3/src/main/resources/exceptionDemo.cfg.xml diff --git a/spring-hibernate3/src/main/resources/exceptionDemoPersistenceConfig.xml b/persistence-modules/spring-hibernate-3/src/main/resources/exceptionDemoPersistenceConfig.xml similarity index 100% rename from spring-hibernate3/src/main/resources/exceptionDemoPersistenceConfig.xml rename to persistence-modules/spring-hibernate-3/src/main/resources/exceptionDemoPersistenceConfig.xml diff --git a/spring-hibernate3/src/main/resources/logback.xml b/persistence-modules/spring-hibernate-3/src/main/resources/logback.xml similarity index 100% rename from spring-hibernate3/src/main/resources/logback.xml rename to persistence-modules/spring-hibernate-3/src/main/resources/logback.xml diff --git a/spring-hibernate3/src/main/resources/persistence-h2.properties b/persistence-modules/spring-hibernate-3/src/main/resources/persistence-h2.properties similarity index 100% rename from spring-hibernate3/src/main/resources/persistence-h2.properties rename to persistence-modules/spring-hibernate-3/src/main/resources/persistence-h2.properties diff --git a/spring-hibernate3/src/main/resources/persistence-mysql.properties b/persistence-modules/spring-hibernate-3/src/main/resources/persistence-mysql.properties similarity index 100% rename from spring-hibernate3/src/main/resources/persistence-mysql.properties rename to persistence-modules/spring-hibernate-3/src/main/resources/persistence-mysql.properties diff --git a/spring-hibernate3/src/main/resources/persistenceConfig.xml b/persistence-modules/spring-hibernate-3/src/main/resources/persistenceConfig.xml similarity index 100% rename from spring-hibernate3/src/main/resources/persistenceConfig.xml rename to persistence-modules/spring-hibernate-3/src/main/resources/persistenceConfig.xml diff --git a/spring-hibernate3/src/main/webapp/WEB-INF/view/sample.jsp b/persistence-modules/spring-hibernate-3/src/main/webapp/WEB-INF/view/sample.jsp similarity index 100% rename from spring-hibernate3/src/main/webapp/WEB-INF/view/sample.jsp rename to persistence-modules/spring-hibernate-3/src/main/webapp/WEB-INF/view/sample.jsp diff --git a/spring-hibernate3/src/main/webapp/WEB-INF/web.xml b/persistence-modules/spring-hibernate-3/src/main/webapp/WEB-INF/web.xml similarity index 100% rename from spring-hibernate3/src/main/webapp/WEB-INF/web.xml rename to persistence-modules/spring-hibernate-3/src/main/webapp/WEB-INF/web.xml diff --git a/spring-hibernate3/src/test/java/org/baeldung/persistence/service/FooServicePersistenceIntegrationTest.java b/persistence-modules/spring-hibernate-3/src/test/java/org/baeldung/persistence/service/FooServicePersistenceIntegrationTest.java similarity index 100% rename from spring-hibernate3/src/test/java/org/baeldung/persistence/service/FooServicePersistenceIntegrationTest.java rename to persistence-modules/spring-hibernate-3/src/test/java/org/baeldung/persistence/service/FooServicePersistenceIntegrationTest.java diff --git a/spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingAnnoSessionBeanMainIntegrationTest.java b/persistence-modules/spring-hibernate-3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingAnnoSessionBeanMainIntegrationTest.java similarity index 100% rename from spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingAnnoSessionBeanMainIntegrationTest.java rename to persistence-modules/spring-hibernate-3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingAnnoSessionBeanMainIntegrationTest.java diff --git a/spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingLocalSessionBeanMainIntegrationTest.java b/persistence-modules/spring-hibernate-3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingLocalSessionBeanMainIntegrationTest.java similarity index 100% rename from spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingLocalSessionBeanMainIntegrationTest.java rename to persistence-modules/spring-hibernate-3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingLocalSessionBeanMainIntegrationTest.java diff --git a/spring-hibernate3/src/test/resources/.gitignore b/persistence-modules/spring-hibernate-3/src/test/resources/.gitignore similarity index 100% rename from spring-hibernate3/src/test/resources/.gitignore rename to persistence-modules/spring-hibernate-3/src/test/resources/.gitignore diff --git a/spring-hibernate5/.gitignore b/persistence-modules/spring-hibernate-5/.gitignore similarity index 100% rename from spring-hibernate5/.gitignore rename to persistence-modules/spring-hibernate-5/.gitignore diff --git a/spring-hibernate5/README.md b/persistence-modules/spring-hibernate-5/README.md similarity index 100% rename from spring-hibernate5/README.md rename to persistence-modules/spring-hibernate-5/README.md diff --git a/spring-hibernate5/pom.xml b/persistence-modules/spring-hibernate-5/pom.xml similarity index 97% rename from spring-hibernate5/pom.xml rename to persistence-modules/spring-hibernate-5/pom.xml index dac43c4dd3..f1f3d10347 100644 --- a/spring-hibernate5/pom.xml +++ b/persistence-modules/spring-hibernate-5/pom.xml @@ -2,15 +2,16 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.baeldung - spring-hibernate5 + spring-hibernate-5 0.1-SNAPSHOT - spring-hibernate5 + spring-hibernate-5 com.baeldung parent-modules 1.0.0-SNAPSHOT + ../ @@ -136,7 +137,7 @@ - spring-hibernate5 + spring-hibernate-5 src/main/resources diff --git a/spring-hibernate5/src/main/java/com/baeldung/hibernate/immutable/entities/Event.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/immutable/entities/Event.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/hibernate/immutable/entities/Event.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/immutable/entities/Event.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/hibernate/immutable/entities/EventGeneratedId.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/immutable/entities/EventGeneratedId.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/hibernate/immutable/entities/EventGeneratedId.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/immutable/entities/EventGeneratedId.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/hibernate/immutable/util/HibernateUtil.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/immutable/util/HibernateUtil.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/hibernate/immutable/util/HibernateUtil.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/immutable/util/HibernateUtil.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/hibernate/manytomany/model/Employee.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/manytomany/model/Employee.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/hibernate/manytomany/model/Employee.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/manytomany/model/Employee.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/hibernate/manytomany/model/Project.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/manytomany/model/Project.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/hibernate/manytomany/model/Project.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/manytomany/model/Project.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/hibernate/manytomany/util/HibernateUtil.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/manytomany/util/HibernateUtil.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/hibernate/manytomany/util/HibernateUtil.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/hibernate/manytomany/util/HibernateUtil.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/manytomany/spring/PersistenceConfig.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/manytomany/spring/PersistenceConfig.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/manytomany/spring/PersistenceConfig.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/manytomany/spring/PersistenceConfig.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/dao/IFooDao.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/IFooDao.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/dao/IFooDao.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/IFooDao.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/dao/common/AbstractDao.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/common/AbstractDao.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/dao/common/AbstractDao.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/common/AbstractDao.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/dao/common/AbstractHibernateDao.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/common/AbstractHibernateDao.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/dao/common/AbstractHibernateDao.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/common/AbstractHibernateDao.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/dao/common/IOperations.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/common/IOperations.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/dao/common/IOperations.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/common/IOperations.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/dao/impl/FooHibernateDao.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/impl/FooHibernateDao.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/dao/impl/FooHibernateDao.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/dao/impl/FooHibernateDao.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/manytomany/dao/IEmployeeDao.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/manytomany/dao/IEmployeeDao.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/manytomany/dao/IEmployeeDao.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/manytomany/dao/IEmployeeDao.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/manytomany/dao/IProjectDao.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/manytomany/dao/IProjectDao.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/manytomany/dao/IProjectDao.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/manytomany/dao/IProjectDao.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/manytomany/dao/impl/EmployeeDao.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/manytomany/dao/impl/EmployeeDao.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/manytomany/dao/impl/EmployeeDao.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/manytomany/dao/impl/EmployeeDao.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/manytomany/dao/impl/ProjectDao.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/manytomany/dao/impl/ProjectDao.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/manytomany/dao/impl/ProjectDao.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/manytomany/dao/impl/ProjectDao.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/persistence/model/Foo.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/model/Foo.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/persistence/model/Foo.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/persistence/model/Foo.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/spring/PersistenceConfig.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/spring/PersistenceConfig.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/spring/PersistenceConfig.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/spring/PersistenceConfig.java diff --git a/spring-hibernate5/src/main/java/com/baeldung/spring/PersistenceXmlConfig.java b/persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/spring/PersistenceXmlConfig.java similarity index 100% rename from spring-hibernate5/src/main/java/com/baeldung/spring/PersistenceXmlConfig.java rename to persistence-modules/spring-hibernate-5/src/main/java/com/baeldung/spring/PersistenceXmlConfig.java diff --git a/spring-hibernate5/src/main/resources/hibernate5Config.xml b/persistence-modules/spring-hibernate-5/src/main/resources/hibernate5Config.xml similarity index 100% rename from spring-hibernate5/src/main/resources/hibernate5Config.xml rename to persistence-modules/spring-hibernate-5/src/main/resources/hibernate5Config.xml diff --git a/spring-hibernate5/src/main/resources/immutable.cfg.xml b/persistence-modules/spring-hibernate-5/src/main/resources/immutable.cfg.xml similarity index 100% rename from spring-hibernate5/src/main/resources/immutable.cfg.xml rename to persistence-modules/spring-hibernate-5/src/main/resources/immutable.cfg.xml diff --git a/spring-hibernate5/src/main/resources/logback.xml b/persistence-modules/spring-hibernate-5/src/main/resources/logback.xml similarity index 100% rename from spring-hibernate5/src/main/resources/logback.xml rename to persistence-modules/spring-hibernate-5/src/main/resources/logback.xml diff --git a/spring-hibernate5/src/main/resources/manytomany.cfg.xml b/persistence-modules/spring-hibernate-5/src/main/resources/manytomany.cfg.xml similarity index 100% rename from spring-hibernate5/src/main/resources/manytomany.cfg.xml rename to persistence-modules/spring-hibernate-5/src/main/resources/manytomany.cfg.xml diff --git a/spring-hibernate5/src/main/resources/persistence-h2.properties b/persistence-modules/spring-hibernate-5/src/main/resources/persistence-h2.properties similarity index 100% rename from spring-hibernate5/src/main/resources/persistence-h2.properties rename to persistence-modules/spring-hibernate-5/src/main/resources/persistence-h2.properties diff --git a/spring-hibernate5/src/main/resources/persistence-mysql.properties b/persistence-modules/spring-hibernate-5/src/main/resources/persistence-mysql.properties similarity index 100% rename from spring-hibernate5/src/main/resources/persistence-mysql.properties rename to persistence-modules/spring-hibernate-5/src/main/resources/persistence-mysql.properties diff --git a/spring-hibernate5/src/test/java/com/baeldung/hibernate/immutable/HibernateImmutableIntegrationTest.java b/persistence-modules/spring-hibernate-5/src/test/java/com/baeldung/hibernate/immutable/HibernateImmutableIntegrationTest.java similarity index 100% rename from spring-hibernate5/src/test/java/com/baeldung/hibernate/immutable/HibernateImmutableIntegrationTest.java rename to persistence-modules/spring-hibernate-5/src/test/java/com/baeldung/hibernate/immutable/HibernateImmutableIntegrationTest.java diff --git a/spring-hibernate5/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java b/persistence-modules/spring-hibernate-5/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java similarity index 100% rename from spring-hibernate5/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java rename to persistence-modules/spring-hibernate-5/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java diff --git a/spring-hibernate5/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java b/persistence-modules/spring-hibernate-5/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java similarity index 100% rename from spring-hibernate5/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java rename to persistence-modules/spring-hibernate-5/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java diff --git a/spring-hibernate5/src/test/java/com/baeldung/persistence/dao/common/HibernateDaoIntegrationTest.java b/persistence-modules/spring-hibernate-5/src/test/java/com/baeldung/persistence/dao/common/HibernateDaoIntegrationTest.java similarity index 100% rename from spring-hibernate5/src/test/java/com/baeldung/persistence/dao/common/HibernateDaoIntegrationTest.java rename to persistence-modules/spring-hibernate-5/src/test/java/com/baeldung/persistence/dao/common/HibernateDaoIntegrationTest.java diff --git a/spring-hibernate5/src/test/resources/.gitignore b/persistence-modules/spring-hibernate-5/src/test/resources/.gitignore similarity index 100% rename from spring-hibernate5/src/test/resources/.gitignore rename to persistence-modules/spring-hibernate-5/src/test/resources/.gitignore diff --git a/pom.xml b/pom.xml index d537adf08e..1f7a7996bf 100644 --- a/pom.xml +++ b/pom.xml @@ -49,8 +49,8 @@ core-java-8 core-java-concurrency couchbase - cas-server - cas-secured-app + cas/cas-server + cas/cas-secured-app deltaspike dozer @@ -85,7 +85,7 @@ immutables jackson - + vavr javax-servlets javaxval @@ -124,11 +124,11 @@ pdf protobuffer - querydsl + persistence-modules/querydsl reactor-core - redis + persistence-modules/redis rest-assured rest-testing resteasy @@ -136,7 +136,7 @@ spring-swagger-codegen selenium-junit-testng - solr + persistence-modules/solr spark-java spring-5-mvc @@ -149,26 +149,27 @@ spring-batch spring-bom spring-boot + spring-boot-bootstrap spring-cloud-data-flow spring-cloud spring-core spring-cucumber spring-aop - spring-data-cassandra + persistence-modules/spring-data-cassandra spring-data-couchbase-2 - spring-data-dynamodb + persistence-modules/spring-data-dynamodb spring-data-elasticsearch spring-data-mongodb - spring-data-neo4j - spring-data-redis + persistence-modules/spring-data-neo4j + persistence-modules/spring-data-redis spring-data-rest - spring-data-solr + persistence-modules/spring-data-solr spring-dispatcher-servlet spring-exceptions spring-freemarker - spring-hibernate3 + persistence-modules/spring-hibernate-3 spring-hibernate4 - spring-hibernate5 + persistence-modules/spring-hibernate-5 spring-integration spring-jersey spring-jmeter-jenkins @@ -244,11 +245,11 @@ rabbitmq vertx - spring-data-gemfire + persistence-modules/spring-data-gemfire mybatis spring-drools drools - liquibase + persistence-modules/liquibase spring-boot-property-exp mockserver undertow diff --git a/rest-testing/pom.xml b/rest-testing/pom.xml index b99dfac571..74ea5760c4 100644 --- a/rest-testing/pom.xml +++ b/rest-testing/pom.xml @@ -88,6 +88,19 @@ ${jbehave.version} test + + + com.intuit.karate + karate-apache + ${karate.version} + + + + com.intuit.karate + karate-junit4 + ${karate.version} + test + @@ -150,6 +163,7 @@ 2.9.0 1.2.5 2.4.1 + 0.6.1 4.4.5 4.5.2 diff --git a/rest-testing/src/main/resources/Feature/cucumber.feature b/rest-testing/src/main/resources/karate/cucumber.feature similarity index 100% rename from rest-testing/src/main/resources/Feature/cucumber.feature rename to rest-testing/src/main/resources/karate/cucumber.feature diff --git a/rest-testing/src/test/java/com/baeldung/rest/karate/KarateUnitTest.java b/rest-testing/src/test/java/com/baeldung/rest/karate/KarateUnitTest.java new file mode 100644 index 0000000000..f942721504 --- /dev/null +++ b/rest-testing/src/test/java/com/baeldung/rest/karate/KarateUnitTest.java @@ -0,0 +1,44 @@ +package com.baeldung.rest.karate; + +import com.github.tomakehurst.wiremock.WireMockServer; +import com.intuit.karate.junit4.Karate; +import cucumber.api.CucumberOptions; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; + +import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; + +@RunWith(Karate.class) +@CucumberOptions(features = "classpath:karate") +public class KarateUnitTest { + + private static final WireMockServer wireMockServer = new WireMockServer(); + + @BeforeClass + public static void setUp() throws Exception { + wireMockServer.start(); + + configureFor("localhost", 8080); + stubFor(get(urlEqualTo("/user/get")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBody("{ \"id\": \"1234\", name: \"John Smith\" }"))); + stubFor(post(urlEqualTo("/user/create")) + .withHeader("content-type", equalTo("application/json")) + .withRequestBody(containing("id")) + .willReturn(aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBody("{ \"id\": \"1234\", name: \"John Smith\" }"))); + + } + + @AfterClass + public static void tearDown() throws Exception { + wireMockServer.stop(); + } + +} diff --git a/rest-testing/src/test/resources/karate/user.feature b/rest-testing/src/test/resources/karate/user.feature new file mode 100644 index 0000000000..d9f0f12a9c --- /dev/null +++ b/rest-testing/src/test/resources/karate/user.feature @@ -0,0 +1,42 @@ +Feature: Testing a REST API with Karate + +Scenario: Testing valid GET endpoint + Given url 'http://localhost:8080/user/get' + When method GET + Then status 200 + +Scenario: Testing an invalid GET endpoint - 404 + Given url 'http://localhost:8080/user/wrong' + When method GET + Then status 404 + +Scenario: Testing the exact response of a GET endpoint + Given url 'http://localhost:8080/user/get' + When method GET + Then status 200 + And match $ == {id:"1234",name:"John Smith"} + +Scenario: Testing the exact response field value of a GET endpoint + Given url 'http://localhost:8080/user/get' + When method GET + Then status 200 + And match $.id == "1234" + +Scenario: Testing that GET response contains specific field + Given url 'http://localhost:8080/user/get' + When method GET + Then status 200 + And match $ contains {id:"1234"} + +Scenario: Test GET response using markers + Given url 'http://localhost:8080/user/get' + When method GET + Then status 200 + And match $ == {id:"#notnull",name:"John Smith"} + +Scenario: Testing a POST endpoint with request body + Given url 'http://localhost:8080/user/create' + And request { id: '1234' , name: 'John Smith'} + When method POST + Then status 200 + And match $ contains {id:"#notnull"} diff --git a/spring-5/src/main/java/com/baeldung/web/reactive/client/WebClientController.java b/spring-5/src/main/java/com/baeldung/web/reactive/client/WebClientController.java index 7bab288bab..a218c6b7cf 100644 --- a/spring-5/src/main/java/com/baeldung/web/reactive/client/WebClientController.java +++ b/spring-5/src/main/java/com/baeldung/web/reactive/client/WebClientController.java @@ -43,7 +43,8 @@ public class WebClientController { WebClient.RequestHeadersSpec requestSpec2 = uri2.body(BodyInserters.fromObject("data")); // inserters - BodyInserter, ReactiveHttpOutputMessage> inserter1 = BodyInserters.fromPublisher(Subscriber::onComplete, String.class); + BodyInserter, ReactiveHttpOutputMessage> inserter1 = BodyInserters + .fromPublisher(Subscriber::onComplete, String.class); LinkedMultiValueMap map = new LinkedMultiValueMap<>(); map.add("key1", "value1"); diff --git a/spring-boot-bootstrap/pom.xml b/spring-boot-bootstrap/pom.xml index 9da37a3261..5ad8330a89 100644 --- a/spring-boot-bootstrap/pom.xml +++ b/spring-boot-bootstrap/pom.xml @@ -12,10 +12,10 @@ Demo project for Spring Boot - org.springframework.boot - spring-boot-starter-parent - 1.5.3.RELEASE - + parent-boot-5 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-5 + + + + UTF-8 + UTF-8 + 1.8 + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-data-rest + + + + + com.h2database + h2 + runtime + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + diff --git a/spring-rest-shell/src/main/java/com/baeldung/Application.java b/spring-rest-shell/src/main/java/com/baeldung/Application.java new file mode 100644 index 0000000000..37dbe7dab8 --- /dev/null +++ b/spring-rest-shell/src/main/java/com/baeldung/Application.java @@ -0,0 +1,13 @@ +package com.baeldung; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + +} diff --git a/spring-rest-shell/src/main/java/com/baeldung/acticle/Article.java b/spring-rest-shell/src/main/java/com/baeldung/acticle/Article.java new file mode 100644 index 0000000000..6a55517f9f --- /dev/null +++ b/spring-rest-shell/src/main/java/com/baeldung/acticle/Article.java @@ -0,0 +1,40 @@ +package com.baeldung.acticle; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +@Entity +public final class Article { + + @Id + @GeneratedValue + private Long id; + private String title; + private String content; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + +} diff --git a/spring-rest-shell/src/main/java/com/baeldung/acticle/ArticleRepository.java b/spring-rest-shell/src/main/java/com/baeldung/acticle/ArticleRepository.java new file mode 100644 index 0000000000..83daf819f0 --- /dev/null +++ b/spring-rest-shell/src/main/java/com/baeldung/acticle/ArticleRepository.java @@ -0,0 +1,18 @@ +package com.baeldung.acticle; + +import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.query.Param; +import org.springframework.data.rest.core.annotation.RepositoryRestResource; + +import java.util.Optional; + +@RepositoryRestResource( + path = "articles", + collectionResourceRel = "articles", + itemResourceRel = "article" +) +public interface ArticleRepository extends CrudRepository { + + Optional
findByTitle(@Param("title") String title); + +}