diff --git a/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/ConditionalOnDependenciesPassed.java b/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/ConditionalOnDependenciesPassed.java index 82408496..cbedd4f6 100644 --- a/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/ConditionalOnDependenciesPassed.java +++ b/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/ConditionalOnDependenciesPassed.java @@ -25,7 +25,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Conditional; /** - * Annotation to turn on a feature if Zookeeper dependencies have been passed + * Annotation to turn on a feature if Zookeeper dependencies have been passed. + * Also checks if switch for zookeeper dependencies is turned on. * * @author Marcin Grzejszczak * @since 1.0.0 diff --git a/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/DependenciesNotPassedCondition.java b/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/DependenciesNotPassedCondition.java index d524e694..68d06f46 100644 --- a/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/DependenciesNotPassedCondition.java +++ b/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/DependenciesNotPassedCondition.java @@ -20,8 +20,7 @@ import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type.AnnotatedTypeMetadata; /** - * Inverse of the {@link ConditionalOnDependenciesPassed} condition. Also checks if switch for zookeeper dependencies - * was turned on + * Inverse of the {@link ConditionalOnDependenciesPassed} condition. * * @author Marcin Grzejszczak * @since 1.0.0 @@ -31,15 +30,7 @@ public class DependenciesNotPassedCondition extends DependenciesPassedCondition @Override public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) { ConditionOutcome propertiesSet = super.getMatchOutcome(context, metadata); - if (propertiesSet.isMatch()) { - return ConditionOutcome.inverse(propertiesSet); - } - Boolean dependenciesEnabled = context.getEnvironment() - .getProperty("spring.cloud.zookeeper.dependency.enabled", Boolean.class, false); - if (dependenciesEnabled) { - return ConditionOutcome.noMatch("Dependencies are defined in configuration and switch is turned on"); - } - return ConditionOutcome.match("Dependencies are not defined in configuration and switch is turned off"); + return ConditionOutcome.inverse(propertiesSet); } } diff --git a/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/DependenciesPassedCondition.java b/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/DependenciesPassedCondition.java index dacb7d7f..313f985f 100644 --- a/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/DependenciesPassedCondition.java +++ b/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/dependency/DependenciesPassedCondition.java @@ -37,9 +37,15 @@ public class DependenciesPassedCondition extends SpringBootCondition { @Override public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) { Map subProperties = new RelaxedPropertyResolver(context.getEnvironment()).getSubProperties(ZOOKEEPER_DEPENDENCIES_PROP); - return subProperties.isEmpty() ? - ConditionOutcome.noMatch("No dependencies have been passed for the service") : - ConditionOutcome.match(); + if (!subProperties.isEmpty()) { + return ConditionOutcome.match("Dependencies are defined in configuration"); + } + Boolean dependenciesEnabled = context.getEnvironment() + .getProperty("spring.cloud.zookeeper.dependency.enabled", Boolean.class, true); + if (dependenciesEnabled) { + return ConditionOutcome.match("Dependencies are not defined in configuration, but switch is turned on"); + } + return ConditionOutcome.noMatch("No dependencies have been passed for the service"); } } diff --git a/spring-cloud-zookeeper-discovery/src/test/groovy/org/springframework/cloud/zookeeper/discovery/ZookeeperLifecycleRegistrationDisabledTests.java b/spring-cloud-zookeeper-discovery/src/test/groovy/org/springframework/cloud/zookeeper/discovery/ZookeeperLifecycleRegistrationDisabledTests.java index 4e2d1c4a..af26fe22 100644 --- a/spring-cloud-zookeeper-discovery/src/test/groovy/org/springframework/cloud/zookeeper/discovery/ZookeeperLifecycleRegistrationDisabledTests.java +++ b/spring-cloud-zookeeper-discovery/src/test/groovy/org/springframework/cloud/zookeeper/discovery/ZookeeperLifecycleRegistrationDisabledTests.java @@ -42,7 +42,7 @@ import static org.junit.Assert.assertTrue; @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = ZookeeperLifecycleRegistrationDisabledTests.TestPropsConfig.class) @WebIntegrationTest(value = { "spring.application.name=myTestNotRegisteredService", - "spring.cloud.zookeeper.discovery.register=false"}, randomPort = true) + "spring.cloud.zookeeper.discovery.register=false", "spring.cloud.zookeeper.dependency.enabled=false"}, randomPort = true) public class ZookeeperLifecycleRegistrationDisabledTests { static TestingServer testingServer; diff --git a/spring-cloud-zookeeper-discovery/src/test/resources/application-nestedstructure.yml b/spring-cloud-zookeeper-discovery/src/test/resources/application-nestedstructure.yml index 84c328cc..5711a814 100644 --- a/spring-cloud-zookeeper-discovery/src/test/resources/application-nestedstructure.yml +++ b/spring-cloud-zookeeper-discovery/src/test/resources/application-nestedstructure.yml @@ -1 +1,2 @@ +spring.cloud.zookeeper.dependency.enabled: false spring.application.name: me