From 6f757f33b3389b779182b7af836364898c888195 Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Sun, 16 May 2021 20:02:27 +0200 Subject: [PATCH 01/12] BAEL-4871 Spring Conditional Annotations --- .../DevEnvLoggingConfiguration.java | 16 +++++++++++++++ .../conditional/IsDevEnvCondition.java | 13 ++++++++++++ .../conditional/IsWindowsCondition.java | 15 ++++++++++++++ .../conditional/Java8Condition.java | 14 +++++++++++++ .../conditional/Java8DependedService.java | 9 +++++++++ .../annotations/conditional/Java8OrJava9.java | 18 +++++++++++++++++ .../conditional/Java9Condition.java | 14 +++++++++++++ .../conditional/LoggingService.java | 20 +++++++++++++++++++ 8 files changed, 119 insertions(+) create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/DevEnvLoggingConfiguration.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8DependedService.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/DevEnvLoggingConfiguration.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/DevEnvLoggingConfiguration.java new file mode 100644 index 0000000000..c2134ab053 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/DevEnvLoggingConfiguration.java @@ -0,0 +1,16 @@ +package java.com.baeldung.annotations.conditional; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; + +@Configuration +@Conditional(IsDevEnvCondition.class) +public class DevEnvLoggingConfiguration { + + @Bean + @Conditional(IsDevEnvCondition.class) + LoggingService loggingService() { + return new LoggingService(); + } +} diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java new file mode 100644 index 0000000000..e0da72d731 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java @@ -0,0 +1,13 @@ +package java.com.baeldung.annotations.conditional; + +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class IsDevEnvCondition implements Condition { + + @Override + public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { + return System.getProperty("env").equals("dev");; + } +} diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java new file mode 100644 index 0000000000..d7e492b5af --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java @@ -0,0 +1,15 @@ +package java.com.baeldung.annotations.conditional; + +import org.apache.commons.lang3.SystemUtils; + +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class IsWindowsCondition implements Condition { + + @Override + public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { + return SystemUtils.IS_OS_WINDOWS;; + } +} diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java new file mode 100644 index 0000000000..a18093ce18 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java @@ -0,0 +1,14 @@ +package java.com.baeldung.annotations.conditional; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnJava; +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class Java8Condition implements Condition { + + @Override + public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { + return ConditionalOnJava.JavaVersion.getJavaVersion().equals(ConditionalOnJava.JavaVersion.EIGHT); + } +} diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8DependedService.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8DependedService.java new file mode 100644 index 0000000000..bd2bdff99a --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8DependedService.java @@ -0,0 +1,9 @@ +package java.com.baeldung.annotations.conditional; + +import org.springframework.context.annotation.Conditional; +import org.springframework.stereotype.Service; + +@Service +@Conditional(Java8Condition.class) +public class Java8DependedService { +} diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java new file mode 100644 index 0000000000..5a19d7ef77 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java @@ -0,0 +1,18 @@ +package java.com.baeldung.annotations.conditional; + +import org.springframework.boot.autoconfigure.condition.AnyNestedCondition; +import org.springframework.context.annotation.Conditional; + +public class Java8OrJava9 extends AnyNestedCondition { + Java8OrJava9() { + super(ConfigurationPhase.REGISTER_BEAN); + } + + @Conditional(Java8Condition.class) + static class Java8 { + } + + @Conditional(Java9Condition.class) + static class Java9 { + } +} diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java new file mode 100644 index 0000000000..2f9c29d9ec --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java @@ -0,0 +1,14 @@ +package java.com.baeldung.annotations.conditional; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnJava; +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class Java9Condition implements Condition { + + @Override + public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { + return ConditionalOnJava.JavaVersion.getJavaVersion().equals(ConditionalOnJava.JavaVersion.NINE); + } +} diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java new file mode 100644 index 0000000000..e9aaaf3f74 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java @@ -0,0 +1,20 @@ +package java.com.baeldung.annotations.conditional; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.boot.autoconfigure.condition.ConditionalOnJava; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Conditional; +import org.springframework.stereotype.Service; + +@Service +@Conditional(IsDevEnvCondition.class) +@ConditionalOnProperty( + value = "logging.enabled", + havingValue = "true", + matchIfMissing = true) +@ConditionalOnExpression("${logging.enabled:true} and ${logging.level:DEBUG}") +@ConditionalOnJava(ConditionalOnJava.JavaVersion.EIGHT) +@Conditional(IsWindowsCondition.class) +@Conditional(Java8Condition.class) +public class LoggingService { +} From 2d1d9f3ec5e15c73c3e7c7fb1917ff76c4e01a68 Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Sun, 16 May 2021 20:03:39 +0200 Subject: [PATCH 02/12] BAEL-4871 Spring Conditional Annotations --- .../baeldung/annotations/conditional/LoggingService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java index e9aaaf3f74..f51ca10b7e 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java @@ -9,9 +9,9 @@ import org.springframework.stereotype.Service; @Service @Conditional(IsDevEnvCondition.class) @ConditionalOnProperty( - value = "logging.enabled", - havingValue = "true", - matchIfMissing = true) + value = "logging.enabled", + havingValue = "true", + matchIfMissing = true) @ConditionalOnExpression("${logging.enabled:true} and ${logging.level:DEBUG}") @ConditionalOnJava(ConditionalOnJava.JavaVersion.EIGHT) @Conditional(IsWindowsCondition.class) From b37973821c44377b9a03df81f5d634e66464ffb9 Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Sun, 16 May 2021 20:04:35 +0200 Subject: [PATCH 03/12] BAEL-4871 Spring Conditional Annotations --- .../baeldung/annotations/conditional/IsDevEnvCondition.java | 2 +- .../com/baeldung/annotations/conditional/Java8OrJava9.java | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java index e0da72d731..6da17d68c5 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java @@ -8,6 +8,6 @@ public class IsDevEnvCondition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return System.getProperty("env").equals("dev");; + return System.getProperty("env").equals("dev"); } } diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java index 5a19d7ef77..9574c60ce1 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java @@ -9,10 +9,8 @@ public class Java8OrJava9 extends AnyNestedCondition { } @Conditional(Java8Condition.class) - static class Java8 { - } + static class Java8 { } @Conditional(Java9Condition.class) - static class Java9 { - } + static class Java9 { } } From 9d5b3fcedb4db5810efab6dd3b742d5a7e2ae618 Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Sun, 16 May 2021 20:09:03 +0200 Subject: [PATCH 04/12] BAEL-4871 Spring Conditional Annotations --- spring-boot-modules/spring-boot-annotations/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spring-boot-modules/spring-boot-annotations/pom.xml b/spring-boot-modules/spring-boot-annotations/pom.xml index b495c5de04..4ee40bb90b 100644 --- a/spring-boot-modules/spring-boot-annotations/pom.xml +++ b/spring-boot-modules/spring-boot-annotations/pom.xml @@ -24,6 +24,10 @@ org.springframework.boot spring-boot-starter-web + + org.springframework.boot + spring-boot-autoconfigure + org.springframework.boot spring-boot-starter-data-jpa From 4d08dcace0982ab0747b1a5937a932dd08ee320a Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Sun, 16 May 2021 20:16:33 +0200 Subject: [PATCH 05/12] BAEL-4871 Spring Conditional Annotations --- .../conditional/DevEnvLoggingConfiguration.java | 2 +- .../annotations/conditional/IsDevEnvCondition.java | 2 +- .../annotations/conditional/IsWindowsCondition.java | 4 ++-- .../baeldung/annotations/conditional/Java8Condition.java | 6 +++--- .../annotations/conditional/Java8DependedService.java | 2 +- .../baeldung/annotations/conditional/Java8OrJava9.java | 2 +- .../baeldung/annotations/conditional/Java9Condition.java | 6 +++--- .../baeldung/annotations/conditional/LoggingService.java | 9 ++++----- 8 files changed, 16 insertions(+), 17 deletions(-) diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/DevEnvLoggingConfiguration.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/DevEnvLoggingConfiguration.java index c2134ab053..39f1d568f0 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/DevEnvLoggingConfiguration.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/DevEnvLoggingConfiguration.java @@ -1,4 +1,4 @@ -package java.com.baeldung.annotations.conditional; +package com.baeldung.annotations.conditional; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java index 6da17d68c5..7a866560c8 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java @@ -1,4 +1,4 @@ -package java.com.baeldung.annotations.conditional; +package com.baeldung.annotations.conditional; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java index d7e492b5af..21702ed9b8 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java @@ -1,4 +1,4 @@ -package java.com.baeldung.annotations.conditional; +package com.baeldung.annotations.conditional; import org.apache.commons.lang3.SystemUtils; @@ -10,6 +10,6 @@ public class IsWindowsCondition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return SystemUtils.IS_OS_WINDOWS;; + return SystemUtils.IS_OS_WINDOWS; } } diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java index a18093ce18..0d2ad56917 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java @@ -1,6 +1,6 @@ -package java.com.baeldung.annotations.conditional; +package com.baeldung.annotations.conditional; -import org.springframework.boot.autoconfigure.condition.ConditionalOnJava; +import org.springframework.boot.system.JavaVersion; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type.AnnotatedTypeMetadata; @@ -9,6 +9,6 @@ public class Java8Condition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return ConditionalOnJava.JavaVersion.getJavaVersion().equals(ConditionalOnJava.JavaVersion.EIGHT); + return JavaVersion.getJavaVersion().equals(JavaVersion.EIGHT); } } diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8DependedService.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8DependedService.java index bd2bdff99a..ab76dcd930 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8DependedService.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8DependedService.java @@ -1,4 +1,4 @@ -package java.com.baeldung.annotations.conditional; +package com.baeldung.annotations.conditional; import org.springframework.context.annotation.Conditional; import org.springframework.stereotype.Service; diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java index 9574c60ce1..77c501ed08 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8OrJava9.java @@ -1,4 +1,4 @@ -package java.com.baeldung.annotations.conditional; +package com.baeldung.annotations.conditional; import org.springframework.boot.autoconfigure.condition.AnyNestedCondition; import org.springframework.context.annotation.Conditional; diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java index 2f9c29d9ec..6a21be8bde 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java @@ -1,6 +1,6 @@ -package java.com.baeldung.annotations.conditional; +package com.baeldung.annotations.conditional; -import org.springframework.boot.autoconfigure.condition.ConditionalOnJava; +import org.springframework.boot.system.JavaVersion; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type.AnnotatedTypeMetadata; @@ -9,6 +9,6 @@ public class Java9Condition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return ConditionalOnJava.JavaVersion.getJavaVersion().equals(ConditionalOnJava.JavaVersion.NINE); + return JavaVersion.getJavaVersion().equals(JavaVersion.NINE); } } diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java index f51ca10b7e..1a65a16763 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java @@ -1,20 +1,19 @@ -package java.com.baeldung.annotations.conditional; +package com.baeldung.annotations.conditional; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnJava; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.system.JavaVersion; import org.springframework.context.annotation.Conditional; import org.springframework.stereotype.Service; @Service -@Conditional(IsDevEnvCondition.class) +@Conditional({IsDevEnvCondition.class, IsWindowsCondition.class, Java8Condition.class}) @ConditionalOnProperty( value = "logging.enabled", havingValue = "true", matchIfMissing = true) @ConditionalOnExpression("${logging.enabled:true} and ${logging.level:DEBUG}") -@ConditionalOnJava(ConditionalOnJava.JavaVersion.EIGHT) -@Conditional(IsWindowsCondition.class) -@Conditional(Java8Condition.class) +@ConditionalOnJava(JavaVersion.EIGHT) public class LoggingService { } From 2598e4fa4d5b665cc2bd518665b4756a1107719c Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Fri, 21 May 2021 14:40:57 +0200 Subject: [PATCH 06/12] BAEL-4871 Spring Conditional Annotations --- .../spring-boot-annotations/pom.xml | 5 ++ .../conditional/ConditionalUtils.java | 20 ++++++++ .../conditional/IsDevEnvCondition.java | 2 +- .../conditional/IsWindowsCondition.java | 4 +- .../conditional/Java8Condition.java | 3 +- .../conditional/Java9Condition.java | 3 +- .../conditional/LoggingService.java | 2 +- .../ConditionalTestConfiguration.java | 10 ++++ .../DevEnvLoggingConfigurationTest.java | 50 +++++++++++++++++++ .../IsDevEnvConditionUnitTest.java | 31 ++++++++++++ .../IsWindowsConditionUnitTest.java | 40 +++++++++++++++ .../conditional/Java8ConditionUnitTest.java | 40 +++++++++++++++ .../conditional/Java9ConditionUnitTest.java | 40 +++++++++++++++ 13 files changed, 241 insertions(+), 9 deletions(-) create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/ConditionalUtils.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/ConditionalTestConfiguration.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationTest.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsDevEnvConditionUnitTest.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsWindowsConditionUnitTest.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java8ConditionUnitTest.java create mode 100644 spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java9ConditionUnitTest.java diff --git a/spring-boot-modules/spring-boot-annotations/pom.xml b/spring-boot-modules/spring-boot-annotations/pom.xml index 4ee40bb90b..0affed0746 100644 --- a/spring-boot-modules/spring-boot-annotations/pom.xml +++ b/spring-boot-modules/spring-boot-annotations/pom.xml @@ -42,6 +42,11 @@ org.hibernate hibernate-core + + org.mockito + mockito-inline + test + org.springframework.boot diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/ConditionalUtils.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/ConditionalUtils.java new file mode 100644 index 0000000000..7294d843d1 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/ConditionalUtils.java @@ -0,0 +1,20 @@ +package com.baeldung.annotations.conditional; + +import org.apache.commons.lang3.SystemUtils; +import org.springframework.boot.system.JavaVersion; + +public class ConditionalUtils { + + public static boolean isWindows() { + return SystemUtils.IS_OS_WINDOWS; + } + + public static boolean isJava8() { + return JavaVersion.getJavaVersion().equals(JavaVersion.EIGHT); + } + + public static boolean isJava9() { + return JavaVersion.getJavaVersion().equals(JavaVersion.NINE); + } + +} diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java index 7a866560c8..768cd9f6ed 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsDevEnvCondition.java @@ -8,6 +8,6 @@ public class IsDevEnvCondition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return System.getProperty("env").equals("dev"); + return "dev".equals(System.getProperty("env")); } } diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java index 21702ed9b8..24aa4f4b1c 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/IsWindowsCondition.java @@ -1,7 +1,5 @@ package com.baeldung.annotations.conditional; -import org.apache.commons.lang3.SystemUtils; - import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type.AnnotatedTypeMetadata; @@ -10,6 +8,6 @@ public class IsWindowsCondition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return SystemUtils.IS_OS_WINDOWS; + return ConditionalUtils.isWindows(); } } diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java index 0d2ad56917..c5f5e16d52 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java8Condition.java @@ -1,6 +1,5 @@ package com.baeldung.annotations.conditional; -import org.springframework.boot.system.JavaVersion; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type.AnnotatedTypeMetadata; @@ -9,6 +8,6 @@ public class Java8Condition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return JavaVersion.getJavaVersion().equals(JavaVersion.EIGHT); + return ConditionalUtils.isJava8(); } } diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java index 6a21be8bde..2afa8b25a7 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/Java9Condition.java @@ -1,6 +1,5 @@ package com.baeldung.annotations.conditional; -import org.springframework.boot.system.JavaVersion; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type.AnnotatedTypeMetadata; @@ -9,6 +8,6 @@ public class Java9Condition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return JavaVersion.getJavaVersion().equals(JavaVersion.NINE); + return ConditionalUtils.isJava9(); } } diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java index 1a65a16763..e104ec86e1 100644 --- a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/LoggingService.java @@ -13,7 +13,7 @@ import org.springframework.stereotype.Service; value = "logging.enabled", havingValue = "true", matchIfMissing = true) -@ConditionalOnExpression("${logging.enabled:true} and ${logging.level:DEBUG}") +@ConditionalOnExpression("${logging.enabled:true} and '${logging.level}'.equals('DEBUG')") @ConditionalOnJava(JavaVersion.EIGHT) public class LoggingService { } diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/ConditionalTestConfiguration.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/ConditionalTestConfiguration.java new file mode 100644 index 0000000000..6b23433422 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/ConditionalTestConfiguration.java @@ -0,0 +1,10 @@ +package com.baeldung.annotations.conditional; + +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.context.annotation.ComponentScan; + +@TestConfiguration +@ComponentScan("com.baeldung.annotations.conditional") +public class ConditionalTestConfiguration { + +} diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationTest.java new file mode 100644 index 0000000000..54899f523d --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationTest.java @@ -0,0 +1,50 @@ +package com.baeldung.annotations.conditional; + +import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.boot.test.context.runner.ApplicationContextRunner; + +public class DevEnvLoggingConfigurationTest { + + private final ApplicationContextRunner contextRunner = new ApplicationContextRunner(); + + @Test + public void whenDevEnvEnabled_thenDevEnvLoggingConfigurationAndLoggingServiceShouldBeCreated() { + System.setProperty("env", "dev"); + + contextRunner + .withUserConfiguration(ConditionalTestConfiguration.class) + .run(context -> + Assertions.assertNotNull( + context.getBean(DevEnvLoggingConfiguration.class) + ) + ); + contextRunner + .withUserConfiguration(ConditionalTestConfiguration.class) + .run(context -> + Assertions.assertNotNull( + context.getBean(LoggingService.class) + ) + ); + } + + @Test + public void whenDevEnvNotEnabled_thenDevEnvLoggingConfigurationAndLoggingServiceShouldNotBeCreated() { + contextRunner + .withUserConfiguration(ConditionalTestConfiguration.class) + .run(context -> + Assertions.assertThrows(NoSuchBeanDefinitionException.class, () -> + context.getBean(DevEnvLoggingConfiguration.class) + ) + ); + contextRunner + .withUserConfiguration(ConditionalTestConfiguration.class) + .run(context -> + Assertions.assertThrows(NoSuchBeanDefinitionException.class, () -> + context.getBean(LoggingService.class) + ) + ); + } + +} diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsDevEnvConditionUnitTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsDevEnvConditionUnitTest.java new file mode 100644 index 0000000000..f4ef471f76 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsDevEnvConditionUnitTest.java @@ -0,0 +1,31 @@ +package com.baeldung.annotations.conditional; + +import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.mockito.Mockito; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class IsDevEnvConditionUnitTest { + + @Test + public void whenDevEnvEnabled_thenDevEnvConditionShouldPass() { + System.setProperty("env", "dev"); + + Assertions.assertTrue( + new IsDevEnvCondition().matches( + Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class) + ) + ); + } + + @Test + public void whenDevEnvNotEnabled_thenDevEnvConditionShouldNotPass() { + Assertions.assertTrue( + new IsDevEnvCondition().matches( + Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class) + ) + ); + } + +} diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsWindowsConditionUnitTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsWindowsConditionUnitTest.java new file mode 100644 index 0000000000..8f632aed1d --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsWindowsConditionUnitTest.java @@ -0,0 +1,40 @@ +package com.baeldung.annotations.conditional; + +import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.mockito.MockedStatic; +import org.mockito.Mockito; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class IsWindowsConditionUnitTest { + + @Test + public void whenOnWindows_thenIsWindowsConditionShouldPass() { + + try (MockedStatic theMock = Mockito.mockStatic(ConditionalUtils.class)) { + theMock.when(ConditionalUtils::isWindows) + .thenReturn(true); + Assertions.assertTrue( + new IsWindowsCondition().matches( + Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class) + ) + ); + } + + } + + @Test + public void whenNotOnWindows_thenIsWindowsConditionShouldNotPass() { + try (MockedStatic theMock = Mockito.mockStatic(ConditionalUtils.class)) { + theMock.when(ConditionalUtils::isWindows) + .thenReturn(false); + Assertions.assertFalse( + new IsWindowsCondition().matches( + Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class) + ) + ); + } + } + +} diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java8ConditionUnitTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java8ConditionUnitTest.java new file mode 100644 index 0000000000..37bf002ae2 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java8ConditionUnitTest.java @@ -0,0 +1,40 @@ +package com.baeldung.annotations.conditional; + +import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.mockito.MockedStatic; +import org.mockito.Mockito; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class Java8ConditionUnitTest { + + @Test + public void whenOnJava8_thenJava8ConditionShouldPass() { + + try (MockedStatic theMock = Mockito.mockStatic(ConditionalUtils.class)) { + theMock.when(ConditionalUtils::isJava8) + .thenReturn(true); + Assertions.assertTrue( + new Java8Condition().matches( + Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class) + ) + ); + } + + } + + @Test + public void whenNotOnJava8_thenJava8ConditionShouldNotPass() { + try (MockedStatic theMock = Mockito.mockStatic(ConditionalUtils.class)) { + theMock.when(ConditionalUtils::isJava8) + .thenReturn(false); + Assertions.assertFalse( + new Java8Condition().matches( + Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class) + ) + ); + } + } + +} diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java9ConditionUnitTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java9ConditionUnitTest.java new file mode 100644 index 0000000000..5808569107 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java9ConditionUnitTest.java @@ -0,0 +1,40 @@ +package com.baeldung.annotations.conditional; + +import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.mockito.MockedStatic; +import org.mockito.Mockito; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class Java9ConditionUnitTest { + + @Test + public void whenOnJava9_thenJava9ConditionShouldPass() { + + try (MockedStatic theMock = Mockito.mockStatic(ConditionalUtils.class)) { + theMock.when(ConditionalUtils::isJava9) + .thenReturn(true); + Assertions.assertTrue( + new Java9Condition().matches( + Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class) + ) + ); + } + + } + + @Test + public void whenNotOnJava9_thenJava9ConditionShouldNotPass() { + try (MockedStatic theMock = Mockito.mockStatic(ConditionalUtils.class)) { + theMock.when(ConditionalUtils::isJava9) + .thenReturn(false); + Assertions.assertFalse( + new Java9Condition().matches( + Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class) + ) + ); + } + } + +} From 94919df0c26d03419481403b15c8a5662a423202 Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Fri, 21 May 2021 14:43:48 +0200 Subject: [PATCH 07/12] BAEL-4871 Spring Conditional Annotations --- spring-boot-modules/spring-boot-annotations/pom.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spring-boot-modules/spring-boot-annotations/pom.xml b/spring-boot-modules/spring-boot-annotations/pom.xml index 0affed0746..22572e7492 100644 --- a/spring-boot-modules/spring-boot-annotations/pom.xml +++ b/spring-boot-modules/spring-boot-annotations/pom.xml @@ -42,17 +42,17 @@ org.hibernate hibernate-core - - org.mockito - mockito-inline - test - org.springframework.boot spring-boot-starter-test test + + org.mockito + mockito-inline + test + \ No newline at end of file From adfe5c687ebadf07f87dba09227092099f639239 Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Fri, 21 May 2021 14:55:38 +0200 Subject: [PATCH 08/12] BAEL-4871 Spring Conditional Annotations --- ...urationTest.java => DevEnvLoggingConfigurationUnitTest.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/{DevEnvLoggingConfigurationTest.java => DevEnvLoggingConfigurationUnitTest.java} (97%) diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationUnitTest.java similarity index 97% rename from spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationTest.java rename to spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationUnitTest.java index 54899f523d..2815fda82e 100644 --- a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationTest.java +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationUnitTest.java @@ -5,7 +5,7 @@ import org.junit.jupiter.api.Assertions; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.boot.test.context.runner.ApplicationContextRunner; -public class DevEnvLoggingConfigurationTest { +public class DevEnvLoggingConfigurationUnitTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner(); From 93c3b2bf358e1ff9fc835cf4cc727834b71ac48f Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Fri, 21 May 2021 14:59:07 +0200 Subject: [PATCH 09/12] BAEL-4871 Spring Conditional Annotations --- .../conditional/DevEnvLoggingConfigurationUnitTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationUnitTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationUnitTest.java index 2815fda82e..e7c1975127 100644 --- a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationUnitTest.java +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/DevEnvLoggingConfigurationUnitTest.java @@ -31,6 +31,8 @@ public class DevEnvLoggingConfigurationUnitTest { @Test public void whenDevEnvNotEnabled_thenDevEnvLoggingConfigurationAndLoggingServiceShouldNotBeCreated() { + System.setProperty("env", "not-dev"); + contextRunner .withUserConfiguration(ConditionalTestConfiguration.class) .run(context -> From 90780c982e14ee09ed0a1783bbf566e42bed06d2 Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Fri, 21 May 2021 15:55:43 +0200 Subject: [PATCH 10/12] BAEL-4871 Spring Conditional Annotations --- .../annotations/conditional/IsDevEnvConditionUnitTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsDevEnvConditionUnitTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsDevEnvConditionUnitTest.java index f4ef471f76..5302fc79dd 100644 --- a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsDevEnvConditionUnitTest.java +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsDevEnvConditionUnitTest.java @@ -21,7 +21,9 @@ public class IsDevEnvConditionUnitTest { @Test public void whenDevEnvNotEnabled_thenDevEnvConditionShouldNotPass() { - Assertions.assertTrue( + System.setProperty("env", "not-dev"); + + Assertions.assertFalse( new IsDevEnvCondition().matches( Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class) ) From 5739671260a1c7213d873b72598d122435936a11 Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Fri, 21 May 2021 16:00:09 +0200 Subject: [PATCH 11/12] BAEL-4871 Spring Conditional Annotations --- .../annotations/conditional/IsWindowsConditionUnitTest.java | 1 - .../baeldung/annotations/conditional/Java8ConditionUnitTest.java | 1 - .../baeldung/annotations/conditional/Java9ConditionUnitTest.java | 1 - 3 files changed, 3 deletions(-) diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsWindowsConditionUnitTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsWindowsConditionUnitTest.java index 8f632aed1d..45ae65a0e2 100644 --- a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsWindowsConditionUnitTest.java +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/IsWindowsConditionUnitTest.java @@ -11,7 +11,6 @@ public class IsWindowsConditionUnitTest { @Test public void whenOnWindows_thenIsWindowsConditionShouldPass() { - try (MockedStatic theMock = Mockito.mockStatic(ConditionalUtils.class)) { theMock.when(ConditionalUtils::isWindows) .thenReturn(true); diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java8ConditionUnitTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java8ConditionUnitTest.java index 37bf002ae2..0d1b1eded6 100644 --- a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java8ConditionUnitTest.java +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java8ConditionUnitTest.java @@ -11,7 +11,6 @@ public class Java8ConditionUnitTest { @Test public void whenOnJava8_thenJava8ConditionShouldPass() { - try (MockedStatic theMock = Mockito.mockStatic(ConditionalUtils.class)) { theMock.when(ConditionalUtils::isJava8) .thenReturn(true); diff --git a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java9ConditionUnitTest.java b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java9ConditionUnitTest.java index 5808569107..ce277e81fe 100644 --- a/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java9ConditionUnitTest.java +++ b/spring-boot-modules/spring-boot-annotations/src/test/java/com/baeldung/annotations/conditional/Java9ConditionUnitTest.java @@ -11,7 +11,6 @@ public class Java9ConditionUnitTest { @Test public void whenOnJava9_thenJava9ConditionShouldPass() { - try (MockedStatic theMock = Mockito.mockStatic(ConditionalUtils.class)) { theMock.when(ConditionalUtils::isJava9) .thenReturn(true); From ebb5192a603e4e145858534bea0282f97ecd182b Mon Sep 17 00:00:00 2001 From: majewsk6 Date: Tue, 25 May 2021 11:53:59 +0200 Subject: [PATCH 12/12] BAEL-4871 Spring Conditional Annotations --- .../conditional/AdditionalWebConfiguration.java | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/AdditionalWebConfiguration.java diff --git a/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/AdditionalWebConfiguration.java b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/AdditionalWebConfiguration.java new file mode 100644 index 0000000000..22b41a28e0 --- /dev/null +++ b/spring-boot-modules/spring-boot-annotations/src/main/java/com/baeldung/annotations/conditional/AdditionalWebConfiguration.java @@ -0,0 +1,9 @@ +package com.baeldung.annotations.conditional; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnWarDeployment; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ConditionalOnWarDeployment +public class AdditionalWebConfiguration { +}