From 9bd85df19483997ceb944937c5b3c6dad6492db6 Mon Sep 17 00:00:00 2001 From: Haroon Khan Date: Mon, 13 Jun 2022 20:31:44 +0100 Subject: [PATCH 01/21] [JAVA-9046] Fix build for Gradle 7.x --- gradle/gradle-fat-jar/build.gradle | 13 +++++++------ gradle/gradle-fat-jar/settings.gradle | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 gradle/gradle-fat-jar/settings.gradle diff --git a/gradle/gradle-fat-jar/build.gradle b/gradle/gradle-fat-jar/build.gradle index 6afad80652..70d1b998db 100644 --- a/gradle/gradle-fat-jar/build.gradle +++ b/gradle/gradle-fat-jar/build.gradle @@ -3,7 +3,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1' + classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.3' } } @@ -20,7 +20,7 @@ jar { } from { - configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } } @@ -30,12 +30,13 @@ task customFatJar(type: Jar) { attributes 'Main-Class': 'com.baeldung.fatjar.Application' } baseName = 'all-in-one-jar' - from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } with jar } dependencies{ - compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25' - compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25' -} \ No newline at end of file + implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25' + implementation group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25' +} diff --git a/gradle/gradle-fat-jar/settings.gradle b/gradle/gradle-fat-jar/settings.gradle new file mode 100644 index 0000000000..5abc556780 --- /dev/null +++ b/gradle/gradle-fat-jar/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'gradle-fat-jar' From fc4a117f2c574b59fef2fe3abf9df177d5ec69a3 Mon Sep 17 00:00:00 2001 From: Asjad J <97493880+Asjad-J@users.noreply.github.com> Date: Tue, 14 Jun 2022 09:46:50 +0500 Subject: [PATCH 02/21] Updated README.md added link back to the article: https://www.baeldung.com/openapi-jwt-authentication --- spring-boot-modules/spring-boot-springdoc/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-boot-modules/spring-boot-springdoc/README.md b/spring-boot-modules/spring-boot-springdoc/README.md index 5daca79bd2..733e31e698 100644 --- a/spring-boot-modules/spring-boot-springdoc/README.md +++ b/spring-boot-modules/spring-boot-springdoc/README.md @@ -5,3 +5,4 @@ - [Hiding Endpoints From Swagger Documentation in Spring Boot](https://www.baeldung.com/spring-swagger-hiding-endpoints) - [Swagger @Api Description Is Deprecated](https://www.baeldung.com/java-swagger-api-description-deprecated) - [Set List of Objects in Swagger API Response](https://www.baeldung.com/java-swagger-set-list-response) +- [Configure JWT Authentication for OpenAPI](https://www.baeldung.com/openapi-jwt-authentication) From ae9d2a354ce151a34a74192da35cfbbac411f6ef Mon Sep 17 00:00:00 2001 From: Asjad J <97493880+Asjad-J@users.noreply.github.com> Date: Tue, 14 Jun 2022 09:51:09 +0500 Subject: [PATCH 03/21] Updated README.md added link back to the article: https://www.baeldung.com/spring-keycloak-security-disable --- spring-boot-modules/spring-boot-keycloak/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-boot-modules/spring-boot-keycloak/README.md b/spring-boot-modules/spring-boot-keycloak/README.md index cde11df0fa..97a336c25c 100644 --- a/spring-boot-modules/spring-boot-keycloak/README.md +++ b/spring-boot-modules/spring-boot-keycloak/README.md @@ -10,3 +10,4 @@ This module contains articles about Keycloak in Spring Boot projects. - [Customizing Themes for Keycloak](https://www.baeldung.com/spring-keycloak-custom-themes) - [Securing SOAP Web Services With Keycloak](https://www.baeldung.com/soap-keycloak) - [Get Keycloak User ID in Spring](https://www.baeldung.com/spring-keycloak-get-user-id) +- [Disabling Keycloak Security in Spring Boot](https://www.baeldung.com/spring-keycloak-security-disable) From c8950386c69831264ecebdb5e09d69c309c11101 Mon Sep 17 00:00:00 2001 From: Asjad J <97493880+Asjad-J@users.noreply.github.com> Date: Tue, 14 Jun 2022 09:54:16 +0500 Subject: [PATCH 04/21] Updated README.md added link back to the article: https://www.baeldung.com/java-httpclient-request-parameters --- core-java-modules/core-java-11-2/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-11-2/README.md b/core-java-modules/core-java-11-2/README.md index ebd857886d..b864e1ca99 100644 --- a/core-java-modules/core-java-11-2/README.md +++ b/core-java-modules/core-java-11-2/README.md @@ -13,3 +13,4 @@ This module contains articles about Java 11 core features - [Call Methods at Runtime Using Java Reflection](https://www.baeldung.com/java-method-reflection) - [Java HttpClient Basic Authentication](https://www.baeldung.com/java-httpclient-basic-auth) - [Java HttpClient With SSL](https://www.baeldung.com/java-httpclient-ssl) +- [Adding Parameters to Java HttpClient Requests](https://www.baeldung.com/java-httpclient-request-parameters) From f5172c74e2913bce22218003bcd8ccfeb8a64f39 Mon Sep 17 00:00:00 2001 From: Asjad J <97493880+Asjad-J@users.noreply.github.com> Date: Tue, 14 Jun 2022 09:56:10 +0500 Subject: [PATCH 05/21] Updated README.md added link back to the article: https://www.baeldung.com/java-http-client-custom-header --- core-java-modules/core-java-httpclient/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-httpclient/README.md b/core-java-modules/core-java-httpclient/README.md index 712328a123..68f828e81b 100644 --- a/core-java-modules/core-java-httpclient/README.md +++ b/core-java-modules/core-java-httpclient/README.md @@ -4,3 +4,4 @@ This module contains articles about Java HttpClient ### Relevant articles - [Posting with Java HttpClient](https://www.baeldung.com/java-httpclient-post) +- [Custom HTTP Header With the Java HttpClient](https://www.baeldung.com/java-http-client-custom-header) From 8a6fd1ae8b6422a77134822b86f3ff086df73721 Mon Sep 17 00:00:00 2001 From: Asjad J <97493880+Asjad-J@users.noreply.github.com> Date: Tue, 14 Jun 2022 10:04:16 +0500 Subject: [PATCH 06/21] Updated README.md added link back to the article: https://www.baeldung.com/java-check-two-of-three-booleans --- core-java-modules/core-java-lang-operators-2/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-lang-operators-2/README.md b/core-java-modules/core-java-lang-operators-2/README.md index 480021108d..0cc0a77605 100644 --- a/core-java-modules/core-java-lang-operators-2/README.md +++ b/core-java-modules/core-java-lang-operators-2/README.md @@ -7,3 +7,4 @@ This module contains articles about Java operators - [Logical vs Bitwise OR Operator](https://www.baeldung.com/java-logical-vs-bitwise-or-operator) - [Bitmasking in Java with Bitwise Operators](https://www.baeldung.com/java-bitmasking) - [Getting a Bit at a Certain Position from Integral Values](https://www.baeldung.com/java-get-bit-at-position) +- [Check if at Least Two Out of Three Booleans Are True in Java](https://www.baeldung.com/java-check-two-of-three-booleans) From ede9aa910964c4ee1f5ecdf5e43c97ceef84b809 Mon Sep 17 00:00:00 2001 From: Asjad J <97493880+Asjad-J@users.noreply.github.com> Date: Tue, 14 Jun 2022 10:06:54 +0500 Subject: [PATCH 07/21] Updated README.md added link back to the article: https://www.baeldung.com/java-unit-test-private-methods --- core-java-modules/core-java-reflection-2/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java-reflection-2/README.md b/core-java-modules/core-java-reflection-2/README.md index a3c9d00b0a..8613845d4f 100644 --- a/core-java-modules/core-java-reflection-2/README.md +++ b/core-java-modules/core-java-reflection-2/README.md @@ -8,3 +8,4 @@ - [Finding All Classes in a Java Package](https://www.baeldung.com/java-find-all-classes-in-package) - [Invoke a Static Method Using Java Reflection API](https://www.baeldung.com/java-invoke-static-method-reflection) - [What Is the JDK com.sun.proxy.$Proxy Class?](https://www.baeldung.com/jdk-com-sun-proxy) +- [Unit Test Private Methods in Java](https://www.baeldung.com/java-unit-test-private-methods) From 4a59d16d5a65e69e80e77a2686bf11c18459b7f4 Mon Sep 17 00:00:00 2001 From: Asjad J <97493880+Asjad-J@users.noreply.github.com> Date: Tue, 14 Jun 2022 10:12:18 +0500 Subject: [PATCH 08/21] Updated README.md added link back to the article: https://www.baeldung.com/java-integer-parseint-vs-valueof also updated the link for More articles from "/core-java-string-conversions" to "/core-java-modules/core-java-string-conversions" --- core-java-modules/core-java-string-conversions-2/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core-java-modules/core-java-string-conversions-2/README.md b/core-java-modules/core-java-string-conversions-2/README.md index 7abcd5e97a..71f35c17b1 100644 --- a/core-java-modules/core-java-string-conversions-2/README.md +++ b/core-java-modules/core-java-string-conversions-2/README.md @@ -11,4 +11,5 @@ This module contains articles about string conversions from/to another type. - [Convert a String to Camel Case](https://www.baeldung.com/java-string-to-camel-case) - [Convert a ByteBuffer to String in Java](https://www.baeldung.com/java-bytebuffer-to-string) - [Convert String to Float and Back in Java](https://www.baeldung.com/java-string-to-float) -- More articles: [[<-- prev]](/core-java-string-conversions) +- [Difference Between parseInt() and valueOf() in Java](https://www.baeldung.com/java-integer-parseint-vs-valueof) +- More articles: [[<-- prev]](/core-java-modules/core-java-string-conversions) From c127ea183fe1c29d20fc94b2e1703efff2d11b20 Mon Sep 17 00:00:00 2001 From: Asjad J <97493880+Asjad-J@users.noreply.github.com> Date: Tue, 14 Jun 2022 10:15:30 +0500 Subject: [PATCH 09/21] Updated README.md updated link for More articles from "/core-java-string-conversions-2" to "/core-java-modules/core-java-string-conversions-2" --- core-java-modules/core-java-string-conversions/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java-string-conversions/README.md b/core-java-modules/core-java-string-conversions/README.md index a86062e4d4..ab631cd063 100644 --- a/core-java-modules/core-java-string-conversions/README.md +++ b/core-java-modules/core-java-string-conversions/README.md @@ -13,4 +13,4 @@ This module contains articles about string conversions from/to another type. - [Convert String to Double in Java](https://www.baeldung.com/java-string-to-double) - [Convert Char to String in Java](https://www.baeldung.com/java-convert-char-to-string) - [Convert String to int or Integer in Java](https://www.baeldung.com/java-convert-string-to-int-or-integer) -- More articles: [[next -->]](/core-java-string-conversions-2) +- More articles: [[next -->]](/core-java-modules/core-java-string-conversions-2) From 29d88fa58496c935924cd70864c7f4d861ca8634 Mon Sep 17 00:00:00 2001 From: Asjad J <97493880+Asjad-J@users.noreply.github.com> Date: Tue, 14 Jun 2022 10:21:02 +0500 Subject: [PATCH 10/21] Updated README.md added link back to the article: https://www.baeldung.com/maven-encoding --- maven-modules/maven-properties/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/maven-modules/maven-properties/README.md b/maven-modules/maven-properties/README.md index 75ae24d215..a5c5d8c83f 100644 --- a/maven-modules/maven-properties/README.md +++ b/maven-modules/maven-properties/README.md @@ -7,3 +7,4 @@ have their own dedicated modules. - [Accessing Maven Properties in Java](https://www.baeldung.com/java-accessing-maven-properties) - [Default Values for Maven Properties](https://www.baeldung.com/maven-properties-defaults) +- [A Guide to Maven Encoding](https://www.baeldung.com/maven-encoding) From 1a1d01146622b6b9de99375262d6adb9189d2063 Mon Sep 17 00:00:00 2001 From: hesamghiasi Date: Tue, 14 Jun 2022 16:22:57 +0430 Subject: [PATCH 11/21] =?UTF-8?q?adding=20code=20for=20calculating=20time?= =?UTF-8?q?=20ago=20in=20Java=20for=20both=20version=207=20and=20v?= =?UTF-8?q?=E2=80=A6=20(#12313)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * adding code for calculating time ago in Java for both version 7 and version 8. The code contains pure java and third-party solutions. * changing name of test classes to contain UnitTest in order to comply with the rules * changing TimeGranularity.toMillis to abstract method --- .../core-java-date-operations-2/pom.xml | 18 ++++ .../timeago/version7/TimeAgoCalculator.java | 94 +++++++++++++++++++ .../timeago/version7/TimeGranularity.java | 41 ++++++++ .../timeago/version8/TimeAgoCalculator.java | 44 +++++++++ .../version7/TimeAgoCalculatorUnitTest.java | 55 +++++++++++ .../version8/TimeAgoCalculatorUnitTest.java | 23 +++++ 6 files changed, 275 insertions(+) create mode 100644 core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version7/TimeAgoCalculator.java create mode 100644 core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version7/TimeGranularity.java create mode 100644 core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version8/TimeAgoCalculator.java create mode 100644 core-java-modules/core-java-date-operations-2/src/test/java/com/baeldung/timeago/version7/TimeAgoCalculatorUnitTest.java create mode 100644 core-java-modules/core-java-date-operations-2/src/test/java/com/baeldung/timeago/version8/TimeAgoCalculatorUnitTest.java diff --git a/core-java-modules/core-java-date-operations-2/pom.xml b/core-java-modules/core-java-date-operations-2/pom.xml index f60c7b7fc0..461ba70b62 100644 --- a/core-java-modules/core-java-date-operations-2/pom.xml +++ b/core-java-modules/core-java-date-operations-2/pom.xml @@ -30,11 +30,29 @@ hirondelle-date4j ${hirondelle-date4j.version} + + net.time4j + time4j-base + ${time4j-base.version} + + + net.time4j + time4j-sqlxml + ${time4j-sqlxml.version} + + + org.ocpsoft.prettytime + prettytime + ${prettytime.version} + 2.10 1.5.1 + 3.2.7.Final + 5.9 + 5.8 \ No newline at end of file diff --git a/core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version7/TimeAgoCalculator.java b/core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version7/TimeAgoCalculator.java new file mode 100644 index 0000000000..e09880f1ee --- /dev/null +++ b/core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version7/TimeAgoCalculator.java @@ -0,0 +1,94 @@ +package com.baeldung.timeago.version7; + +import java.util.Date; +import java.util.TimeZone; + +import org.joda.time.DateTime; +import org.joda.time.DateTimeZone; +import org.joda.time.Period; +import org.joda.time.format.PeriodFormat; +import org.joda.time.format.PeriodFormatter; +import org.joda.time.format.PeriodFormatterBuilder; + +public class TimeAgoCalculator { + + public static String calculateTimeAgoByTimeGranularity(Date pastTime, TimeGranularity granularity) { + Date currentTime = new Date(); + long timeDifferenceInMillis = currentTime.getTime() - pastTime.getTime(); + return timeDifferenceInMillis / granularity.toMillis() + " " + granularity.name() + .toLowerCase() + " ago"; + } + + public static String calculateHumanFriendlyTimeAgo(Date pastTime) { + Date currentTime = new Date(); + long timeDifferenceInMillis = currentTime.getTime() - pastTime.getTime(); + if (timeDifferenceInMillis / TimeGranularity.DECADES.toMillis() > 0) + return "several decades ago"; + else if (timeDifferenceInMillis / TimeGranularity.YEARS.toMillis() > 0) + return "several years ago"; + else if (timeDifferenceInMillis / TimeGranularity.MONTHS.toMillis() > 0) + return "several months ago"; + else if (timeDifferenceInMillis / TimeGranularity.WEEKS.toMillis() > 0) + return "several weeks ago"; + else if (timeDifferenceInMillis / TimeGranularity.DAYS.toMillis() > 0) + return "several days ago"; + else if (timeDifferenceInMillis / TimeGranularity.HOURS.toMillis() > 0) + return "several hours ago"; + else if (timeDifferenceInMillis / TimeGranularity.MINUTES.toMillis() > 0) + return "several minutes ago"; + else + return "moments ago"; + } + + public static String calculateExactTimeAgoWithJodaTime(Date pastTime) { + Period period = new Period(new DateTime(pastTime.getTime()), new DateTime()); + PeriodFormatter formatter = new PeriodFormatterBuilder().appendYears() + .appendSuffix(" year ", " years ") + .appendSeparator("and ") + .appendMonths() + .appendSuffix(" month ", " months ") + .appendSeparator("and ") + .appendWeeks() + .appendSuffix(" week ", " weeks ") + .appendSeparator("and ") + .appendDays() + .appendSuffix(" day ", " days ") + .appendSeparator("and ") + .appendHours() + .appendSuffix(" hour ", " hours ") + .appendSeparator("and ") + .appendMinutes() + .appendSuffix(" minute ", " minutes ") + .appendSeparator("and ") + .appendSeconds() + .appendSuffix(" second", " seconds") + .toFormatter(); + return formatter.print(period); + } + + public static String calculateHumanFriendlyTimeAgoWithJodaTime(Date pastTime) { + Period period = new Period(new DateTime(pastTime.getTime()), new DateTime()); + if (period.getYears() != 0) + return "several years ago"; + else if (period.getMonths() != 0) + return "several months ago"; + else if (period.getWeeks() != 0) + return "several weeks ago"; + else if (period.getDays() != 0) + return "several days ago"; + else if (period.getHours() != 0) + return "several hours ago"; + else if (period.getMinutes() != 0) + return "several minutes ago"; + else + return "moments ago"; + } + + public static String calculateZonedTimeAgoWithJodaTime(Date pastTime, TimeZone zone) { + DateTimeZone dateTimeZone = DateTimeZone.forID(zone.getID()); + Period period = new Period(new DateTime(pastTime.getTime(), dateTimeZone), new DateTime(dateTimeZone)); + return PeriodFormat.getDefault() + .print(period); + } + +} diff --git a/core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version7/TimeGranularity.java b/core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version7/TimeGranularity.java new file mode 100644 index 0000000000..0cdb9729e2 --- /dev/null +++ b/core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version7/TimeGranularity.java @@ -0,0 +1,41 @@ +package com.baeldung.timeago.version7; + +import java.util.concurrent.TimeUnit; + +public enum TimeGranularity { + SECONDS { + public long toMillis() { + return TimeUnit.SECONDS.toMillis(1); + } + }, MINUTES { + public long toMillis() { + return TimeUnit.MINUTES.toMillis(1); + } + }, HOURS { + public long toMillis() { + return TimeUnit.HOURS.toMillis(1); + } + }, DAYS { + public long toMillis() { + return TimeUnit.DAYS.toMillis(1); + } + }, WEEKS { + public long toMillis() { + return TimeUnit.DAYS.toMillis(7); + } + }, MONTHS { + public long toMillis() { + return TimeUnit.DAYS.toMillis(30); + } + }, YEARS { + public long toMillis() { + return TimeUnit.DAYS.toMillis(365); + } + }, DECADES { + public long toMillis() { + return TimeUnit.DAYS.toMillis(365 * 10); + } + }; + + public abstract long toMillis(); +} diff --git a/core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version8/TimeAgoCalculator.java b/core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version8/TimeAgoCalculator.java new file mode 100644 index 0000000000..392cfa54fa --- /dev/null +++ b/core-java-modules/core-java-date-operations-2/src/main/java/com/baeldung/timeago/version8/TimeAgoCalculator.java @@ -0,0 +1,44 @@ +package com.baeldung.timeago.version8; + +import java.time.Duration; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.Period; +import java.time.ZoneId; +import java.util.Date; +import java.util.Locale; + +import org.ocpsoft.prettytime.PrettyTime; + +public class TimeAgoCalculator { + + public static String calculateTimeAgoWithPeriodAndDuration(LocalDateTime pastTime, ZoneId zone) { + Period period = Period.between(pastTime.toLocalDate(), LocalDate.now(zone)); + Duration duration = Duration.between(pastTime, LocalDateTime.now(zone)); + if (period.getYears() != 0) + return "several years ago"; + else if (period.getMonths() != 0) + return "several months ago"; + else if (period.getDays() != 0) + return "several days ago"; + else if (duration.toHours() != 0) + return "several hours ago"; + else if (duration.toMinutes() != 0) + return "several minutes ago"; + else if (duration.getSeconds() != 0) + return "several seconds ago"; + else + return "moments ago"; + } + + public static String calculateTimeAgoWithPrettyTime(Date pastTime) { + PrettyTime prettyTime = new PrettyTime(); + return prettyTime.format(pastTime); + } + + public static String calculateTimeAgoWithTime4J(Date pastTime, ZoneId zone, Locale locale) { + return net.time4j.PrettyTime.of(locale) + .printRelative(pastTime.toInstant(), zone); + } + +} diff --git a/core-java-modules/core-java-date-operations-2/src/test/java/com/baeldung/timeago/version7/TimeAgoCalculatorUnitTest.java b/core-java-modules/core-java-date-operations-2/src/test/java/com/baeldung/timeago/version7/TimeAgoCalculatorUnitTest.java new file mode 100644 index 0000000000..53975e2d83 --- /dev/null +++ b/core-java-modules/core-java-date-operations-2/src/test/java/com/baeldung/timeago/version7/TimeAgoCalculatorUnitTest.java @@ -0,0 +1,55 @@ +package com.baeldung.timeago.version7; + +import java.util.Date; + +import org.junit.Assert; +import org.junit.Test; + +public class TimeAgoCalculatorUnitTest { + + @Test + public void timeAgoByTimeGranularityTest() { + long DAY_IN_MILLIS = 1000 * 60 * 60 * 24; + Assert.assertEquals("5 seconds ago", TimeAgoCalculator.calculateTimeAgoByTimeGranularity(new Date(System.currentTimeMillis() - (5 * 1000)), TimeGranularity.SECONDS)); + Assert.assertEquals("5 minutes ago", TimeAgoCalculator.calculateTimeAgoByTimeGranularity(new Date(System.currentTimeMillis() - (5 * 60 * 1000)), TimeGranularity.MINUTES)); + Assert.assertEquals("5 hours ago", TimeAgoCalculator.calculateTimeAgoByTimeGranularity(new Date(System.currentTimeMillis() - (5 * 60 * 60 * 1000)), TimeGranularity.HOURS)); + Assert.assertEquals("5 days ago", TimeAgoCalculator.calculateTimeAgoByTimeGranularity(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS)), TimeGranularity.DAYS)); + Assert.assertEquals("5 months ago", TimeAgoCalculator.calculateTimeAgoByTimeGranularity(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 30)), TimeGranularity.MONTHS)); + Assert.assertEquals("5 weeks ago", TimeAgoCalculator.calculateTimeAgoByTimeGranularity(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 7)), TimeGranularity.WEEKS)); + Assert.assertEquals("5 years ago", TimeAgoCalculator.calculateTimeAgoByTimeGranularity(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 365)), TimeGranularity.YEARS)); + Assert.assertEquals("5 decades ago", TimeAgoCalculator.calculateTimeAgoByTimeGranularity(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 365 * 10)), TimeGranularity.DECADES)); + } + + @Test + public void humanFriendlyTimeAgoTest() { + long DAY_IN_MILLIS = 1000 * 60 * 60 * 24; + Assert.assertEquals("moments ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgo(new Date(System.currentTimeMillis() - (5 * 1000)))); + Assert.assertEquals("several minutes ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgo(new Date(System.currentTimeMillis() - (5 * 60 * 1000)))); + Assert.assertEquals("several hours ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgo(new Date(System.currentTimeMillis() - (5 * 60 * 60 * 1000)))); + Assert.assertEquals("several days ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgo(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS)))); + Assert.assertEquals("several months ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgo(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 30)))); + Assert.assertEquals("several weeks ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgo(new Date(System.currentTimeMillis() - (3 * DAY_IN_MILLIS * 7)))); + Assert.assertEquals("several years ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgo(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 365)))); + Assert.assertEquals("several decades ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgo(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 365 * 10)))); + } + + @Test + public void calculateExactTimeAgoWithJodaTimeTest() { + Assert.assertEquals("5 hours and 15 minutes and 3 seconds", TimeAgoCalculator.calculateExactTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (5 * 60 * 60 * 1000 + 15 * 60 * 1000 + 3 * 1000)))); + Assert.assertEquals("5 hours and 1 minute and 1 second", TimeAgoCalculator.calculateExactTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (5 * 60 * 60 * 1000 + 1 * 60 * 1000 + 1 * 1000)))); + Assert.assertEquals("2 days and 1 minute and 1 second", TimeAgoCalculator.calculateExactTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (2 * 24 * 60 * 60 * 1000 + 1 * 60 * 1000 + 1 * 1000)))); + } + + @Test + public void calculateHumanFriendlyTimeAgoWithJodaTimeTest() { + long DAY_IN_MILLIS = 1000 * 60 * 60 * 24; + Assert.assertEquals("moments ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (5 * 1000)))); + Assert.assertEquals("several minutes ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (5 * 60 * 1000)))); + Assert.assertEquals("several hours ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (5 * 60 * 60 * 1000)))); + Assert.assertEquals("several days ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS)))); + Assert.assertEquals("several months ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 30)))); + Assert.assertEquals("several weeks ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (3 * DAY_IN_MILLIS * 7)))); + Assert.assertEquals("several years ago", TimeAgoCalculator.calculateHumanFriendlyTimeAgoWithJodaTime(new Date(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 365)))); + } + +} diff --git a/core-java-modules/core-java-date-operations-2/src/test/java/com/baeldung/timeago/version8/TimeAgoCalculatorUnitTest.java b/core-java-modules/core-java-date-operations-2/src/test/java/com/baeldung/timeago/version8/TimeAgoCalculatorUnitTest.java new file mode 100644 index 0000000000..0412b3c2fd --- /dev/null +++ b/core-java-modules/core-java-date-operations-2/src/test/java/com/baeldung/timeago/version8/TimeAgoCalculatorUnitTest.java @@ -0,0 +1,23 @@ +package com.baeldung.timeago.version8; + +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; + +import org.junit.Assert; +import org.junit.Test; + +public class TimeAgoCalculatorUnitTest { + + @Test + public void calculateTimeAgoWithPeriodAndDurationTest() { + long DAY_IN_MILLIS = 1000 * 60 * 60 * 24; + Assert.assertEquals("moments ago", TimeAgoCalculator.calculateTimeAgoWithPeriodAndDuration(LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis()), ZoneId.systemDefault()), ZoneId.systemDefault())); + Assert.assertEquals("several seconds ago", TimeAgoCalculator.calculateTimeAgoWithPeriodAndDuration(LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis() - (5 * 1000)), ZoneId.systemDefault()), ZoneId.systemDefault())); + Assert.assertEquals("several minutes ago", TimeAgoCalculator.calculateTimeAgoWithPeriodAndDuration(LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis() - (5 * 60 * 1000)), ZoneId.systemDefault()), ZoneId.systemDefault())); + Assert.assertEquals("several hours ago", TimeAgoCalculator.calculateTimeAgoWithPeriodAndDuration(LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis() - (5 * 60 * 60 * 1000)), ZoneId.systemDefault()), ZoneId.systemDefault())); + Assert.assertEquals("several days ago", TimeAgoCalculator.calculateTimeAgoWithPeriodAndDuration(LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis() - (5 * DAY_IN_MILLIS)), ZoneId.systemDefault()), ZoneId.systemDefault())); + Assert.assertEquals("several months ago", TimeAgoCalculator.calculateTimeAgoWithPeriodAndDuration(LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 30)), ZoneId.systemDefault()), ZoneId.systemDefault())); + Assert.assertEquals("several years ago", TimeAgoCalculator.calculateTimeAgoWithPeriodAndDuration(LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis() - (5 * DAY_IN_MILLIS * 365)), ZoneId.systemDefault()), ZoneId.systemDefault())); + } +} From a3a0fdfd96dfb0c91a0cf7a57c088099e438063c Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Tue, 14 Jun 2022 22:47:10 +0530 Subject: [PATCH 12/21] JAVA-11241 Added missing pom.xml for container modules and other cleanup --- cas/cas-secured-app/pom.xml | 5 +-- .../cassecuredapp/CasSecuredApplication.java | 1 - cas/pom.xml | 22 +++++++++++ .../baeldung}/regex/array/RegexMatches.java | 2 +- .../regex/array/RegexMatchesUnitTest.java | 7 ++-- pom.xml | 10 ++--- .../src/regex/array/RegexMatches.java | 24 ------------ .../regex/array/RegexMatchesUnitTest.java | 33 ----------------- spring-cloud-modules/pom.xml | 4 +- .../kubernetes-guide/client-service/pom.xml | 8 ++-- .../kubernetes-guide/pom.xml | 21 +++++++++++ .../travel-agency-service/pom.xml | 9 ++--- .../kubernetes-minikube/demo-backend/pom.xml | 5 +-- .../kubernetes-minikube/demo-frontend/pom.xml | 5 +-- .../kubernetes-minikube/pom.xml | 21 +++++++++++ .../liveness-example/pom.xml | 6 +-- .../kubernetes-selfhealing/pom.xml | 21 +++++++++++ .../readiness-example/pom.xml | 6 +-- .../spring-cloud-kubernetes/pom.xml | 12 ++---- .../spring-cloud-stream-starters/pom.xml | 37 +++++++++++++++++++ spring-security-modules/pom.xml | 4 +- .../spring-security-web-angular/pom.xml | 21 +++++++++++ .../server/pom.xml | 8 ++-- 23 files changed, 180 insertions(+), 112 deletions(-) create mode 100644 cas/pom.xml rename core-java-modules/core-java-regex-2/{regexMatchToArray/src => src/main/java/com/baeldung}/regex/array/RegexMatches.java (94%) rename core-java-modules/core-java-regex-2/{regexMatchToArray/test => src/test/java/com/baeldung}/regex/array/RegexMatchesUnitTest.java (90%) delete mode 100644 regexMatchesToArray/src/regex/array/RegexMatches.java delete mode 100644 regexMatchesToArray/test/regex/array/RegexMatchesUnitTest.java create mode 100644 spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/pom.xml create mode 100644 spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/pom.xml create mode 100644 spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/pom.xml create mode 100644 spring-cloud-modules/spring-cloud-stream-starters/pom.xml create mode 100644 spring-security-modules/spring-security-web-angular/pom.xml diff --git a/cas/cas-secured-app/pom.xml b/cas/cas-secured-app/pom.xml index bcce82c94c..eac47bc093 100644 --- a/cas/cas-secured-app/pom.xml +++ b/cas/cas-secured-app/pom.xml @@ -10,10 +10,9 @@ Demo project for CAS - com.baeldung - parent-boot-2 + com.baeldung.cas + cas 0.0.1-SNAPSHOT - ../../parent-boot-2 diff --git a/cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/CasSecuredApplication.java b/cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/CasSecuredApplication.java index 4a2c609758..ca37535f2c 100644 --- a/cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/CasSecuredApplication.java +++ b/cas/cas-secured-app/src/main/java/com/baeldung/cassecuredapp/CasSecuredApplication.java @@ -88,7 +88,6 @@ public class CasSecuredApplication { @Bean public SingleSignOutFilter singleSignOutFilter() { SingleSignOutFilter singleSignOutFilter = new SingleSignOutFilter(); - singleSignOutFilter.setCasServerUrlPrefix("https://localhost:8443"); singleSignOutFilter.setLogoutCallbackPath("/exit/cas"); singleSignOutFilter.setIgnoreInitConfiguration(true); return singleSignOutFilter; diff --git a/cas/pom.xml b/cas/pom.xml new file mode 100644 index 0000000000..4d8695dad8 --- /dev/null +++ b/cas/pom.xml @@ -0,0 +1,22 @@ + + + 4.0.0 + com.baeldung.cas + cas + cas + pom + + + com.baeldung + parent-boot-2 + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + cas-secured-app + + + diff --git a/core-java-modules/core-java-regex-2/regexMatchToArray/src/regex/array/RegexMatches.java b/core-java-modules/core-java-regex-2/src/main/java/com/baeldung/regex/array/RegexMatches.java similarity index 94% rename from core-java-modules/core-java-regex-2/regexMatchToArray/src/regex/array/RegexMatches.java rename to core-java-modules/core-java-regex-2/src/main/java/com/baeldung/regex/array/RegexMatches.java index d7b50d95ca..35d96077b3 100644 --- a/core-java-modules/core-java-regex-2/regexMatchToArray/src/regex/array/RegexMatches.java +++ b/core-java-modules/core-java-regex-2/src/main/java/com/baeldung/regex/array/RegexMatches.java @@ -1,4 +1,4 @@ -package regex.array; +package com.baeldung.regex.array; import java.util.ArrayList; import java.util.List; diff --git a/core-java-modules/core-java-regex-2/regexMatchToArray/test/regex/array/RegexMatchesUnitTest.java b/core-java-modules/core-java-regex-2/src/test/java/com/baeldung/regex/array/RegexMatchesUnitTest.java similarity index 90% rename from core-java-modules/core-java-regex-2/regexMatchToArray/test/regex/array/RegexMatchesUnitTest.java rename to core-java-modules/core-java-regex-2/src/test/java/com/baeldung/regex/array/RegexMatchesUnitTest.java index 3e8f23c4bb..fd41cb31ef 100644 --- a/core-java-modules/core-java-regex-2/regexMatchToArray/test/regex/array/RegexMatchesUnitTest.java +++ b/core-java-modules/core-java-regex-2/src/test/java/com/baeldung/regex/array/RegexMatchesUnitTest.java @@ -1,10 +1,9 @@ -package regex.array; +package com.baeldung.regex.array; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; -import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; -import regex.array.RegexMatches; - class RegexMatchesUnitTest { @Test diff --git a/pom.xml b/pom.xml index d7943fa8d3..03b9d2ac7f 100644 --- a/pom.xml +++ b/pom.xml @@ -365,7 +365,7 @@ bazel blade bootique - + cas cdi checker-plugin @@ -423,7 +423,7 @@ javafx java-jdi - java-lite + java-lite java-rmi java-spi java-vavr-stream @@ -821,7 +821,7 @@ bazel blade bootique - + cas cdi checker-plugin @@ -1285,7 +1285,7 @@ core-java-modules/core-java-string-operations-3 core-java-modules/core-java-string-operations-4 core-java-modules/core-java-time-measurements - core-java-modules/core-java-networking-3 + core-java-modules/core-java-networking-3 core-java-modules/core-java-strings core-java-modules/core-java-httpclient ddd-contexts @@ -1354,7 +1354,7 @@ core-java-modules/core-java-string-operations-3 core-java-modules/core-java-string-operations-4 core-java-modules/core-java-time-measurements - core-java-modules/core-java-networking-3 + core-java-modules/core-java-networking-3 core-java-modules/core-java-strings ddd-contexts docker-modules diff --git a/regexMatchesToArray/src/regex/array/RegexMatches.java b/regexMatchesToArray/src/regex/array/RegexMatches.java deleted file mode 100644 index d7b50d95ca..0000000000 --- a/regexMatchesToArray/src/regex/array/RegexMatches.java +++ /dev/null @@ -1,24 +0,0 @@ -package regex.array; - -import java.util.ArrayList; -import java.util.List; -import java.util.regex.*; - -class RegexMatches { - - String[] regexMatch(String strSearch) - { - List matchesList = new ArrayList(); - String stringToSearch = strSearch; - Pattern p1 = Pattern.compile("780{1}\\d{7}"); - Matcher m1 = p1.matcher(stringToSearch); - while (m1.find()) - { - matchesList.add(m1.group()); - } - int sizeOfNewArray = matchesList.size(); - String newArrayOfMatches[] = new String[sizeOfNewArray]; - matchesList.toArray(newArrayOfMatches); - return newArrayOfMatches; - } -} diff --git a/regexMatchesToArray/test/regex/array/RegexMatchesUnitTest.java b/regexMatchesToArray/test/regex/array/RegexMatchesUnitTest.java deleted file mode 100644 index 3e8f23c4bb..0000000000 --- a/regexMatchesToArray/test/regex/array/RegexMatchesUnitTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package regex.array; - -import static org.junit.jupiter.api.Assertions.*; -import org.junit.jupiter.api.Test; - -import regex.array.RegexMatches; - -class RegexMatchesUnitTest { - - @Test - void whenFourNums_thenFourMatches() { - RegexMatches rm = new RegexMatches(); - String actual[] = rm.regexMatch("7801111211fsdafasdfa 7802222222 sadfsadfsda7803333333 sadfdasfasd 7804444444"); - - assertArrayEquals(new String[] {"7801111211", "7802222222", "7803333333", "7804444444"}, actual, "success"); - } - - @Test - void whenThreeNums_thenThreeMatches() { - RegexMatches rm = new RegexMatches(); - String actual[] = rm.regexMatch("7801111211fsdafasdfa 780222222 sadfsadfsda7803333333 sadfdasfasd 7804444444"); - - assertArrayEquals(new String[] {"7801111211", "7803333333", "7804444444"}, actual, "success"); - } - - @Test - void whenZeroNums_thenZeroMatches() { - RegexMatches rm = new RegexMatches(); - String actual[] = rm.regexMatch("78011111fsdafasdfa 780222222 sadfsadfsda78033333 sadfdasfasd 7804444"); - - assertArrayEquals(new String[] {}, actual, "success"); - } -} diff --git a/spring-cloud-modules/pom.xml b/spring-cloud-modules/pom.xml index d2f3845922..f43e56cde3 100644 --- a/spring-cloud-modules/pom.xml +++ b/spring-cloud-modules/pom.xml @@ -27,7 +27,7 @@ spring-cloud-zookeeper spring-cloud-gateway spring-cloud-stream - spring-cloud-stream-starters/twitterhdfs + spring-cloud-stream-starters spring-cloud-connectors-heroku spring-cloud-aws spring-cloud-consul @@ -92,4 +92,4 @@ 3.1.3 - \ No newline at end of file + diff --git a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/pom.xml index cedd46dfef..98828a76f2 100644 --- a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/pom.xml +++ b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/pom.xml @@ -4,14 +4,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 client-service - 1.0-SNAPSHOT client-service com.baeldung.spring.cloud - spring-cloud-kubernetes - 1.0-SNAPSHOT - ../../../spring-cloud-kubernetes + kubernetes-guide + 1.0.0-SNAPSHOT @@ -88,4 +86,4 @@ 1.1.8.RELEASE - \ No newline at end of file + diff --git a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/pom.xml new file mode 100644 index 0000000000..ffd9097f2a --- /dev/null +++ b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + kubernetes-guide + kubernetes-guide + pom + + + com.baeldung.spring.cloud + spring-cloud-kubernetes + 1.0.0-SNAPSHOT + + + + client-service + travel-agency-service + + + diff --git a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/pom.xml index ba5ba93682..1e93f7eaac 100644 --- a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/pom.xml +++ b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/pom.xml @@ -4,13 +4,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 travel-agency-service - 1.0-SNAPSHOT + travel-agency-service com.baeldung.spring.cloud - spring-cloud-kubernetes - 1.0-SNAPSHOT - ../../../spring-cloud-kubernetes + kubernetes-guide + 1.0.0-SNAPSHOT @@ -62,4 +61,4 @@ - \ No newline at end of file + diff --git a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/pom.xml index 81455eb259..2b3f849145 100644 --- a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/pom.xml +++ b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/pom.xml @@ -8,9 +8,8 @@ com.baeldung.spring.cloud - spring-cloud-kubernetes - 1.0-SNAPSHOT - ../../../spring-cloud-kubernetes + kubernetes-minikube + 1.0.0-SNAPSHOT diff --git a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/pom.xml index 558b2cfc3c..85eb944b27 100644 --- a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/pom.xml +++ b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/pom.xml @@ -8,9 +8,8 @@ com.baeldung.spring.cloud - spring-cloud-kubernetes - 1.0-SNAPSHOT - ../../../spring-cloud-kubernetes + kubernetes-minikube + 1.0.0-SNAPSHOT diff --git a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/pom.xml new file mode 100644 index 0000000000..4550750f58 --- /dev/null +++ b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + kubernetes-minikube + kubernetes-minikube + pom + + + com.baeldung.spring.cloud + spring-cloud-kubernetes + 1.0.0-SNAPSHOT + + + + demo-backend + demo-frontend + + + diff --git a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/pom.xml index 928f401405..3f93abdb69 100644 --- a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/pom.xml +++ b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/pom.xml @@ -4,14 +4,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 liveness-example - 1.0-SNAPSHOT liveness-example com.baeldung.spring.cloud - spring-cloud-kubernetes - 1.0-SNAPSHOT - ../../../spring-cloud-kubernetes + kubernetes-selfhealing + 1.0.0-SNAPSHOT diff --git a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/pom.xml new file mode 100644 index 0000000000..ff49aa12d4 --- /dev/null +++ b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + kubernetes-selfhealing + kubernetes-selfhealing + pom + + + com.baeldung.spring.cloud + spring-cloud-kubernetes + 1.0.0-SNAPSHOT + + + + liveness-example + readiness-example + + + diff --git a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/pom.xml index b86c13d2f0..6b5b488834 100644 --- a/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/pom.xml +++ b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/pom.xml @@ -4,14 +4,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 readiness-example - 1.0-SNAPSHOT readiness-example com.baeldung.spring.cloud - spring-cloud-kubernetes - 1.0-SNAPSHOT - ../../../spring-cloud-kubernetes + kubernetes-selfhealing + 1.0.0-SNAPSHOT diff --git a/spring-cloud-modules/spring-cloud-kubernetes/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/pom.xml index 1131db150a..1bd1aaeebd 100644 --- a/spring-cloud-modules/spring-cloud-kubernetes/pom.xml +++ b/spring-cloud-modules/spring-cloud-kubernetes/pom.xml @@ -5,7 +5,6 @@ 4.0.0 com.baeldung.spring.cloud spring-cloud-kubernetes - 1.0-SNAPSHOT spring-cloud-kubernetes pom @@ -16,12 +15,9 @@ - kubernetes-minikube/demo-frontend - kubernetes-minikube/demo-backend - kubernetes-selfhealing/liveness-example - kubernetes-selfhealing/readiness-example - kubernetes-guide/client-service - kubernetes-guide/travel-agency-service + kubernetes-minikube + kubernetes-selfhealing + kubernetes-guide @@ -40,4 +36,4 @@ 2021.0.0 - \ No newline at end of file + diff --git a/spring-cloud-modules/spring-cloud-stream-starters/pom.xml b/spring-cloud-modules/spring-cloud-stream-starters/pom.xml new file mode 100644 index 0000000000..82252b3a55 --- /dev/null +++ b/spring-cloud-modules/spring-cloud-stream-starters/pom.xml @@ -0,0 +1,37 @@ + + + 4.0.0 + com.baeldung.spring.cloud + spring-cloud-stream-starters + spring-cloud-stream-starters + pom + + + com.baeldung.spring.cloud + spring-cloud-modules + 1.0.0-SNAPSHOT + + + + twitterhdfs + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud-dependencies.version} + pom + import + + + + + + 2021.0.0 + + + diff --git a/spring-security-modules/pom.xml b/spring-security-modules/pom.xml index eb643c78c7..8d98395ab7 100644 --- a/spring-security-modules/pom.xml +++ b/spring-security-modules/pom.xml @@ -29,7 +29,7 @@ spring-security-oidc spring-security-okta spring-security-saml - spring-security-web-angular/server + spring-security-web-angular spring-security-web-boot-1 spring-security-web-boot-2 spring-security-web-boot-3 @@ -50,4 +50,4 @@ spring-security-opa - \ No newline at end of file + diff --git a/spring-security-modules/spring-security-web-angular/pom.xml b/spring-security-modules/spring-security-web-angular/pom.xml new file mode 100644 index 0000000000..18d35708f6 --- /dev/null +++ b/spring-security-modules/spring-security-web-angular/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + com.baeldung.spring.security + spring-security-web-angular + spring-security-web-angular + pom + + + com.baeldung + spring-security-modules + 0.0.1-SNAPSHOT + + + + server + + + diff --git a/spring-security-modules/spring-security-web-angular/server/pom.xml b/spring-security-modules/spring-security-web-angular/server/pom.xml index 9f4f0a5caa..a1f4a9f998 100644 --- a/spring-security-modules/spring-security-web-angular/server/pom.xml +++ b/spring-security-modules/spring-security-web-angular/server/pom.xml @@ -4,16 +4,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 server - 0.0.1-SNAPSHOT server jar Spring Security Angular - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - ../../../ + com.baeldung.spring.security + spring-security-web-angular + 0.0.1-SNAPSHOT From 3862ce78f31c158446ef513be49320d543e31456 Mon Sep 17 00:00:00 2001 From: Haroon Khan Date: Tue, 14 Jun 2022 21:56:25 +0100 Subject: [PATCH 13/21] [JAVA-12620] Split core-java-exceptions module --- core-java-modules/core-java-exceptions-2/README.md | 2 ++ core-java-modules/core-java-exceptions-3/README.md | 7 ++++++- core-java-modules/core-java-exceptions-4/README.md | 7 ++++++- core-java-modules/core-java-exceptions-4/pom.xml | 6 ++++++ .../exception}/sneakythrows/SneakyThrowsExamples.java | 6 +++--- .../sneakythrows/SneakyThrowsExamplesUnitTest.java | 10 +++++----- core-java-modules/core-java-exceptions/README.md | 4 ++-- core-java-modules/core-java-exceptions/pom.xml | 6 ------ 8 files changed, 30 insertions(+), 18 deletions(-) rename core-java-modules/{core-java-exceptions/src/main/java/com/baeldung/exceptions => core-java-exceptions-4/src/main/java/com/baeldung/exception}/sneakythrows/SneakyThrowsExamples.java (90%) rename core-java-modules/{core-java-exceptions/src/test/java/com/baeldung/exceptions => core-java-exceptions-4/src/test/java/com/baeldung/exception}/sneakythrows/SneakyThrowsExamplesUnitTest.java (76%) diff --git a/core-java-modules/core-java-exceptions-2/README.md b/core-java-modules/core-java-exceptions-2/README.md index e6441c2c12..428ca16813 100644 --- a/core-java-modules/core-java-exceptions-2/README.md +++ b/core-java-modules/core-java-exceptions-2/README.md @@ -14,3 +14,5 @@ This module contains articles about core java exceptions - [How to Find an Exception’s Root Cause in Java](https://www.baeldung.com/java-exception-root-cause) - [Java IOException “Too many open files”](https://www.baeldung.com/java-too-many-open-files) - [When Does Java Throw the ExceptionInInitializerError?](https://www.baeldung.com/java-exceptionininitializererror) +- More articles: [[<-- prev]](../core-java-exceptions-1) [[next -->]](../core-java-exceptions-3) + diff --git a/core-java-modules/core-java-exceptions-3/README.md b/core-java-modules/core-java-exceptions-3/README.md index d269444ccb..5f46c337b8 100644 --- a/core-java-modules/core-java-exceptions-3/README.md +++ b/core-java-modules/core-java-exceptions-3/README.md @@ -1,5 +1,8 @@ -### Relevant Articles: +## Core Java Exceptions +This module contains articles about core java exceptions + +### Relevant Articles: - [NoSuchMethodError in Java](https://www.baeldung.com/java-nosuchmethod-error) - [IllegalArgumentException or NullPointerException for a Null Parameter?](https://www.baeldung.com/java-illegalargumentexception-or-nullpointerexception) - [IllegalMonitorStateException in Java](https://www.baeldung.com/java-illegalmonitorstateexception) @@ -10,3 +13,5 @@ - [NoSuchFieldError in Java](https://www.baeldung.com/java-nosuchfielderror) - [IllegalAccessError in Java](https://www.baeldung.com/java-illegalaccesserror) - [Working with (Unknown Source) Stack Traces in Java](https://www.baeldung.com/java-unknown-source-stack-trace) +- More articles: [[<-- prev]](../core-java-exceptions-2) [[next -->]](../core-java-exceptions-4) + diff --git a/core-java-modules/core-java-exceptions-4/README.md b/core-java-modules/core-java-exceptions-4/README.md index 7df8ef65b9..1ea95510e9 100644 --- a/core-java-modules/core-java-exceptions-4/README.md +++ b/core-java-modules/core-java-exceptions-4/README.md @@ -1,5 +1,10 @@ -### Relevant Articles: +## Core Java Exceptions +This module contains articles about core java exceptions + +### Relevant articles: - [Java ArrayIndexOutOfBoundsException](https://www.baeldung.com/java-arrayindexoutofboundsexception) - [Java Missing Return Statement](https://www.baeldung.com/java-missing-return-statement) - [Convert long to int Type in Java](https://www.baeldung.com/java-convert-long-to-int) +- [“Sneaky Throws” in Java](https://www.baeldung.com/java-sneaky-throws) +- [[<-- Prev]](../core-java-exceptions-3) \ No newline at end of file diff --git a/core-java-modules/core-java-exceptions-4/pom.xml b/core-java-modules/core-java-exceptions-4/pom.xml index e9a2d05180..e691e1446d 100644 --- a/core-java-modules/core-java-exceptions-4/pom.xml +++ b/core-java-modules/core-java-exceptions-4/pom.xml @@ -22,6 +22,12 @@ ${h2.version} test + + org.projectlombok + lombok + ${lombok.version} + provided + diff --git a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/sneakythrows/SneakyThrowsExamples.java b/core-java-modules/core-java-exceptions-4/src/main/java/com/baeldung/exception/sneakythrows/SneakyThrowsExamples.java similarity index 90% rename from core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/sneakythrows/SneakyThrowsExamples.java rename to core-java-modules/core-java-exceptions-4/src/main/java/com/baeldung/exception/sneakythrows/SneakyThrowsExamples.java index 37f2e4ba9c..dc868c867b 100644 --- a/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/sneakythrows/SneakyThrowsExamples.java +++ b/core-java-modules/core-java-exceptions-4/src/main/java/com/baeldung/exception/sneakythrows/SneakyThrowsExamples.java @@ -1,9 +1,9 @@ -package com.baeldung.exceptions.sneakythrows; - -import java.io.IOException; +package com.baeldung.exception.sneakythrows; import lombok.SneakyThrows; +import java.io.IOException; + public class SneakyThrowsExamples { public static void sneakyThrow(Throwable e) throws E { diff --git a/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/sneakythrows/SneakyThrowsExamplesUnitTest.java b/core-java-modules/core-java-exceptions-4/src/test/java/com/baeldung/exception/sneakythrows/SneakyThrowsExamplesUnitTest.java similarity index 76% rename from core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/sneakythrows/SneakyThrowsExamplesUnitTest.java rename to core-java-modules/core-java-exceptions-4/src/test/java/com/baeldung/exception/sneakythrows/SneakyThrowsExamplesUnitTest.java index 8809bf78d9..3fe705d9d2 100644 --- a/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/sneakythrows/SneakyThrowsExamplesUnitTest.java +++ b/core-java-modules/core-java-exceptions-4/src/test/java/com/baeldung/exception/sneakythrows/SneakyThrowsExamplesUnitTest.java @@ -1,12 +1,12 @@ -package com.baeldung.exceptions.sneakythrows; +package com.baeldung.exception.sneakythrows; -import static com.baeldung.exceptions.sneakythrows.SneakyThrowsExamples.throwSneakyIOException; -import static com.baeldung.exceptions.sneakythrows.SneakyThrowsExamples.throwSneakyIOExceptionUsingLombok; -import static org.assertj.core.api.Assertions.assertThatThrownBy; +import org.junit.Test; import java.io.IOException; -import org.junit.Test; +import static com.baeldung.exception.sneakythrows.SneakyThrowsExamples.throwSneakyIOException; +import static com.baeldung.exception.sneakythrows.SneakyThrowsExamples.throwSneakyIOExceptionUsingLombok; +import static org.assertj.core.api.Assertions.assertThatThrownBy; public class SneakyThrowsExamplesUnitTest { diff --git a/core-java-modules/core-java-exceptions/README.md b/core-java-modules/core-java-exceptions/README.md index b74ede51e8..1a8f3b3674 100644 --- a/core-java-modules/core-java-exceptions/README.md +++ b/core-java-modules/core-java-exceptions/README.md @@ -9,9 +9,9 @@ This module contains articles about core java exceptions - [Exception Handling in Java](https://www.baeldung.com/java-exceptions) - [Differences Between Final, Finally and Finalize in Java](https://www.baeldung.com/java-final-finally-finalize) - [Difference Between Throw and Throws in Java](https://www.baeldung.com/java-throw-throws) -- [“Sneaky Throws” in Java](https://www.baeldung.com/java-sneaky-throws) - [The StackOverflowError in Java](https://www.baeldung.com/java-stack-overflow-error) - [Checked and Unchecked Exceptions in Java](https://www.baeldung.com/java-checked-unchecked-exceptions) - [Common Java Exceptions](https://www.baeldung.com/java-common-exceptions) - [Will an Error Be Caught by Catch Block in Java?](https://www.baeldung.com/java-error-catch) -- [[Next -->]](/core-java-modules/core-java-exceptions-2) \ No newline at end of file +- [[Next -->]](../core-java-exceptions-2) +- \ No newline at end of file diff --git a/core-java-modules/core-java-exceptions/pom.xml b/core-java-modules/core-java-exceptions/pom.xml index f1f60120a5..866248b416 100644 --- a/core-java-modules/core-java-exceptions/pom.xml +++ b/core-java-modules/core-java-exceptions/pom.xml @@ -21,12 +21,6 @@ mail ${javax.mail.version} - - org.projectlombok - lombok - ${lombok.version} - provided - org.apache.commons commons-lang3 From 209589830532be228994ead590a10d2bd9b0fc5a Mon Sep 17 00:00:00 2001 From: lucaCambi77 Date: Wed, 15 Jun 2022 03:24:37 +0200 Subject: [PATCH 14/21] BAEL-5400 - add spring-data-mongodb-2 module (#12340) * fix: add spring-data-mongodb-2 module * fix: missing module in parent pom --- persistence-modules/pom.xml | 1 + .../spring-data-mongodb-2/README.md | 7 + .../spring-data-mongodb-2/pom.xml | 58 +++++ .../baeldung/projection/model/InStock.java | 46 ++++ .../baeldung/projection/model/Inventory.java | 71 ++++++ .../com/baeldung/projection/model/Size.java | 56 +++++ .../repository/InventoryRepository.java | 33 +++ .../projection/AbstractTestProjection.java | 49 ++++ .../MongoTemplateProjectionUnitTest.java | 223 ++++++++++++++++++ .../RepositoryProjectionUnitTest.java | 177 ++++++++++++++ .../projection/config/ProjectionConfig.java | 43 ++++ 11 files changed, 764 insertions(+) create mode 100644 persistence-modules/spring-data-mongodb-2/README.md create mode 100644 persistence-modules/spring-data-mongodb-2/pom.xml create mode 100644 persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/InStock.java create mode 100644 persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/Inventory.java create mode 100644 persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/Size.java create mode 100644 persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/repository/InventoryRepository.java create mode 100644 persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/AbstractTestProjection.java create mode 100644 persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/MongoTemplateProjectionUnitTest.java create mode 100644 persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/RepositoryProjectionUnitTest.java create mode 100644 persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/config/ProjectionConfig.java diff --git a/persistence-modules/pom.xml b/persistence-modules/pom.xml index acfd171f3b..4637ab7ecc 100644 --- a/persistence-modules/pom.xml +++ b/persistence-modules/pom.xml @@ -87,6 +87,7 @@ spring-data-jdbc spring-data-keyvalue spring-data-mongodb + spring-data-mongodb-2 spring-data-mongodb-reactive spring-data-neo4j spring-data-redis diff --git a/persistence-modules/spring-data-mongodb-2/README.md b/persistence-modules/spring-data-mongodb-2/README.md new file mode 100644 index 0000000000..817da8d3cf --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/README.md @@ -0,0 +1,7 @@ +========= + +## Spring Data MongoDB 2 + +### Relevant Articles: +- [Return Only Specific Fields for a Query in Spring Data MongoDB](https://www.baeldung.com/mongodb-return-specific-fields) + diff --git a/persistence-modules/spring-data-mongodb-2/pom.xml b/persistence-modules/spring-data-mongodb-2/pom.xml new file mode 100644 index 0000000000..35353edfe3 --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + spring-data-mongodb-2 + spring-data-mongodb-2 + + + com.baeldung + parent-spring-5 + 0.0.1-SNAPSHOT + ../../parent-spring-5 + + + + + org.springframework.data + spring-data-mongodb + ${org.springframework.data.version} + + + org.mongodb + mongodb-driver-sync + ${mongodb-driver.version} + + + org.springframework + spring-core + ${spring.version} + + + commons-logging + commons-logging + + + + + org.springframework + spring-test + ${spring.version} + test + + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + ${embed.mongo.version} + test + + + + + 3.0.3.RELEASE + 4.0.5 + 3.2.6 + + + \ No newline at end of file diff --git a/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/InStock.java b/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/InStock.java new file mode 100644 index 0000000000..6f57808ab0 --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/InStock.java @@ -0,0 +1,46 @@ +package com.baeldung.projection.model; + +import java.util.Objects; + +public class InStock { + + private String wareHouse; + private Integer quantity; + + public InStock(String wareHouse, int quantity) { + this.wareHouse = wareHouse; + this.quantity = quantity; + } + + public String getWareHouse() { + return wareHouse; + } + + public void setWareHouse(String wareHouse) { + this.wareHouse = wareHouse; + } + + public Integer getQuantity() { + return quantity; + } + + public void setQuantity(Integer quantity) { + this.quantity = quantity; + } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + InStock inStock = (InStock) o; + return Objects.equals(wareHouse, inStock.wareHouse) && Objects.equals(quantity, inStock.quantity); + } + + @Override + public int hashCode() { + return Objects.hash(wareHouse, quantity); + } + +} diff --git a/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/Inventory.java b/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/Inventory.java new file mode 100644 index 0000000000..0f4cf6b814 --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/Inventory.java @@ -0,0 +1,71 @@ +package com.baeldung.projection.model; + +import java.util.List; +import java.util.Objects; + +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.MongoId; + +@Document(collection = "inventory") +public class Inventory { + + @Id + private String id; + private String item; + private String status; + private Size size; + private List inStock; + + public String getId() { + return id; + } + + public String getItem() { + return item; + } + + public void setItem(String item) { + this.item = item; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Size getSize() { + return size; + } + + public void setSize(Size size) { + this.size = size; + } + + public List getInStock() { + return inStock; + } + + public void setInStock(List inStock) { + this.inStock = inStock; + } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + Inventory inventory = (Inventory) o; + return Objects.equals(id, inventory.id) && Objects.equals(item, inventory.item) && Objects.equals(status, inventory.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, item, status); + } + +} diff --git a/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/Size.java b/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/Size.java new file mode 100644 index 0000000000..54af8f09f7 --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/model/Size.java @@ -0,0 +1,56 @@ +package com.baeldung.projection.model; + +import java.util.Objects; + +public class Size { + + private Double height; + private Double width; + private String uom; + + public Size(Double height, Double width, String uom) { + this.height = height; + this.width = width; + this.uom = uom; + } + + public Double getHeight() { + return height; + } + + public void setHeight(Double height) { + this.height = height; + } + + public Double getWidth() { + return width; + } + + public void setWidth(Double width) { + this.width = width; + } + + public String getUom() { + return uom; + } + + public void setUom(String uom) { + this.uom = uom; + } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + Size size = (Size) o; + return Objects.equals(height, size.height) && Objects.equals(width, size.width) && Objects.equals(uom, size.uom); + } + + @Override + public int hashCode() { + return Objects.hash(height, width, uom); + } + +} diff --git a/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/repository/InventoryRepository.java b/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/repository/InventoryRepository.java new file mode 100644 index 0000000000..66b4ef02d5 --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/src/main/java/com/baeldung/projection/repository/InventoryRepository.java @@ -0,0 +1,33 @@ +package com.baeldung.projection.repository; + +import java.util.List; + +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.data.mongodb.repository.Query; + +import com.baeldung.projection.model.Inventory; + +public interface InventoryRepository extends MongoRepository { + + @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1 }") + List findByStatusIncludeItemAndStatusFields(String status); + + @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1, '_id' : 0 }") + List findByStatusIncludeItemAndStatusExcludeIdFields(String status); + + @Query(value = "{ 'status' : ?0 }", fields = "{ 'status' : 0, 'inStock' : 0 }") + List findByStatusIncludeAllButStatusAndStockFields(String status); + + @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1, 'size.uom': 1 }") + List findByStatusIncludeEmbeddedFields(String status); + + @Query(value = "{ 'status' : ?0 }", fields = "{ 'size.uom': 0 }") + List findByStatusExcludeEmbeddedFields(String status); + + @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1, 'inStock.quantity': 1 }") + List findByStatusIncludeEmbeddedFieldsInArray(String status); + + @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1, 'inStock': { $slice: -1 } }") + List findByStatusIncludeEmbeddedFieldsLastElementInArray(String status); + +} \ No newline at end of file diff --git a/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/AbstractTestProjection.java b/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/AbstractTestProjection.java new file mode 100644 index 0000000000..b197ada7aa --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/AbstractTestProjection.java @@ -0,0 +1,49 @@ +package com.baeldung.projection; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import com.baeldung.projection.model.InStock; +import com.baeldung.projection.model.Inventory; +import com.baeldung.projection.model.Size; + +abstract class AbstractTestProjection { + + public List getInventories() { + Inventory journal = new Inventory(); + journal.setItem("journal"); + journal.setStatus("A"); + journal.setSize(new Size(14.0, 21.0, "cm")); + journal.setInStock(Collections.singletonList(new InStock("A", 5))); + + Inventory notebook = new Inventory(); + notebook.setItem("notebook"); + notebook.setStatus("A"); + notebook.setSize(new Size(8.5, 11.0, "in")); + notebook.setInStock(Collections.singletonList(new InStock("C", 5))); + + Inventory paper = new Inventory(); + paper.setItem("paper"); + paper.setStatus("D"); + paper.setSize(new Size(8.5, 11.0, "in")); + paper.setInStock(Collections.singletonList(new InStock("A", 60))); + + return Arrays.asList(journal, notebook, paper); + } + + abstract void whenIncludeFields_thenOnlyIncludedFieldsAreNotNull(); + + abstract void whenIncludeFieldsAndExcludeOtherFields_thenOnlyExcludedFieldsAreNull(); + + abstract void whenIncludeAllButExcludeSomeFields_thenOnlyExcludedFieldsAreNull(); + + abstract void whenIncludeEmbeddedFields_thenEmbeddedFieldsAreNotNull(); + + abstract void whenExcludeEmbeddedFields_thenEmbeddedFieldsAreNull(); + + abstract void whenIncludeEmbeddedFieldsInArray_thenEmbeddedFieldsInArrayAreNotNull(); + + abstract void whenIncludeEmbeddedFieldsSliceInArray_thenArrayLengthEqualToSlice(); + +} diff --git a/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/MongoTemplateProjectionUnitTest.java b/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/MongoTemplateProjectionUnitTest.java new file mode 100644 index 0000000000..1cd6415a1b --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/MongoTemplateProjectionUnitTest.java @@ -0,0 +1,223 @@ +package com.baeldung.projection; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.Arrays; +import java.util.List; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +import com.baeldung.projection.config.ProjectionConfig; +import com.baeldung.projection.model.InStock; +import com.baeldung.projection.model.Inventory; +import com.baeldung.projection.model.Size; + +@ExtendWith(SpringExtension.class) +@ContextConfiguration(classes = ProjectionConfig.class) +public class MongoTemplateProjectionUnitTest extends AbstractTestProjection { + + @Autowired + private MongoTemplate mongoTemplate; + + @BeforeEach + void setup() { + List inventoryList = getInventories(); + + mongoTemplate.insert(inventoryList, Inventory.class); + } + + @Test + void whenIncludeFields_thenOnlyIncludedFieldsAreNotNull() { + Query query = new Query(); + query.fields() + .include("item") + .include("status"); + + List inventoryList = mongoTemplate.find(query, Inventory.class); + + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getId()); + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNull(i.getSize()); + assertNull(i.getInStock()); + }); + } + + @Test + void whenIncludeFieldsAndExcludeOtherFields_thenOnlyExcludedFieldsAreNull() { + Query query = new Query(); + query.fields() + .include("item") + .include("status") + .exclude("_id"); + + List inventoryList = mongoTemplate.find(query, Inventory.class); + + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNull(i.getId()); + assertNull(i.getSize()); + assertNull(i.getInStock()); + }); + } + + @Test + void whenIncludeAllButExcludeSomeFields_thenOnlyExcludedFieldsAreNull() { + Query query = new Query(); + query.fields() + .exclude("status") + .exclude("inStock"); + + List inventoryList = mongoTemplate.find(query, Inventory.class); + + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getId()); + assertNotNull(i.getSize()); + assertNull(i.getInStock()); + assertNull(i.getStatus()); + }); + } + + @Test + void whenIncludeEmbeddedFields_thenEmbeddedFieldsAreNotNull() { + Query query = new Query(); + query.fields() + .include("item") + .include("status") + .include("size.uom"); + + List inventoryList = mongoTemplate.find(query, Inventory.class); + + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNotNull(i.getId()); + assertNotNull(i.getSize()); + assertNotNull(i.getSize() + .getUom()); + assertNull(i.getSize() + .getHeight()); + assertNull(i.getSize() + .getWidth()); + assertNull(i.getInStock()); + }); + } + + @Test + void whenExcludeEmbeddedFields_thenEmbeddedFieldsAreNull() { + Query query = new Query(); + query.fields() + .exclude("size.uom"); + + List inventoryList = mongoTemplate.find(query, Inventory.class); + + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNotNull(i.getId()); + assertNotNull(i.getSize()); + assertNull(i.getSize() + .getUom()); + assertNotNull(i.getSize() + .getHeight()); + assertNotNull(i.getSize() + .getWidth()); + assertNotNull(i.getInStock()); + }); + } + + @Test + void whenIncludeEmbeddedFieldsInArray_thenEmbeddedFieldsInArrayAreNotNull() { + Query query = new Query(); + query.fields() + .include("item") + .include("status") + .include("inStock.quantity"); + + List inventoryList = mongoTemplate.find(query, Inventory.class); + + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNotNull(i.getId()); + assertNotNull(i.getInStock()); + i.getInStock() + .forEach(stock -> { + assertNull(stock.getWareHouse()); + assertNotNull(stock.getQuantity()); + }); + assertNull(i.getSize()); + }); + } + + @Test + void whenIncludeEmbeddedFieldsSliceInArray_thenArrayLengthEqualToSlice() { + Inventory postcard = new Inventory(); + postcard.setItem("postcard"); + postcard.setStatus("A"); + postcard.setSize(new Size(10.0, 15.25, "cm")); + + InStock firstInStock = new InStock("B", 15); + InStock lastInStock = new InStock("C", 35); + + postcard.setInStock(Arrays.asList(firstInStock, lastInStock)); + + mongoTemplate.save(postcard); + + Query query = new Query(); + query.fields() + .include("item") + .include("status") + .slice("inStock", -1); + + List inventoryList = mongoTemplate.find(query, Inventory.class); + + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNotNull(i.getId()); + assertNotNull(i.getInStock()); + assertEquals(1, i.getInStock() + .size()); + assertNull(i.getSize()); + }); + + InStock stock = inventoryList.stream() + .filter(i -> i.getItem() + .equals("postcard")) + .map(i -> i.getInStock() + .get(0)) + .findFirst() + .orElse(null); + + assertEquals(lastInStock, stock); + } + +} diff --git a/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/RepositoryProjectionUnitTest.java b/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/RepositoryProjectionUnitTest.java new file mode 100644 index 0000000000..e8f2d4bf7d --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/RepositoryProjectionUnitTest.java @@ -0,0 +1,177 @@ +package com.baeldung.projection; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.Arrays; +import java.util.List; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +import com.baeldung.projection.config.ProjectionConfig; +import com.baeldung.projection.model.InStock; +import com.baeldung.projection.model.Inventory; +import com.baeldung.projection.model.Size; +import com.baeldung.projection.repository.InventoryRepository; + +@ExtendWith(SpringExtension.class) +@ContextConfiguration(classes = ProjectionConfig.class) +public class RepositoryProjectionUnitTest extends AbstractTestProjection { + + @Autowired + private InventoryRepository inventoryRepository; + + @BeforeEach + void setup() { + List inventoryList = getInventories(); + + inventoryRepository.saveAll(inventoryList); + } + + @Test + void whenIncludeFields_thenOnlyIncludedFieldsAreNotNull() { + List inventoryList = inventoryRepository.findByStatusIncludeItemAndStatusFields("A"); + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getId()); + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNull(i.getSize()); + assertNull(i.getInStock()); + }); + } + + @Test + void whenIncludeFieldsAndExcludeOtherFields_thenOnlyExcludedFieldsAreNull() { + List inventoryList = inventoryRepository.findByStatusIncludeItemAndStatusExcludeIdFields("A"); + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNull(i.getId()); + assertNull(i.getSize()); + assertNull(i.getInStock()); + }); + } + + @Test + void whenIncludeAllButExcludeSomeFields_thenOnlyExcludedFieldsAreNull() { + List inventoryList = inventoryRepository.findByStatusIncludeAllButStatusAndStockFields("A"); + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getId()); + assertNotNull(i.getSize()); + assertNull(i.getInStock()); + assertNull(i.getStatus()); + }); + } + + @Test + void whenIncludeEmbeddedFields_thenEmbeddedFieldsAreNotNull() { + List inventoryList = inventoryRepository.findByStatusIncludeEmbeddedFields("A"); + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNotNull(i.getId()); + assertNotNull(i.getSize()); + assertNotNull(i.getSize() + .getUom()); + assertNull(i.getSize() + .getHeight()); + assertNull(i.getSize() + .getWidth()); + assertNull(i.getInStock()); + }); + } + + @Test + void whenExcludeEmbeddedFields_thenEmbeddedFieldsAreNull() { + List inventoryList = inventoryRepository.findByStatusExcludeEmbeddedFields("A"); + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNotNull(i.getId()); + assertNotNull(i.getSize()); + assertNull(i.getSize() + .getUom()); + assertNotNull(i.getSize() + .getHeight()); + assertNotNull(i.getSize() + .getWidth()); + assertNotNull(i.getInStock()); + }); + } + + @Test + void whenIncludeEmbeddedFieldsInArray_thenEmbeddedFieldsInArrayAreNotNull() { + List inventoryList = inventoryRepository.findByStatusIncludeEmbeddedFieldsInArray("A"); + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNotNull(i.getId()); + assertNotNull(i.getInStock()); + i.getInStock() + .forEach(stock -> { + assertNull(stock.getWareHouse()); + assertNotNull(stock.getQuantity()); + }); + assertNull(i.getSize()); + }); + } + + @Test + void whenIncludeEmbeddedFieldsSliceInArray_thenArrayLengthEqualToSlice() { + Inventory postcard = new Inventory(); + postcard.setItem("postcard"); + postcard.setStatus("A"); + postcard.setSize(new Size(10.0, 15.25, "cm")); + + InStock firstInStock = new InStock("B", 15); + InStock lastInStock = new InStock("C", 35); + + postcard.setInStock(Arrays.asList(firstInStock, lastInStock)); + + inventoryRepository.save(postcard); + + List inventoryList = inventoryRepository.findByStatusIncludeEmbeddedFieldsLastElementInArray("A"); + assertTrue(inventoryList.size() > 0); + + inventoryList.forEach(i -> { + assertNotNull(i.getItem()); + assertNotNull(i.getStatus()); + assertNotNull(i.getId()); + assertNotNull(i.getInStock()); + assertEquals(1, i.getInStock() + .size()); + assertNull(i.getSize()); + }); + + InStock stock = inventoryList.stream() + .filter(i -> i.getItem() + .equals("postcard")) + .map(i -> i.getInStock() + .get(0)) + .findFirst() + .orElse(null); + + assertEquals(lastInStock, stock); + } + +} diff --git a/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/config/ProjectionConfig.java b/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/config/ProjectionConfig.java new file mode 100644 index 0000000000..06260c0295 --- /dev/null +++ b/persistence-modules/spring-data-mongodb-2/src/test/java/com/baeldung/projection/config/ProjectionConfig.java @@ -0,0 +1,43 @@ +package com.baeldung.projection.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; +import org.springframework.util.SocketUtils; + +import com.mongodb.client.MongoClients; + +import de.flapdoodle.embed.mongo.MongodExecutable; +import de.flapdoodle.embed.mongo.MongodStarter; +import de.flapdoodle.embed.mongo.config.ImmutableMongodConfig; +import de.flapdoodle.embed.mongo.config.MongodConfig; +import de.flapdoodle.embed.mongo.config.Net; +import de.flapdoodle.embed.mongo.distribution.Version; +import de.flapdoodle.embed.process.runtime.Network; + +@Configuration +@ComponentScan(basePackages = "com.baeldung.projection") +@EnableMongoRepositories(basePackages = "com.baeldung.projection.repository") +public class ProjectionConfig { + + private static final String CONNECTION_STRING = "mongodb://%s:%d"; + private static final String HOST = "localhost"; + + @Bean + public MongoTemplate mongoTemplate() throws Exception { + int randomPort = SocketUtils.findAvailableTcpPort(); + + ImmutableMongodConfig mongoDbConfig = MongodConfig.builder() + .version(Version.Main.PRODUCTION) + .net(new Net(HOST, randomPort, Network.localhostIsIPv6())) + .build(); + + MongodStarter starter = MongodStarter.getDefaultInstance(); + MongodExecutable mongodExecutable = starter.prepare(mongoDbConfig); + mongodExecutable.start(); + + return new MongoTemplate(MongoClients.create(String.format(CONNECTION_STRING, HOST, randomPort)), "mongo_auth"); + } +} From feaebfaafe6476636fbec305760072b379547a02 Mon Sep 17 00:00:00 2001 From: Haroon Khan Date: Wed, 15 Jun 2022 09:00:05 +0100 Subject: [PATCH 15/21] [JAVA-12620] Fix link --- core-java-modules/core-java-exceptions-2/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java-exceptions-2/README.md b/core-java-modules/core-java-exceptions-2/README.md index 428ca16813..d37808b8d9 100644 --- a/core-java-modules/core-java-exceptions-2/README.md +++ b/core-java-modules/core-java-exceptions-2/README.md @@ -14,5 +14,5 @@ This module contains articles about core java exceptions - [How to Find an Exception’s Root Cause in Java](https://www.baeldung.com/java-exception-root-cause) - [Java IOException “Too many open files”](https://www.baeldung.com/java-too-many-open-files) - [When Does Java Throw the ExceptionInInitializerError?](https://www.baeldung.com/java-exceptionininitializererror) -- More articles: [[<-- prev]](../core-java-exceptions-1) [[next -->]](../core-java-exceptions-3) +- More articles: [[<-- prev]](../core-java-exceptions) [[next -->]](../core-java-exceptions-3) From 9be62e031151040dc01314072f5fe811714e1d4d Mon Sep 17 00:00:00 2001 From: panos-kakos <102670093+panos-kakos@users.noreply.github.com> Date: Wed, 15 Jun 2022 19:00:49 +0100 Subject: [PATCH 16/21] Java 11493 (#12349) * moved spring-cloud-bus (submodule) to spring-cloud-modules (parent) * moved spring-cloud-cli (submodule) to spring-cloud-modules (parent) * moved spring-cloud-data-flow (submodule) to spring-cloud-modules (parent) * moved spring-sleuth (submodule) to spring-cloud-modules (parent) * Deleted submodules that we moved to spring-cloud-modules * deleted old modules from parent pom Co-authored-by: panagiotiskakos --- pom.xml | 3 - .../data-flow-shell/spring-shell.log | 2 - .../pom.xml | 34 ------ spring-cloud-modules/pom.xml | 3 + .../spring-cloud-bus}/README.md | 0 .../spring-cloud-bus}/pom.xml | 7 +- .../spring-cloud-config-client/pom.xml | 107 +++++++++--------- .../SpringCloudConfigClientApplication.java | 0 .../src/main/resources/application.yml | 52 ++++----- .../src/main/resources/logback.xml | 0 .../com/baeldung/SpringContextLiveTest.java | 0 .../spring-cloud-config-server/pom.xml | 98 ++++++++-------- .../SpringCloudConfigServerApplication.java | 0 .../src/main/resources/application.properties | 26 ++--- .../src/main/resources/config-server.jks | Bin .../src/main/resources/logback.xml | 0 ...onfigServerApplicationIntegrationTest.java | 0 .../java/com/baeldung/SpringContextTest.java | 0 .../spring-cloud-cli}/README.md | 0 .../spring-cloud-cli}/decrypt.sh | 0 .../spring-cloud-cli}/encrypt.sh | 0 .../spring-cloud-cli}/groovy.sh | 0 .../spring-cloud-cli}/groovy/eureka.groovy | 0 .../spring-cloud-cli}/groovy/restapi.groovy | 0 .../spring-cloud-cli}/install.sh | 0 .../spring-cloud-cli}/spring-cli-cmds.sh | 0 .../spring-cloud-cli}/yml/configserver.yml | 0 .../spring-cloud-cli}/yml/eureka.yml | 0 .../spring-cloud-data-flow}/README.md | 0 .../apache-spark-job/README.md | 0 .../apache-spark-job/pom.xml | 2 +- .../spring/cloud/PiApproximation.java | 0 .../batch-job/README.md | 0 .../spring-cloud-data-flow}/batch-job/pom.xml | 2 +- .../spring/cloud/BatchJobApplication.java | 0 .../spring/cloud/JobConfiguration.java | 0 .../batch-job/src/main/resources/logback.xml | 0 .../java/com/baeldung/SpringContextTest.java | 0 .../BatchJobApplicationIntegrationTest.java | 0 .../spring-cloud-data-flow}/pom.xml | 47 ++++---- .../spring-cloud-data-flow-etl/README.md | 0 .../customer-mongodb-sink/pom.xml | 2 +- .../customermongodbsink/Customer.java | 0 .../customermongodbsink/CustomerListener.java | 0 .../CustomerMongodbSinkApplication.java | 0 .../CustomerRepository.java | 0 .../src/main/resources/application.properties | 0 .../customer-transform/pom.xml | 2 +- .../customer/customertransform/Customer.java | 0 .../CustomerProcessorConfiguration.java | 0 .../CustomerTransformApplication.java | 0 .../src/main/resources/application.properties | 0 .../spring-cloud-data-flow-etl/pom.xml | 2 +- .../README.md | 0 .../data-flow-server/pom.xml | 11 +- .../cloud/DataFlowServerApplication.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logback.xml | 0 .../java/com/baeldung/SpringContextTest.java | 2 +- ...aFlowServerApplicationIntegrationTest.java | 0 .../src/test/resources/application.properties | 0 .../data-flow-shell/pom.xml | 3 +- .../cloud/DataFlowShellApplication.java | 0 .../src/main/resources/logback.xml | 0 .../com/baeldung/SpringContextLiveTest.java | 0 .../log-sink/pom.xml | 0 .../spring/cloud/LogSinkApplication.java | 0 .../log-sink/src/main/resources/logback.xml | 0 .../java/com/baeldung/SpringContextTest.java | 0 .../pom.xml | 55 +++++++++ .../time-processor/pom.xml | 0 .../cloud/TimeProcessorApplication.java | 0 .../src/main/resources/logback.xml | 0 .../java/com/baeldung/SpringContextTest.java | 0 .../time-source/pom.xml | 0 .../spring/cloud/TimeSourceApplication.java | 0 .../src/main/resources/logback.xml | 0 .../java/com/baeldung/SpringContextTest.java | 0 .../spring-sleuth}/README.md | 0 .../spring-sleuth}/pom.xml | 8 +- .../traceid/SleuthCurrentTraceIdApp.java | 0 .../traceid/SleuthTraceIdController.java | 0 .../spring/session/SchedulingService.java | 0 .../spring/session/SleuthController.java | 0 .../spring/session/SleuthService.java | 0 .../baeldung/spring/session/SleuthWebApp.java | 0 .../baeldung/spring/session/ThreadConfig.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logback.xml | 0 .../java/com/baeldung/SpringContextTest.java | 0 90 files changed, 246 insertions(+), 222 deletions(-) delete mode 100644 spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/spring-shell.log delete mode 100644 spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/pom.xml rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/README.md (100%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/pom.xml (86%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-client/pom.xml (96%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-client/src/main/java/com/baeldung/SpringCloudConfigClientApplication.java (100%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-client/src/main/resources/application.yml (90%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-client/src/main/resources/logback.xml (100%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-client/src/test/java/com/baeldung/SpringContextLiveTest.java (100%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-server/pom.xml (96%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-server/src/main/java/com/baeldung/SpringCloudConfigServerApplication.java (100%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-server/src/main/resources/application.properties (88%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-server/src/main/resources/config-server.jks (100%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-server/src/main/resources/logback.xml (100%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-server/src/test/java/com/baeldung/SpringCloudConfigServerApplicationIntegrationTest.java (100%) rename {spring-cloud-bus => spring-cloud-modules/spring-cloud-bus}/spring-cloud-config-server/src/test/java/com/baeldung/SpringContextTest.java (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/README.md (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/decrypt.sh (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/encrypt.sh (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/groovy.sh (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/groovy/eureka.groovy (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/groovy/restapi.groovy (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/install.sh (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/spring-cli-cmds.sh (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/yml/configserver.yml (100%) rename {spring-cloud-cli => spring-cloud-modules/spring-cloud-cli}/yml/eureka.yml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/README.md (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/apache-spark-job/README.md (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/apache-spark-job/pom.xml (94%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/apache-spark-job/src/main/java/com/baeldung/spring/cloud/PiApproximation.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/batch-job/README.md (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/batch-job/pom.xml (96%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/batch-job/src/main/java/com/baeldung/spring/cloud/BatchJobApplication.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/batch-job/src/main/java/com/baeldung/spring/cloud/JobConfiguration.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/batch-job/src/main/resources/logback.xml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/batch-job/src/test/java/com/baeldung/SpringContextTest.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/batch-job/src/test/java/com/baeldung/spring/cloud/BatchJobApplicationIntegrationTest.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/pom.xml (76%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/README.md (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-mongodb-sink/pom.xml (97%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/Customer.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerListener.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerMongodbSinkApplication.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerRepository.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/resources/application.properties (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-transform/pom.xml (96%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/Customer.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerProcessorConfiguration.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerTransformApplication.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/customer-transform/src/main/resources/application.properties (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-etl/pom.xml (91%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/README.md (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml (84%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/java/com/baeldung/spring/cloud/DataFlowServerApplication.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/application.properties (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/logback.xml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/SpringContextTest.java (85%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/spring/cloud/DataFlowServerApplicationIntegrationTest.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/resources/application.properties (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml (93%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/java/com/baeldung/spring/cloud/DataFlowShellApplication.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/resources/logback.xml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/data-flow-shell/src/test/java/com/baeldung/SpringContextLiveTest.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/log-sink/pom.xml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/log-sink/src/main/java/com/baeldung/spring/cloud/LogSinkApplication.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/log-sink/src/main/resources/logback.xml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/log-sink/src/test/java/com/baeldung/SpringContextTest.java (100%) create mode 100644 spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/pom.xml rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/time-processor/pom.xml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/time-processor/src/main/java/com/baeldung/spring/cloud/TimeProcessorApplication.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/time-processor/src/main/resources/logback.xml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/time-processor/src/test/java/com/baeldung/SpringContextTest.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/time-source/pom.xml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/time-source/src/main/java/com/baeldung/spring/cloud/TimeSourceApplication.java (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/time-source/src/main/resources/logback.xml (100%) rename {spring-cloud-data-flow => spring-cloud-modules/spring-cloud-data-flow}/spring-cloud-data-flow-stream-processing/time-source/src/test/java/com/baeldung/SpringContextTest.java (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/README.md (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/pom.xml (86%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/main/java/com/baeldung/spring/session/SchedulingService.java (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/main/java/com/baeldung/spring/session/SleuthController.java (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/main/java/com/baeldung/spring/session/SleuthService.java (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/main/java/com/baeldung/spring/session/SleuthWebApp.java (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/main/java/com/baeldung/spring/session/ThreadConfig.java (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/main/resources/application.properties (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/main/resources/logback.xml (100%) rename {spring-sleuth => spring-cloud-modules/spring-sleuth}/src/test/java/com/baeldung/SpringContextTest.java (100%) diff --git a/pom.xml b/pom.xml index d7943fa8d3..18bf89c490 100644 --- a/pom.xml +++ b/pom.xml @@ -610,9 +610,7 @@ spring-caching-2 spring-cloud-modules - spring-cloud-bus - spring-cloud-data-flow spring-core spring-core-2 @@ -654,7 +652,6 @@ spring-scheduling spring-security-modules spring-shell - spring-sleuth spring-soap spring-spel spring-state-machine diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/spring-shell.log b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/spring-shell.log deleted file mode 100644 index 92a8488c7d..0000000000 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/spring-shell.log +++ /dev/null @@ -1,2 +0,0 @@ -// dataflow 1.2.0.RELEASE log opened at 2016-10-20 13:13:20 -// dataflow 1.2.0.RELEASE log opened at 2016-10-24 16:51:17 diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/pom.xml b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/pom.xml deleted file mode 100644 index 678ba1c6ac..0000000000 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - 4.0.0 - com.baeldung - spring-cloud-data-flow-stream-processing - 0.0.1-SNAPSHOT - spring-cloud-data-flow-stream-processing - pom - - - com.baeldung - spring-cloud-data-flow - 0.0.1-SNAPSHOT - - - - data-flow-server - data-flow-shell - time-source - time-processor - log-sink - - - - - org.springframework.boot - spring-boot-starter-test - test - - - - \ No newline at end of file diff --git a/spring-cloud-modules/pom.xml b/spring-cloud-modules/pom.xml index d2f3845922..bd62814e1d 100644 --- a/spring-cloud-modules/pom.xml +++ b/spring-cloud-modules/pom.xml @@ -50,6 +50,9 @@ spring-cloud-sentinel spring-cloud-dapr spring-cloud-docker + spring-cloud-bus + spring-cloud-data-flow + spring-sleuth diff --git a/spring-cloud-bus/README.md b/spring-cloud-modules/spring-cloud-bus/README.md similarity index 100% rename from spring-cloud-bus/README.md rename to spring-cloud-modules/spring-cloud-bus/README.md diff --git a/spring-cloud-bus/pom.xml b/spring-cloud-modules/spring-cloud-bus/pom.xml similarity index 86% rename from spring-cloud-bus/pom.xml rename to spring-cloud-modules/spring-cloud-bus/pom.xml index 2eab7d52a9..4caba15ca9 100644 --- a/spring-cloud-bus/pom.xml +++ b/spring-cloud-modules/spring-cloud-bus/pom.xml @@ -10,10 +10,9 @@ pom - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../parent-boot-2 + com.baeldung.spring.cloud + spring-cloud-modules + 1.0.0-SNAPSHOT diff --git a/spring-cloud-bus/spring-cloud-config-client/pom.xml b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/pom.xml similarity index 96% rename from spring-cloud-bus/spring-cloud-config-client/pom.xml rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/pom.xml index 28e7568266..87889570a3 100644 --- a/spring-cloud-bus/spring-cloud-config-client/pom.xml +++ b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/pom.xml @@ -1,54 +1,55 @@ - - - 4.0.0 - spring-cloud-config-client - spring-cloud-config-client - jar - Demo Spring Cloud Config Client - - - com.baeldung.spring.cloud - spring-cloud-bus - 1.0.0-SNAPSHOT - - - - - org.springframework.cloud - spring-cloud-starter-config - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-actuator - - - org.springframework.boot - spring-boot-actuator-autoconfigure - - - org.springframework.cloud - spring-cloud-starter-bus-amqp - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - + + + 4.0.0 + spring-cloud-config-client + spring-cloud-config-client + jar + Demo Spring Cloud Config Client + + + com.baeldung.spring.cloud + spring-cloud-bus + 1.0.0-SNAPSHOT + + + + + + org.springframework.cloud + spring-cloud-starter-config + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-actuator + + + org.springframework.boot + spring-boot-actuator-autoconfigure + + + org.springframework.cloud + spring-cloud-starter-bus-amqp + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/spring-cloud-bus/spring-cloud-config-client/src/main/java/com/baeldung/SpringCloudConfigClientApplication.java b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/src/main/java/com/baeldung/SpringCloudConfigClientApplication.java similarity index 100% rename from spring-cloud-bus/spring-cloud-config-client/src/main/java/com/baeldung/SpringCloudConfigClientApplication.java rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/src/main/java/com/baeldung/SpringCloudConfigClientApplication.java diff --git a/spring-cloud-bus/spring-cloud-config-client/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/src/main/resources/application.yml similarity index 90% rename from spring-cloud-bus/spring-cloud-config-client/src/main/resources/application.yml rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/src/main/resources/application.yml index bb5c9607b8..e8bc5b9c5a 100644 --- a/spring-cloud-bus/spring-cloud-config-client/src/main/resources/application.yml +++ b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/src/main/resources/application.yml @@ -1,27 +1,27 @@ ---- -spring: - application: - name: config-client - profiles: - active: development - config: - import: configserver:http://root:s3cr3t@localhost:8888 - rabbitmq: - host: localhost - port: 5672 - username: guest - password: guest - cloud: - bus: - enabled: true - refresh: - enabled: true - config: - fail-fast: true -management: - endpoints: - web: - exposure: - include: "*" - security: +--- +spring: + application: + name: config-client + profiles: + active: development + config: + import: configserver:http://root:s3cr3t@localhost:8888 + rabbitmq: + host: localhost + port: 5672 + username: guest + password: guest + cloud: + bus: + enabled: true + refresh: + enabled: true + config: + fail-fast: true +management: + endpoints: + web: + exposure: + include: "*" + security: enabled: false \ No newline at end of file diff --git a/spring-cloud-bus/spring-cloud-config-client/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/src/main/resources/logback.xml similarity index 100% rename from spring-cloud-bus/spring-cloud-config-client/src/main/resources/logback.xml rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/src/main/resources/logback.xml diff --git a/spring-cloud-bus/spring-cloud-config-client/src/test/java/com/baeldung/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/src/test/java/com/baeldung/SpringContextLiveTest.java similarity index 100% rename from spring-cloud-bus/spring-cloud-config-client/src/test/java/com/baeldung/SpringContextLiveTest.java rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-client/src/test/java/com/baeldung/SpringContextLiveTest.java diff --git a/spring-cloud-bus/spring-cloud-config-server/pom.xml b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/pom.xml similarity index 96% rename from spring-cloud-bus/spring-cloud-config-server/pom.xml rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/pom.xml index 03616b26af..e6439fa56a 100644 --- a/spring-cloud-bus/spring-cloud-config-server/pom.xml +++ b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/pom.xml @@ -1,50 +1,50 @@ - - - 4.0.0 - spring-cloud-config-server - spring-cloud-config-server - jar - Demo Spring Cloud Config Server - - - com.baeldung.spring.cloud - spring-cloud-bus - 1.0.0-SNAPSHOT - - - - - org.springframework.cloud - spring-cloud-config-server - - - org.springframework.boot - spring-boot-starter-security - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.cloud - spring-cloud-config-monitor - - - org.springframework.cloud - spring-cloud-starter-stream-rabbit - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - + + + 4.0.0 + spring-cloud-config-server + spring-cloud-config-server + jar + Demo Spring Cloud Config Server + + + com.baeldung.spring.cloud + spring-cloud-bus + 1.0.0-SNAPSHOT + + + + + org.springframework.cloud + spring-cloud-config-server + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.cloud + spring-cloud-config-monitor + + + org.springframework.cloud + spring-cloud-starter-stream-rabbit + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/spring-cloud-bus/spring-cloud-config-server/src/main/java/com/baeldung/SpringCloudConfigServerApplication.java b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/main/java/com/baeldung/SpringCloudConfigServerApplication.java similarity index 100% rename from spring-cloud-bus/spring-cloud-config-server/src/main/java/com/baeldung/SpringCloudConfigServerApplication.java rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/main/java/com/baeldung/SpringCloudConfigServerApplication.java diff --git a/spring-cloud-bus/spring-cloud-config-server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/main/resources/application.properties similarity index 88% rename from spring-cloud-bus/spring-cloud-config-server/src/main/resources/application.properties rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/main/resources/application.properties index 00ef9f0217..b27e14010e 100644 --- a/spring-cloud-bus/spring-cloud-config-server/src/main/resources/application.properties +++ b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/main/resources/application.properties @@ -1,14 +1,14 @@ -server.port=8888 -spring.cloud.config.server.git.uri= -spring.cloud.bus.enabled=true -spring.security.user.name=root -spring.security.user.password=s3cr3t -spring.rabbitmq.host=localhost -spring.rabbitmq.port=5672 -spring.rabbitmq.username=guest -spring.rabbitmq.password=guest - -encrypt.key-store.location=classpath:/config-server.jks -encrypt.key-store.password=my-s70r3-s3cr3t -encrypt.key-store.alias=config-server-key +server.port=8888 +spring.cloud.config.server.git.uri= +spring.cloud.bus.enabled=true +spring.security.user.name=root +spring.security.user.password=s3cr3t +spring.rabbitmq.host=localhost +spring.rabbitmq.port=5672 +spring.rabbitmq.username=guest +spring.rabbitmq.password=guest + +encrypt.key-store.location=classpath:/config-server.jks +encrypt.key-store.password=my-s70r3-s3cr3t +encrypt.key-store.alias=config-server-key encrypt.key-store.secret=my-k34-s3cr3t \ No newline at end of file diff --git a/spring-cloud-bus/spring-cloud-config-server/src/main/resources/config-server.jks b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/main/resources/config-server.jks similarity index 100% rename from spring-cloud-bus/spring-cloud-config-server/src/main/resources/config-server.jks rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/main/resources/config-server.jks diff --git a/spring-cloud-bus/spring-cloud-config-server/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/main/resources/logback.xml similarity index 100% rename from spring-cloud-bus/spring-cloud-config-server/src/main/resources/logback.xml rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/main/resources/logback.xml diff --git a/spring-cloud-bus/spring-cloud-config-server/src/test/java/com/baeldung/SpringCloudConfigServerApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/test/java/com/baeldung/SpringCloudConfigServerApplicationIntegrationTest.java similarity index 100% rename from spring-cloud-bus/spring-cloud-config-server/src/test/java/com/baeldung/SpringCloudConfigServerApplicationIntegrationTest.java rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/test/java/com/baeldung/SpringCloudConfigServerApplicationIntegrationTest.java diff --git a/spring-cloud-bus/spring-cloud-config-server/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-cloud-bus/spring-cloud-config-server/src/test/java/com/baeldung/SpringContextTest.java rename to spring-cloud-modules/spring-cloud-bus/spring-cloud-config-server/src/test/java/com/baeldung/SpringContextTest.java diff --git a/spring-cloud-cli/README.md b/spring-cloud-modules/spring-cloud-cli/README.md similarity index 100% rename from spring-cloud-cli/README.md rename to spring-cloud-modules/spring-cloud-cli/README.md diff --git a/spring-cloud-cli/decrypt.sh b/spring-cloud-modules/spring-cloud-cli/decrypt.sh similarity index 100% rename from spring-cloud-cli/decrypt.sh rename to spring-cloud-modules/spring-cloud-cli/decrypt.sh diff --git a/spring-cloud-cli/encrypt.sh b/spring-cloud-modules/spring-cloud-cli/encrypt.sh similarity index 100% rename from spring-cloud-cli/encrypt.sh rename to spring-cloud-modules/spring-cloud-cli/encrypt.sh diff --git a/spring-cloud-cli/groovy.sh b/spring-cloud-modules/spring-cloud-cli/groovy.sh similarity index 100% rename from spring-cloud-cli/groovy.sh rename to spring-cloud-modules/spring-cloud-cli/groovy.sh diff --git a/spring-cloud-cli/groovy/eureka.groovy b/spring-cloud-modules/spring-cloud-cli/groovy/eureka.groovy similarity index 100% rename from spring-cloud-cli/groovy/eureka.groovy rename to spring-cloud-modules/spring-cloud-cli/groovy/eureka.groovy diff --git a/spring-cloud-cli/groovy/restapi.groovy b/spring-cloud-modules/spring-cloud-cli/groovy/restapi.groovy similarity index 100% rename from spring-cloud-cli/groovy/restapi.groovy rename to spring-cloud-modules/spring-cloud-cli/groovy/restapi.groovy diff --git a/spring-cloud-cli/install.sh b/spring-cloud-modules/spring-cloud-cli/install.sh similarity index 100% rename from spring-cloud-cli/install.sh rename to spring-cloud-modules/spring-cloud-cli/install.sh diff --git a/spring-cloud-cli/spring-cli-cmds.sh b/spring-cloud-modules/spring-cloud-cli/spring-cli-cmds.sh similarity index 100% rename from spring-cloud-cli/spring-cli-cmds.sh rename to spring-cloud-modules/spring-cloud-cli/spring-cli-cmds.sh diff --git a/spring-cloud-cli/yml/configserver.yml b/spring-cloud-modules/spring-cloud-cli/yml/configserver.yml similarity index 100% rename from spring-cloud-cli/yml/configserver.yml rename to spring-cloud-modules/spring-cloud-cli/yml/configserver.yml diff --git a/spring-cloud-cli/yml/eureka.yml b/spring-cloud-modules/spring-cloud-cli/yml/eureka.yml similarity index 100% rename from spring-cloud-cli/yml/eureka.yml rename to spring-cloud-modules/spring-cloud-cli/yml/eureka.yml diff --git a/spring-cloud-data-flow/README.md b/spring-cloud-modules/spring-cloud-data-flow/README.md similarity index 100% rename from spring-cloud-data-flow/README.md rename to spring-cloud-modules/spring-cloud-data-flow/README.md diff --git a/spring-cloud-data-flow/apache-spark-job/README.md b/spring-cloud-modules/spring-cloud-data-flow/apache-spark-job/README.md similarity index 100% rename from spring-cloud-data-flow/apache-spark-job/README.md rename to spring-cloud-modules/spring-cloud-data-flow/apache-spark-job/README.md diff --git a/spring-cloud-data-flow/apache-spark-job/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/apache-spark-job/pom.xml similarity index 94% rename from spring-cloud-data-flow/apache-spark-job/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/apache-spark-job/pom.xml index 4f2ef6cd6c..b2b0c7d68a 100644 --- a/spring-cloud-data-flow/apache-spark-job/pom.xml +++ b/spring-cloud-modules/spring-cloud-data-flow/apache-spark-job/pom.xml @@ -7,7 +7,7 @@ apache-spark-job - com.baeldung + com.baeldung.spring.cloud spring-cloud-data-flow 0.0.1-SNAPSHOT diff --git a/spring-cloud-data-flow/apache-spark-job/src/main/java/com/baeldung/spring/cloud/PiApproximation.java b/spring-cloud-modules/spring-cloud-data-flow/apache-spark-job/src/main/java/com/baeldung/spring/cloud/PiApproximation.java similarity index 100% rename from spring-cloud-data-flow/apache-spark-job/src/main/java/com/baeldung/spring/cloud/PiApproximation.java rename to spring-cloud-modules/spring-cloud-data-flow/apache-spark-job/src/main/java/com/baeldung/spring/cloud/PiApproximation.java diff --git a/spring-cloud-data-flow/batch-job/README.md b/spring-cloud-modules/spring-cloud-data-flow/batch-job/README.md similarity index 100% rename from spring-cloud-data-flow/batch-job/README.md rename to spring-cloud-modules/spring-cloud-data-flow/batch-job/README.md diff --git a/spring-cloud-data-flow/batch-job/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/batch-job/pom.xml similarity index 96% rename from spring-cloud-data-flow/batch-job/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/batch-job/pom.xml index edb7e34389..627724a6be 100644 --- a/spring-cloud-data-flow/batch-job/pom.xml +++ b/spring-cloud-modules/spring-cloud-data-flow/batch-job/pom.xml @@ -11,7 +11,7 @@ Demo project for Spring Boot - com.baeldung + com.baeldung.spring.cloud spring-cloud-data-flow 0.0.1-SNAPSHOT diff --git a/spring-cloud-data-flow/batch-job/src/main/java/com/baeldung/spring/cloud/BatchJobApplication.java b/spring-cloud-modules/spring-cloud-data-flow/batch-job/src/main/java/com/baeldung/spring/cloud/BatchJobApplication.java similarity index 100% rename from spring-cloud-data-flow/batch-job/src/main/java/com/baeldung/spring/cloud/BatchJobApplication.java rename to spring-cloud-modules/spring-cloud-data-flow/batch-job/src/main/java/com/baeldung/spring/cloud/BatchJobApplication.java diff --git a/spring-cloud-data-flow/batch-job/src/main/java/com/baeldung/spring/cloud/JobConfiguration.java b/spring-cloud-modules/spring-cloud-data-flow/batch-job/src/main/java/com/baeldung/spring/cloud/JobConfiguration.java similarity index 100% rename from spring-cloud-data-flow/batch-job/src/main/java/com/baeldung/spring/cloud/JobConfiguration.java rename to spring-cloud-modules/spring-cloud-data-flow/batch-job/src/main/java/com/baeldung/spring/cloud/JobConfiguration.java diff --git a/spring-cloud-data-flow/batch-job/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-data-flow/batch-job/src/main/resources/logback.xml similarity index 100% rename from spring-cloud-data-flow/batch-job/src/main/resources/logback.xml rename to spring-cloud-modules/spring-cloud-data-flow/batch-job/src/main/resources/logback.xml diff --git a/spring-cloud-data-flow/batch-job/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-data-flow/batch-job/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-cloud-data-flow/batch-job/src/test/java/com/baeldung/SpringContextTest.java rename to spring-cloud-modules/spring-cloud-data-flow/batch-job/src/test/java/com/baeldung/SpringContextTest.java diff --git a/spring-cloud-data-flow/batch-job/src/test/java/com/baeldung/spring/cloud/BatchJobApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-data-flow/batch-job/src/test/java/com/baeldung/spring/cloud/BatchJobApplicationIntegrationTest.java similarity index 100% rename from spring-cloud-data-flow/batch-job/src/test/java/com/baeldung/spring/cloud/BatchJobApplicationIntegrationTest.java rename to spring-cloud-modules/spring-cloud-data-flow/batch-job/src/test/java/com/baeldung/spring/cloud/BatchJobApplicationIntegrationTest.java diff --git a/spring-cloud-data-flow/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/pom.xml similarity index 76% rename from spring-cloud-data-flow/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/pom.xml index f81daeeabc..25a70642ec 100644 --- a/spring-cloud-data-flow/pom.xml +++ b/spring-cloud-modules/spring-cloud-data-flow/pom.xml @@ -1,25 +1,24 @@ - - - 4.0.0 - spring-cloud-data-flow - 0.0.1-SNAPSHOT - spring-cloud-data-flow - pom - - - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../parent-boot-2 - - - - spring-cloud-data-flow-stream-processing - spring-cloud-data-flow-etl - batch-job - apache-spark-job - - + + + 4.0.0 + spring-cloud-data-flow + 0.0.1-SNAPSHOT + spring-cloud-data-flow + pom + + + com.baeldung.spring.cloud + spring-cloud-modules + 1.0.0-SNAPSHOT + + + + spring-cloud-data-flow-stream-processing + spring-cloud-data-flow-etl + batch-job + apache-spark-job + + \ No newline at end of file diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/README.md b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/README.md similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/README.md rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/README.md diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/pom.xml similarity index 97% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/pom.xml index a2a9bf1980..3493e9a841 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/pom.xml +++ b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/pom.xml @@ -9,7 +9,7 @@ Example ETL Load Project - com.baeldung + com.baeldung.spring.cloud spring-cloud-data-flow-etl 0.0.1-SNAPSHOT diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/Customer.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/Customer.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/Customer.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/Customer.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerListener.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerListener.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerListener.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerListener.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerMongodbSinkApplication.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerMongodbSinkApplication.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerMongodbSinkApplication.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerMongodbSinkApplication.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerRepository.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerRepository.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerRepository.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/java/com/customer/customermongodbsink/CustomerRepository.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/resources/application.properties similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/resources/application.properties rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-mongodb-sink/src/main/resources/application.properties diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/pom.xml similarity index 96% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/pom.xml index 067d25ec26..934cce1fdf 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/pom.xml +++ b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/pom.xml @@ -9,7 +9,7 @@ Example transform ETL step - com.baeldung + com.baeldung.spring.cloud spring-cloud-data-flow-etl 0.0.1-SNAPSHOT diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/Customer.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/Customer.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/Customer.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/Customer.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerProcessorConfiguration.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerProcessorConfiguration.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerProcessorConfiguration.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerProcessorConfiguration.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerTransformApplication.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerTransformApplication.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerTransformApplication.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/java/com/customer/customertransform/CustomerTransformApplication.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/resources/application.properties similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/resources/application.properties rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/customer-transform/src/main/resources/application.properties diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-etl/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/pom.xml similarity index 91% rename from spring-cloud-data-flow/spring-cloud-data-flow-etl/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/pom.xml index ffdd153f15..17cc61d236 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-etl/pom.xml +++ b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-etl/pom.xml @@ -9,7 +9,7 @@ pom - com.baeldung + com.baeldung.spring.cloud spring-cloud-data-flow 0.0.1-SNAPSHOT diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/README.md b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/README.md similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/README.md rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/README.md diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml similarity index 84% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml index 5dc8459e10..c521b77c4d 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml +++ b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml @@ -11,13 +11,19 @@ com.baeldung - parent-boot-1 + spring-cloud-data-flow-stream-processing 0.0.1-SNAPSHOT - ../../../parent-boot-1 + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + org.springframework.cloud spring-cloud-dataflow-dependencies @@ -62,6 +68,7 @@ 1.3.1.RELEASE Edgware.SR6 5.2.12.Final + 1.5.22.RELEASE \ No newline at end of file diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/java/com/baeldung/spring/cloud/DataFlowServerApplication.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/java/com/baeldung/spring/cloud/DataFlowServerApplication.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/java/com/baeldung/spring/cloud/DataFlowServerApplication.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/java/com/baeldung/spring/cloud/DataFlowServerApplication.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/application.properties similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/application.properties rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/application.properties diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/logback.xml similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/logback.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/logback.xml diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/SpringContextTest.java similarity index 85% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/SpringContextTest.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/SpringContextTest.java index d5b01c8b9c..7a5e4e695c 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/SpringContextTest.java +++ b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/SpringContextTest.java @@ -11,6 +11,6 @@ import org.springframework.test.context.junit4.SpringRunner; public class SpringContextTest { @Test - public void whenSpringContextIsBootstrapped_thenNoExceptions() { + public void contextLoads() { } } diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/spring/cloud/DataFlowServerApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/spring/cloud/DataFlowServerApplicationIntegrationTest.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/spring/cloud/DataFlowServerApplicationIntegrationTest.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/com/baeldung/spring/cloud/DataFlowServerApplicationIntegrationTest.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/resources/application.properties b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/resources/application.properties similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/resources/application.properties rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/resources/application.properties diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml similarity index 93% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml index 61c1b16581..5bf91a2c04 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml +++ b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml @@ -11,9 +11,8 @@ com.baeldung - parent-boot-1 + spring-cloud-data-flow-stream-processing 0.0.1-SNAPSHOT - ../../../parent-boot-1 diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/java/com/baeldung/spring/cloud/DataFlowShellApplication.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/java/com/baeldung/spring/cloud/DataFlowShellApplication.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/java/com/baeldung/spring/cloud/DataFlowShellApplication.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/java/com/baeldung/spring/cloud/DataFlowShellApplication.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/resources/logback.xml similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/resources/logback.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/main/resources/logback.xml diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/test/java/com/baeldung/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/test/java/com/baeldung/SpringContextLiveTest.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/test/java/com/baeldung/SpringContextLiveTest.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/src/test/java/com/baeldung/SpringContextLiveTest.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/pom.xml similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/pom.xml diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/main/java/com/baeldung/spring/cloud/LogSinkApplication.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/main/java/com/baeldung/spring/cloud/LogSinkApplication.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/main/java/com/baeldung/spring/cloud/LogSinkApplication.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/main/java/com/baeldung/spring/cloud/LogSinkApplication.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/main/resources/logback.xml similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/main/resources/logback.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/main/resources/logback.xml diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/test/java/com/baeldung/SpringContextTest.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/src/test/java/com/baeldung/SpringContextTest.java diff --git a/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/pom.xml new file mode 100644 index 0000000000..6e6367ecad --- /dev/null +++ b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/pom.xml @@ -0,0 +1,55 @@ + + + 4.0.0 + com.baeldung + spring-cloud-data-flow-stream-processing + 0.0.1-SNAPSHOT + spring-cloud-data-flow-stream-processing + pom + + + com.baeldung.spring.cloud + spring-cloud-data-flow + 0.0.1-SNAPSHOT + + + + data-flow-server + data-flow-shell + time-source + time-processor + log-sink + + + + + + io.rest-assured + rest-assured + ${rest-assured.version} + + + + + + + + net.bytebuddy + byte-buddy + ${byte-buddy.version} + test + + + + + 1.3.1.RELEASE + Edgware.SR6 + 5.2.12.Final + 1.11.20 + 3.1.0 + + + + \ No newline at end of file diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/pom.xml similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/pom.xml diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/main/java/com/baeldung/spring/cloud/TimeProcessorApplication.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/main/java/com/baeldung/spring/cloud/TimeProcessorApplication.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/main/java/com/baeldung/spring/cloud/TimeProcessorApplication.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/main/java/com/baeldung/spring/cloud/TimeProcessorApplication.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/main/resources/logback.xml similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/main/resources/logback.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/main/resources/logback.xml diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/test/java/com/baeldung/SpringContextTest.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/src/test/java/com/baeldung/SpringContextTest.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/pom.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/pom.xml similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/pom.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/pom.xml diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/main/java/com/baeldung/spring/cloud/TimeSourceApplication.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/main/java/com/baeldung/spring/cloud/TimeSourceApplication.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/main/java/com/baeldung/spring/cloud/TimeSourceApplication.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/main/java/com/baeldung/spring/cloud/TimeSourceApplication.java diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/main/resources/logback.xml similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/main/resources/logback.xml rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/main/resources/logback.xml diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/test/java/com/baeldung/SpringContextTest.java rename to spring-cloud-modules/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/src/test/java/com/baeldung/SpringContextTest.java diff --git a/spring-sleuth/README.md b/spring-cloud-modules/spring-sleuth/README.md similarity index 100% rename from spring-sleuth/README.md rename to spring-cloud-modules/spring-sleuth/README.md diff --git a/spring-sleuth/pom.xml b/spring-cloud-modules/spring-sleuth/pom.xml similarity index 86% rename from spring-sleuth/pom.xml rename to spring-cloud-modules/spring-sleuth/pom.xml index a6fba5ea56..15edcbdaa2 100644 --- a/spring-sleuth/pom.xml +++ b/spring-cloud-modules/spring-sleuth/pom.xml @@ -4,15 +4,15 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 spring-sleuth + com.baeldung.spring.cloud 1.0.0-SNAPSHOT spring-sleuth jar - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../parent-boot-2 + com.baeldung.spring.cloud + spring-cloud-modules + 1.0.0-SNAPSHOT diff --git a/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java b/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java similarity index 100% rename from spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java rename to spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java diff --git a/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java b/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java similarity index 100% rename from spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java rename to spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java diff --git a/spring-sleuth/src/main/java/com/baeldung/spring/session/SchedulingService.java b/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SchedulingService.java similarity index 100% rename from spring-sleuth/src/main/java/com/baeldung/spring/session/SchedulingService.java rename to spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SchedulingService.java diff --git a/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthController.java b/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthController.java similarity index 100% rename from spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthController.java rename to spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthController.java diff --git a/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthService.java b/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthService.java similarity index 100% rename from spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthService.java rename to spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthService.java diff --git a/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthWebApp.java b/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthWebApp.java similarity index 100% rename from spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthWebApp.java rename to spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthWebApp.java diff --git a/spring-sleuth/src/main/java/com/baeldung/spring/session/ThreadConfig.java b/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/ThreadConfig.java similarity index 100% rename from spring-sleuth/src/main/java/com/baeldung/spring/session/ThreadConfig.java rename to spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/ThreadConfig.java diff --git a/spring-sleuth/src/main/resources/application.properties b/spring-cloud-modules/spring-sleuth/src/main/resources/application.properties similarity index 100% rename from spring-sleuth/src/main/resources/application.properties rename to spring-cloud-modules/spring-sleuth/src/main/resources/application.properties diff --git a/spring-sleuth/src/main/resources/logback.xml b/spring-cloud-modules/spring-sleuth/src/main/resources/logback.xml similarity index 100% rename from spring-sleuth/src/main/resources/logback.xml rename to spring-cloud-modules/spring-sleuth/src/main/resources/logback.xml diff --git a/spring-sleuth/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-sleuth/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-sleuth/src/test/java/com/baeldung/SpringContextTest.java rename to spring-cloud-modules/spring-sleuth/src/test/java/com/baeldung/SpringContextTest.java From 405578bfb591c6f1a6b93aab9ceda911532023be Mon Sep 17 00:00:00 2001 From: lucaCambi77 Date: Wed, 15 Jun 2022 22:17:18 +0200 Subject: [PATCH 17/21] fix: remove projection from old module (#12358) --- .../spring-data-mongodb/README.md | 1 - .../baeldung/projection/model/InStock.java | 46 ---- .../baeldung/projection/model/Inventory.java | 71 ------ .../com/baeldung/projection/model/Size.java | 56 ----- .../repository/InventoryRepository.java | 33 --- .../projection/AbstractTestProjection.java | 49 ---- .../MongoTemplateProjectionUnitTest.java | 223 ------------------ .../RepositoryProjectionUnitTest.java | 177 -------------- .../projection/config/ProjectionConfig.java | 43 ---- 9 files changed, 699 deletions(-) delete mode 100644 persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/InStock.java delete mode 100644 persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/Inventory.java delete mode 100644 persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/Size.java delete mode 100644 persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/repository/InventoryRepository.java delete mode 100644 persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/AbstractTestProjection.java delete mode 100644 persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/MongoTemplateProjectionUnitTest.java delete mode 100644 persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/RepositoryProjectionUnitTest.java delete mode 100644 persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/config/ProjectionConfig.java diff --git a/persistence-modules/spring-data-mongodb/README.md b/persistence-modules/spring-data-mongodb/README.md index 7dd0a82def..acc978c68e 100644 --- a/persistence-modules/spring-data-mongodb/README.md +++ b/persistence-modules/spring-data-mongodb/README.md @@ -11,7 +11,6 @@ - [Spring Data MongoDB: Projections and Aggregations](http://www.baeldung.com/spring-data-mongodb-projections-aggregations) - [Spring Data Annotations](http://www.baeldung.com/spring-data-annotations) - [Spring Data MongoDB Transactions](https://www.baeldung.com/spring-data-mongodb-transactions) -- [Return Only Specific Fields for a Query in Spring Data MongoDB](https://www.baeldung.com/mongodb-return-specific-fields) ## Spring Data MongoDB Live Testing diff --git a/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/InStock.java b/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/InStock.java deleted file mode 100644 index 6f57808ab0..0000000000 --- a/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/InStock.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.baeldung.projection.model; - -import java.util.Objects; - -public class InStock { - - private String wareHouse; - private Integer quantity; - - public InStock(String wareHouse, int quantity) { - this.wareHouse = wareHouse; - this.quantity = quantity; - } - - public String getWareHouse() { - return wareHouse; - } - - public void setWareHouse(String wareHouse) { - this.wareHouse = wareHouse; - } - - public Integer getQuantity() { - return quantity; - } - - public void setQuantity(Integer quantity) { - this.quantity = quantity; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - InStock inStock = (InStock) o; - return Objects.equals(wareHouse, inStock.wareHouse) && Objects.equals(quantity, inStock.quantity); - } - - @Override - public int hashCode() { - return Objects.hash(wareHouse, quantity); - } - -} diff --git a/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/Inventory.java b/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/Inventory.java deleted file mode 100644 index 0f4cf6b814..0000000000 --- a/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/Inventory.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.baeldung.projection.model; - -import java.util.List; -import java.util.Objects; - -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.mapping.Document; -import org.springframework.data.mongodb.core.mapping.MongoId; - -@Document(collection = "inventory") -public class Inventory { - - @Id - private String id; - private String item; - private String status; - private Size size; - private List inStock; - - public String getId() { - return id; - } - - public String getItem() { - return item; - } - - public void setItem(String item) { - this.item = item; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Size getSize() { - return size; - } - - public void setSize(Size size) { - this.size = size; - } - - public List getInStock() { - return inStock; - } - - public void setInStock(List inStock) { - this.inStock = inStock; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - Inventory inventory = (Inventory) o; - return Objects.equals(id, inventory.id) && Objects.equals(item, inventory.item) && Objects.equals(status, inventory.status); - } - - @Override - public int hashCode() { - return Objects.hash(id, item, status); - } - -} diff --git a/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/Size.java b/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/Size.java deleted file mode 100644 index 54af8f09f7..0000000000 --- a/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/model/Size.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.baeldung.projection.model; - -import java.util.Objects; - -public class Size { - - private Double height; - private Double width; - private String uom; - - public Size(Double height, Double width, String uom) { - this.height = height; - this.width = width; - this.uom = uom; - } - - public Double getHeight() { - return height; - } - - public void setHeight(Double height) { - this.height = height; - } - - public Double getWidth() { - return width; - } - - public void setWidth(Double width) { - this.width = width; - } - - public String getUom() { - return uom; - } - - public void setUom(String uom) { - this.uom = uom; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - Size size = (Size) o; - return Objects.equals(height, size.height) && Objects.equals(width, size.width) && Objects.equals(uom, size.uom); - } - - @Override - public int hashCode() { - return Objects.hash(height, width, uom); - } - -} diff --git a/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/repository/InventoryRepository.java b/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/repository/InventoryRepository.java deleted file mode 100644 index 66b4ef02d5..0000000000 --- a/persistence-modules/spring-data-mongodb/src/main/java/com/baeldung/projection/repository/InventoryRepository.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.baeldung.projection.repository; - -import java.util.List; - -import org.springframework.data.mongodb.repository.MongoRepository; -import org.springframework.data.mongodb.repository.Query; - -import com.baeldung.projection.model.Inventory; - -public interface InventoryRepository extends MongoRepository { - - @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1 }") - List findByStatusIncludeItemAndStatusFields(String status); - - @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1, '_id' : 0 }") - List findByStatusIncludeItemAndStatusExcludeIdFields(String status); - - @Query(value = "{ 'status' : ?0 }", fields = "{ 'status' : 0, 'inStock' : 0 }") - List findByStatusIncludeAllButStatusAndStockFields(String status); - - @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1, 'size.uom': 1 }") - List findByStatusIncludeEmbeddedFields(String status); - - @Query(value = "{ 'status' : ?0 }", fields = "{ 'size.uom': 0 }") - List findByStatusExcludeEmbeddedFields(String status); - - @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1, 'inStock.quantity': 1 }") - List findByStatusIncludeEmbeddedFieldsInArray(String status); - - @Query(value = "{ 'status' : ?0 }", fields = "{ 'item' : 1, 'status' : 1, 'inStock': { $slice: -1 } }") - List findByStatusIncludeEmbeddedFieldsLastElementInArray(String status); - -} \ No newline at end of file diff --git a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/AbstractTestProjection.java b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/AbstractTestProjection.java deleted file mode 100644 index b197ada7aa..0000000000 --- a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/AbstractTestProjection.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.baeldung.projection; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import com.baeldung.projection.model.InStock; -import com.baeldung.projection.model.Inventory; -import com.baeldung.projection.model.Size; - -abstract class AbstractTestProjection { - - public List getInventories() { - Inventory journal = new Inventory(); - journal.setItem("journal"); - journal.setStatus("A"); - journal.setSize(new Size(14.0, 21.0, "cm")); - journal.setInStock(Collections.singletonList(new InStock("A", 5))); - - Inventory notebook = new Inventory(); - notebook.setItem("notebook"); - notebook.setStatus("A"); - notebook.setSize(new Size(8.5, 11.0, "in")); - notebook.setInStock(Collections.singletonList(new InStock("C", 5))); - - Inventory paper = new Inventory(); - paper.setItem("paper"); - paper.setStatus("D"); - paper.setSize(new Size(8.5, 11.0, "in")); - paper.setInStock(Collections.singletonList(new InStock("A", 60))); - - return Arrays.asList(journal, notebook, paper); - } - - abstract void whenIncludeFields_thenOnlyIncludedFieldsAreNotNull(); - - abstract void whenIncludeFieldsAndExcludeOtherFields_thenOnlyExcludedFieldsAreNull(); - - abstract void whenIncludeAllButExcludeSomeFields_thenOnlyExcludedFieldsAreNull(); - - abstract void whenIncludeEmbeddedFields_thenEmbeddedFieldsAreNotNull(); - - abstract void whenExcludeEmbeddedFields_thenEmbeddedFieldsAreNull(); - - abstract void whenIncludeEmbeddedFieldsInArray_thenEmbeddedFieldsInArrayAreNotNull(); - - abstract void whenIncludeEmbeddedFieldsSliceInArray_thenArrayLengthEqualToSlice(); - -} diff --git a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/MongoTemplateProjectionUnitTest.java b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/MongoTemplateProjectionUnitTest.java deleted file mode 100644 index 1cd6415a1b..0000000000 --- a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/MongoTemplateProjectionUnitTest.java +++ /dev/null @@ -1,223 +0,0 @@ -package com.baeldung.projection; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.Arrays; -import java.util.List; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.query.Query; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit.jupiter.SpringExtension; - -import com.baeldung.projection.config.ProjectionConfig; -import com.baeldung.projection.model.InStock; -import com.baeldung.projection.model.Inventory; -import com.baeldung.projection.model.Size; - -@ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = ProjectionConfig.class) -public class MongoTemplateProjectionUnitTest extends AbstractTestProjection { - - @Autowired - private MongoTemplate mongoTemplate; - - @BeforeEach - void setup() { - List inventoryList = getInventories(); - - mongoTemplate.insert(inventoryList, Inventory.class); - } - - @Test - void whenIncludeFields_thenOnlyIncludedFieldsAreNotNull() { - Query query = new Query(); - query.fields() - .include("item") - .include("status"); - - List inventoryList = mongoTemplate.find(query, Inventory.class); - - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getId()); - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNull(i.getSize()); - assertNull(i.getInStock()); - }); - } - - @Test - void whenIncludeFieldsAndExcludeOtherFields_thenOnlyExcludedFieldsAreNull() { - Query query = new Query(); - query.fields() - .include("item") - .include("status") - .exclude("_id"); - - List inventoryList = mongoTemplate.find(query, Inventory.class); - - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNull(i.getId()); - assertNull(i.getSize()); - assertNull(i.getInStock()); - }); - } - - @Test - void whenIncludeAllButExcludeSomeFields_thenOnlyExcludedFieldsAreNull() { - Query query = new Query(); - query.fields() - .exclude("status") - .exclude("inStock"); - - List inventoryList = mongoTemplate.find(query, Inventory.class); - - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getId()); - assertNotNull(i.getSize()); - assertNull(i.getInStock()); - assertNull(i.getStatus()); - }); - } - - @Test - void whenIncludeEmbeddedFields_thenEmbeddedFieldsAreNotNull() { - Query query = new Query(); - query.fields() - .include("item") - .include("status") - .include("size.uom"); - - List inventoryList = mongoTemplate.find(query, Inventory.class); - - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNotNull(i.getId()); - assertNotNull(i.getSize()); - assertNotNull(i.getSize() - .getUom()); - assertNull(i.getSize() - .getHeight()); - assertNull(i.getSize() - .getWidth()); - assertNull(i.getInStock()); - }); - } - - @Test - void whenExcludeEmbeddedFields_thenEmbeddedFieldsAreNull() { - Query query = new Query(); - query.fields() - .exclude("size.uom"); - - List inventoryList = mongoTemplate.find(query, Inventory.class); - - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNotNull(i.getId()); - assertNotNull(i.getSize()); - assertNull(i.getSize() - .getUom()); - assertNotNull(i.getSize() - .getHeight()); - assertNotNull(i.getSize() - .getWidth()); - assertNotNull(i.getInStock()); - }); - } - - @Test - void whenIncludeEmbeddedFieldsInArray_thenEmbeddedFieldsInArrayAreNotNull() { - Query query = new Query(); - query.fields() - .include("item") - .include("status") - .include("inStock.quantity"); - - List inventoryList = mongoTemplate.find(query, Inventory.class); - - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNotNull(i.getId()); - assertNotNull(i.getInStock()); - i.getInStock() - .forEach(stock -> { - assertNull(stock.getWareHouse()); - assertNotNull(stock.getQuantity()); - }); - assertNull(i.getSize()); - }); - } - - @Test - void whenIncludeEmbeddedFieldsSliceInArray_thenArrayLengthEqualToSlice() { - Inventory postcard = new Inventory(); - postcard.setItem("postcard"); - postcard.setStatus("A"); - postcard.setSize(new Size(10.0, 15.25, "cm")); - - InStock firstInStock = new InStock("B", 15); - InStock lastInStock = new InStock("C", 35); - - postcard.setInStock(Arrays.asList(firstInStock, lastInStock)); - - mongoTemplate.save(postcard); - - Query query = new Query(); - query.fields() - .include("item") - .include("status") - .slice("inStock", -1); - - List inventoryList = mongoTemplate.find(query, Inventory.class); - - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNotNull(i.getId()); - assertNotNull(i.getInStock()); - assertEquals(1, i.getInStock() - .size()); - assertNull(i.getSize()); - }); - - InStock stock = inventoryList.stream() - .filter(i -> i.getItem() - .equals("postcard")) - .map(i -> i.getInStock() - .get(0)) - .findFirst() - .orElse(null); - - assertEquals(lastInStock, stock); - } - -} diff --git a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/RepositoryProjectionUnitTest.java b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/RepositoryProjectionUnitTest.java deleted file mode 100644 index e8f2d4bf7d..0000000000 --- a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/RepositoryProjectionUnitTest.java +++ /dev/null @@ -1,177 +0,0 @@ -package com.baeldung.projection; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.Arrays; -import java.util.List; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit.jupiter.SpringExtension; - -import com.baeldung.projection.config.ProjectionConfig; -import com.baeldung.projection.model.InStock; -import com.baeldung.projection.model.Inventory; -import com.baeldung.projection.model.Size; -import com.baeldung.projection.repository.InventoryRepository; - -@ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = ProjectionConfig.class) -public class RepositoryProjectionUnitTest extends AbstractTestProjection { - - @Autowired - private InventoryRepository inventoryRepository; - - @BeforeEach - void setup() { - List inventoryList = getInventories(); - - inventoryRepository.saveAll(inventoryList); - } - - @Test - void whenIncludeFields_thenOnlyIncludedFieldsAreNotNull() { - List inventoryList = inventoryRepository.findByStatusIncludeItemAndStatusFields("A"); - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getId()); - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNull(i.getSize()); - assertNull(i.getInStock()); - }); - } - - @Test - void whenIncludeFieldsAndExcludeOtherFields_thenOnlyExcludedFieldsAreNull() { - List inventoryList = inventoryRepository.findByStatusIncludeItemAndStatusExcludeIdFields("A"); - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNull(i.getId()); - assertNull(i.getSize()); - assertNull(i.getInStock()); - }); - } - - @Test - void whenIncludeAllButExcludeSomeFields_thenOnlyExcludedFieldsAreNull() { - List inventoryList = inventoryRepository.findByStatusIncludeAllButStatusAndStockFields("A"); - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getId()); - assertNotNull(i.getSize()); - assertNull(i.getInStock()); - assertNull(i.getStatus()); - }); - } - - @Test - void whenIncludeEmbeddedFields_thenEmbeddedFieldsAreNotNull() { - List inventoryList = inventoryRepository.findByStatusIncludeEmbeddedFields("A"); - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNotNull(i.getId()); - assertNotNull(i.getSize()); - assertNotNull(i.getSize() - .getUom()); - assertNull(i.getSize() - .getHeight()); - assertNull(i.getSize() - .getWidth()); - assertNull(i.getInStock()); - }); - } - - @Test - void whenExcludeEmbeddedFields_thenEmbeddedFieldsAreNull() { - List inventoryList = inventoryRepository.findByStatusExcludeEmbeddedFields("A"); - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNotNull(i.getId()); - assertNotNull(i.getSize()); - assertNull(i.getSize() - .getUom()); - assertNotNull(i.getSize() - .getHeight()); - assertNotNull(i.getSize() - .getWidth()); - assertNotNull(i.getInStock()); - }); - } - - @Test - void whenIncludeEmbeddedFieldsInArray_thenEmbeddedFieldsInArrayAreNotNull() { - List inventoryList = inventoryRepository.findByStatusIncludeEmbeddedFieldsInArray("A"); - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNotNull(i.getId()); - assertNotNull(i.getInStock()); - i.getInStock() - .forEach(stock -> { - assertNull(stock.getWareHouse()); - assertNotNull(stock.getQuantity()); - }); - assertNull(i.getSize()); - }); - } - - @Test - void whenIncludeEmbeddedFieldsSliceInArray_thenArrayLengthEqualToSlice() { - Inventory postcard = new Inventory(); - postcard.setItem("postcard"); - postcard.setStatus("A"); - postcard.setSize(new Size(10.0, 15.25, "cm")); - - InStock firstInStock = new InStock("B", 15); - InStock lastInStock = new InStock("C", 35); - - postcard.setInStock(Arrays.asList(firstInStock, lastInStock)); - - inventoryRepository.save(postcard); - - List inventoryList = inventoryRepository.findByStatusIncludeEmbeddedFieldsLastElementInArray("A"); - assertTrue(inventoryList.size() > 0); - - inventoryList.forEach(i -> { - assertNotNull(i.getItem()); - assertNotNull(i.getStatus()); - assertNotNull(i.getId()); - assertNotNull(i.getInStock()); - assertEquals(1, i.getInStock() - .size()); - assertNull(i.getSize()); - }); - - InStock stock = inventoryList.stream() - .filter(i -> i.getItem() - .equals("postcard")) - .map(i -> i.getInStock() - .get(0)) - .findFirst() - .orElse(null); - - assertEquals(lastInStock, stock); - } - -} diff --git a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/config/ProjectionConfig.java b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/config/ProjectionConfig.java deleted file mode 100644 index 06260c0295..0000000000 --- a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/projection/config/ProjectionConfig.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.baeldung.projection.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; -import org.springframework.util.SocketUtils; - -import com.mongodb.client.MongoClients; - -import de.flapdoodle.embed.mongo.MongodExecutable; -import de.flapdoodle.embed.mongo.MongodStarter; -import de.flapdoodle.embed.mongo.config.ImmutableMongodConfig; -import de.flapdoodle.embed.mongo.config.MongodConfig; -import de.flapdoodle.embed.mongo.config.Net; -import de.flapdoodle.embed.mongo.distribution.Version; -import de.flapdoodle.embed.process.runtime.Network; - -@Configuration -@ComponentScan(basePackages = "com.baeldung.projection") -@EnableMongoRepositories(basePackages = "com.baeldung.projection.repository") -public class ProjectionConfig { - - private static final String CONNECTION_STRING = "mongodb://%s:%d"; - private static final String HOST = "localhost"; - - @Bean - public MongoTemplate mongoTemplate() throws Exception { - int randomPort = SocketUtils.findAvailableTcpPort(); - - ImmutableMongodConfig mongoDbConfig = MongodConfig.builder() - .version(Version.Main.PRODUCTION) - .net(new Net(HOST, randomPort, Network.localhostIsIPv6())) - .build(); - - MongodStarter starter = MongodStarter.getDefaultInstance(); - MongodExecutable mongodExecutable = starter.prepare(mongoDbConfig); - mongodExecutable.start(); - - return new MongoTemplate(MongoClients.create(String.format(CONNECTION_STRING, HOST, randomPort)), "mongo_auth"); - } -} From a5ddb7dd9cf726380b2173b9e4d520e36c735555 Mon Sep 17 00:00:00 2001 From: Abhinav Pandey Date: Thu, 16 Jun 2022 12:58:07 +0530 Subject: [PATCH 18/21] Bael 5543 - Running a spring boot app without DB (#12339) * BAEL-5543 - Running a spring boot app without db * BAEL-5543 - Adding authentication properties * BAEL-5543 - Moving to a new module * BAEL-5543 - Changing test class name * BAEL-5543 - Reducing Java version Co-authored-by: Abhinav Pandey --- spring-boot-modules/pom.xml | 1 + .../spring-boot-data-3/README.md | 1 + .../spring-boot-data-3/pom.xml | 47 +++++++++++++++++++ .../StartWithoutDbApplication.java | 13 +++++ .../src/main/resources/application.properties | 7 +++ .../StartWithoutDbIntegrationTest.java | 24 ++++++++++ 6 files changed, 93 insertions(+) create mode 100644 spring-boot-modules/spring-boot-data-3/README.md create mode 100644 spring-boot-modules/spring-boot-data-3/pom.xml create mode 100644 spring-boot-modules/spring-boot-data-3/src/main/java/com/baeldung/startwithoutdb/StartWithoutDbApplication.java create mode 100644 spring-boot-modules/spring-boot-data-3/src/main/resources/application.properties create mode 100644 spring-boot-modules/spring-boot-data-3/src/test/java/com/baeldung/startwithoutdb/StartWithoutDbIntegrationTest.java diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index 29685b0eb8..d0a35859b4 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -77,6 +77,7 @@ spring-boot-actuator spring-boot-data-2 spring-boot-validation + spring-boot-data-3 diff --git a/spring-boot-modules/spring-boot-data-3/README.md b/spring-boot-modules/spring-boot-data-3/README.md new file mode 100644 index 0000000000..7d843af9ea --- /dev/null +++ b/spring-boot-modules/spring-boot-data-3/README.md @@ -0,0 +1 @@ +### Relevant Articles: diff --git a/spring-boot-modules/spring-boot-data-3/pom.xml b/spring-boot-modules/spring-boot-data-3/pom.xml new file mode 100644 index 0000000000..a4fcd0c3f3 --- /dev/null +++ b/spring-boot-modules/spring-boot-data-3/pom.xml @@ -0,0 +1,47 @@ + + + 4.0.0 + + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + + com.baeldung + spring-boot-data-3 + 0.0.1-SNAPSHOT + spring-boot-data-3 + spring-boot-data-3 + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + mysql + mysql-connector-java + runtime + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/spring-boot-modules/spring-boot-data-3/src/main/java/com/baeldung/startwithoutdb/StartWithoutDbApplication.java b/spring-boot-modules/spring-boot-data-3/src/main/java/com/baeldung/startwithoutdb/StartWithoutDbApplication.java new file mode 100644 index 0000000000..6137113535 --- /dev/null +++ b/spring-boot-modules/spring-boot-data-3/src/main/java/com/baeldung/startwithoutdb/StartWithoutDbApplication.java @@ -0,0 +1,13 @@ +package com.baeldung.startwithoutdb; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class StartWithoutDbApplication { + + public static void main(String[] args) { + SpringApplication.run(StartWithoutDbApplication.class, args); + } + +} diff --git a/spring-boot-modules/spring-boot-data-3/src/main/resources/application.properties b/spring-boot-modules/spring-boot-data-3/src/main/resources/application.properties new file mode 100644 index 0000000000..cbe044134f --- /dev/null +++ b/spring-boot-modules/spring-boot-data-3/src/main/resources/application.properties @@ -0,0 +1,7 @@ +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.url=jdbc:mysql://localhost:3306/myDb +spring.datasource.username=root +spring.datasource.password=root +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect +spring.jpa.hibernate.ddl-auto=none +spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-data-3/src/test/java/com/baeldung/startwithoutdb/StartWithoutDbIntegrationTest.java b/spring-boot-modules/spring-boot-data-3/src/test/java/com/baeldung/startwithoutdb/StartWithoutDbIntegrationTest.java new file mode 100644 index 0000000000..74d07848a0 --- /dev/null +++ b/spring-boot-modules/spring-boot-data-3/src/test/java/com/baeldung/startwithoutdb/StartWithoutDbIntegrationTest.java @@ -0,0 +1,24 @@ +package com.baeldung.startwithoutdb; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.ApplicationContext; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.sql.DataSource; + +@SpringBootTest(classes = StartWithoutDbApplication.class) +class StartWithoutDbIntegrationTest { + + @Autowired + private ApplicationContext context; + + @Test + public void givenAutoConfigDisabled_whenStarting_thenNoAutoconfiguredBeansInContext() { + context.getBean(DataSource.class); + } + + +} From 4206dfd9e64e6fc57e8ddf4886a6718ed511a7b9 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Thu, 16 Jun 2022 23:57:01 +0530 Subject: [PATCH 19/21] JAVA-11493 Renamed spring-sleuth to spring-cloud-sleuth (#12365) --- spring-cloud-modules/pom.xml | 4 ++-- .../{spring-sleuth => spring-cloud-sleuth}/README.md | 0 .../{spring-sleuth => spring-cloud-sleuth}/pom.xml | 6 +++--- .../baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java | 0 .../baeldung/sleuth/traceid/SleuthTraceIdController.java | 0 .../java/com/baeldung/spring/session/SchedulingService.java | 0 .../java/com/baeldung/spring/session/SleuthController.java | 0 .../java/com/baeldung/spring/session/SleuthService.java | 0 .../main/java/com/baeldung/spring/session/SleuthWebApp.java | 0 .../main/java/com/baeldung/spring/session/ThreadConfig.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logback.xml | 0 .../src/test/java/com/baeldung/SpringContextTest.java | 0 13 files changed, 5 insertions(+), 5 deletions(-) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/README.md (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/pom.xml (93%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/main/java/com/baeldung/spring/session/SchedulingService.java (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/main/java/com/baeldung/spring/session/SleuthController.java (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/main/java/com/baeldung/spring/session/SleuthService.java (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/main/java/com/baeldung/spring/session/SleuthWebApp.java (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/main/java/com/baeldung/spring/session/ThreadConfig.java (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/main/resources/application.properties (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/main/resources/logback.xml (100%) rename spring-cloud-modules/{spring-sleuth => spring-cloud-sleuth}/src/test/java/com/baeldung/SpringContextTest.java (100%) diff --git a/spring-cloud-modules/pom.xml b/spring-cloud-modules/pom.xml index bd62814e1d..c06f600315 100644 --- a/spring-cloud-modules/pom.xml +++ b/spring-cloud-modules/pom.xml @@ -52,7 +52,7 @@ spring-cloud-docker spring-cloud-bus spring-cloud-data-flow - spring-sleuth + spring-cloud-sleuth @@ -95,4 +95,4 @@ 3.1.3 - \ No newline at end of file + diff --git a/spring-cloud-modules/spring-sleuth/README.md b/spring-cloud-modules/spring-cloud-sleuth/README.md similarity index 100% rename from spring-cloud-modules/spring-sleuth/README.md rename to spring-cloud-modules/spring-cloud-sleuth/README.md diff --git a/spring-cloud-modules/spring-sleuth/pom.xml b/spring-cloud-modules/spring-cloud-sleuth/pom.xml similarity index 93% rename from spring-cloud-modules/spring-sleuth/pom.xml rename to spring-cloud-modules/spring-cloud-sleuth/pom.xml index 15edcbdaa2..14db7e02ea 100644 --- a/spring-cloud-modules/spring-sleuth/pom.xml +++ b/spring-cloud-modules/spring-cloud-sleuth/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - spring-sleuth + spring-cloud-sleuth com.baeldung.spring.cloud 1.0.0-SNAPSHOT - spring-sleuth + spring-cloud-sleuth jar @@ -42,4 +42,4 @@ 3.1.0 - \ No newline at end of file + diff --git a/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java b/spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java rename to spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthCurrentTraceIdApp.java diff --git a/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java b/spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java rename to spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/sleuth/traceid/SleuthTraceIdController.java diff --git a/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SchedulingService.java b/spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/SchedulingService.java similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SchedulingService.java rename to spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/SchedulingService.java diff --git a/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthController.java b/spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/SleuthController.java similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthController.java rename to spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/SleuthController.java diff --git a/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthService.java b/spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/SleuthService.java similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthService.java rename to spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/SleuthService.java diff --git a/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthWebApp.java b/spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/SleuthWebApp.java similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/SleuthWebApp.java rename to spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/SleuthWebApp.java diff --git a/spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/ThreadConfig.java b/spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/ThreadConfig.java similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/main/java/com/baeldung/spring/session/ThreadConfig.java rename to spring-cloud-modules/spring-cloud-sleuth/src/main/java/com/baeldung/spring/session/ThreadConfig.java diff --git a/spring-cloud-modules/spring-sleuth/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-sleuth/src/main/resources/application.properties similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/main/resources/application.properties rename to spring-cloud-modules/spring-cloud-sleuth/src/main/resources/application.properties diff --git a/spring-cloud-modules/spring-sleuth/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-sleuth/src/main/resources/logback.xml similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/main/resources/logback.xml rename to spring-cloud-modules/spring-cloud-sleuth/src/main/resources/logback.xml diff --git a/spring-cloud-modules/spring-sleuth/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-sleuth/src/test/java/com/baeldung/SpringContextTest.java similarity index 100% rename from spring-cloud-modules/spring-sleuth/src/test/java/com/baeldung/SpringContextTest.java rename to spring-cloud-modules/spring-cloud-sleuth/src/test/java/com/baeldung/SpringContextTest.java From 44fa00e0ea82cee3234eef5b482486a2b1b262cd Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Fri, 17 Jun 2022 00:01:34 +0530 Subject: [PATCH 20/21] Task/java 12687 (#12367) * JAVA-11493 Renamed spring-sleuth to spring-cloud-sleuth * JAVA-12687 Fixed test by replacing site name with working site --- .../baeldung/httpclient/ssl/HttpClientSSLBypassUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java-11-2/src/test/java/com/baeldung/httpclient/ssl/HttpClientSSLBypassUnitTest.java b/core-java-modules/core-java-11-2/src/test/java/com/baeldung/httpclient/ssl/HttpClientSSLBypassUnitTest.java index 29c1538c85..68fcaae6d1 100644 --- a/core-java-modules/core-java-11-2/src/test/java/com/baeldung/httpclient/ssl/HttpClientSSLBypassUnitTest.java +++ b/core-java-modules/core-java-11-2/src/test/java/com/baeldung/httpclient/ssl/HttpClientSSLBypassUnitTest.java @@ -21,7 +21,7 @@ public class HttpClientSSLBypassUnitTest { .build(); HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create("https://www.testingmcafeesites.com/")) + .uri(URI.create("https://wrong.host.badssl.com/")) .build(); HttpResponse response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); From 65e05bbc8efeaa3c222933a51969dcd2e90be2fe Mon Sep 17 00:00:00 2001 From: Haroon Khan Date: Fri, 17 Jun 2022 11:13:18 +0100 Subject: [PATCH 21/21] [JAVA-12620] Add missing csv file --- libraries-data-io/src/main/resources/csv/namedColumn.csv | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 libraries-data-io/src/main/resources/csv/namedColumn.csv diff --git a/libraries-data-io/src/main/resources/csv/namedColumn.csv b/libraries-data-io/src/main/resources/csv/namedColumn.csv new file mode 100644 index 0000000000..8929412e97 --- /dev/null +++ b/libraries-data-io/src/main/resources/csv/namedColumn.csv @@ -0,0 +1,4 @@ +name,Age +Joe,27 +Jane,32 +Bob,53 \ No newline at end of file