Use empty message for Non-Spring Boot Condition

Update `AbstractNestedCondition` to use an empty message for non
Spring Boot nested conditions.

Fixes gh-7519
Closes gh-7529
This commit is contained in:
Madhura Bhave
2016-11-29 15:50:02 -08:00
committed by Phillip Webb
parent e430583eaf
commit 64da63aa96
4 changed files with 52 additions and 1 deletions

View File

@@ -195,7 +195,7 @@ abstract class AbstractNestedCondition extends SpringBootCondition
metadata);
}
return new ConditionOutcome(condition.matches(this.context, metadata),
(ConditionMessage) null);
ConditionMessage.empty());
}
public ConditionOutcome getUltimateOutcome() {

View File

@@ -21,8 +21,11 @@ import org.junit.Test;
import org.springframework.boot.test.util.EnvironmentTestUtils;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.type.AnnotatedTypeMetadata;
import static org.assertj.core.api.Assertions.assertThat;
@@ -94,6 +97,20 @@ public class AllNestedConditionsTests {
}
@Conditional(NonSpringBootCondition.class)
static class SubclassC {
}
}
static class NonSpringBootCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return true;
}
}
}

View File

@@ -21,8 +21,11 @@ import org.junit.Test;
import org.springframework.boot.test.util.EnvironmentTestUtils;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.type.AnnotatedTypeMetadata;
import static org.assertj.core.api.Assertions.assertThat;
@@ -98,6 +101,20 @@ public class AnyNestedConditionTests {
}
@Conditional(NonSpringBootCondition.class)
static class SubclassC {
}
}
static class NonSpringBootCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return false;
}
}
}

View File

@@ -21,8 +21,11 @@ import org.junit.Test;
import org.springframework.boot.test.util.EnvironmentTestUtils;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.type.AnnotatedTypeMetadata;
import static org.assertj.core.api.Assertions.assertThat;
@@ -94,6 +97,20 @@ public class NoneNestedConditionsTests {
}
@Conditional(NonSpringBootCondition.class)
static class SubClassC {
}
}
static class NonSpringBootCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return false;
}
}
}