Skip to content

Commit 75898d5

Browse files
committed
Merge branch 'restoring-predicate-consistency'
2 parents 53310ab + fbb299b commit 75898d5

16 files changed

+222
-20
lines changed

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/BeforeRoutePredicateFactory.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import java.util.List;
2222
import java.util.function.Predicate;
2323

24+
import jakarta.validation.constraints.NotNull;
25+
2426
import org.springframework.web.server.ServerWebExchange;
2527

2628
/**
@@ -65,6 +67,7 @@ public String toString() {
6567

6668
public static class Config {
6769

70+
@NotNull
6871
private ZonedDateTime datetime;
6972

7073
public ZonedDateTime getDatetime() {

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/BetweenRoutePredicateFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import jakarta.validation.constraints.NotNull;
2525

2626
import org.springframework.util.Assert;
27-
import org.springframework.validation.annotation.Validated;
2827
import org.springframework.web.server.ServerWebExchange;
2928

3029
/**
@@ -75,7 +74,6 @@ public String toString() {
7574
};
7675
}
7776

78-
@Validated
7977
public static class Config {
8078

8179
@NotNull

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/CookieRoutePredicateFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import jakarta.validation.constraints.NotEmpty;
2424

2525
import org.springframework.http.HttpCookie;
26-
import org.springframework.validation.annotation.Validated;
2726
import org.springframework.web.server.ServerWebExchange;
2827

2928
/**
@@ -79,7 +78,6 @@ public String toString() {
7978
};
8079
}
8180

82-
@Validated
8381
public static class Config {
8482

8583
@NotEmpty

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/HeaderRoutePredicateFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import jakarta.validation.constraints.NotEmpty;
2525

2626
import org.springframework.util.StringUtils;
27-
import org.springframework.validation.annotation.Validated;
2827
import org.springframework.web.server.ServerWebExchange;
2928

3029
/**
@@ -90,7 +89,6 @@ public String toString() {
9089
};
9190
}
9291

93-
@Validated
9492
public static class Config {
9593

9694
@NotEmpty

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/HostRoutePredicateFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.springframework.core.style.ToStringCreator;
2828
import org.springframework.util.AntPathMatcher;
2929
import org.springframework.util.PathMatcher;
30-
import org.springframework.validation.annotation.Validated;
3130
import org.springframework.web.server.ServerWebExchange;
3231

3332
/**
@@ -115,7 +114,6 @@ public String toString() {
115114
};
116115
}
117116

118-
@Validated
119117
public static class Config {
120118

121119
private List<String> patterns = new ArrayList<>();

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/MethodRoutePredicateFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import java.util.function.Predicate;
2222

2323
import org.springframework.http.HttpMethod;
24-
import org.springframework.validation.annotation.Validated;
2524
import org.springframework.web.server.ServerWebExchange;
2625

2726
import static java.util.Arrays.stream;
@@ -67,7 +66,6 @@ public String toString() {
6766
};
6867
}
6968

70-
@Validated
7169
public static class Config {
7270

7371
private HttpMethod[] methods;

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/PathRoutePredicateFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
import org.springframework.core.style.ToStringCreator;
2828
import org.springframework.http.server.PathContainer;
29-
import org.springframework.validation.annotation.Validated;
3029
import org.springframework.web.server.ServerWebExchange;
3130
import org.springframework.web.util.pattern.PathPattern;
3231
import org.springframework.web.util.pattern.PathPattern.PathMatchInfo;
@@ -134,7 +133,6 @@ public String toString() {
134133
};
135134
}
136135

137-
@Validated
138136
public static class Config {
139137

140138
private List<String> patterns = new ArrayList<>();

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/QueryRoutePredicateFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import jakarta.validation.constraints.NotEmpty;
2424

2525
import org.springframework.util.StringUtils;
26-
import org.springframework.validation.annotation.Validated;
2726
import org.springframework.web.server.ServerWebExchange;
2827

2928
/**
@@ -84,7 +83,6 @@ public String toString() {
8483
};
8584
}
8685

87-
@Validated
8886
public static class Config {
8987

9088
@NotEmpty

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/RemoteAddrRoutePredicateFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.apache.commons.logging.LogFactory;
3232

3333
import org.springframework.cloud.gateway.support.ipresolver.RemoteAddressResolver;
34-
import org.springframework.validation.annotation.Validated;
3534
import org.springframework.web.server.ServerWebExchange;
3635

3736
import static org.springframework.cloud.gateway.support.ShortcutConfigurable.ShortcutType.GATHER_LIST;
@@ -117,7 +116,6 @@ private void addSource(List<IpSubnetFilterRule> sources, String source) {
117116
sources.add(new IpSubnetFilterRule(ipAddress, cidrPrefix, IpFilterRuleType.ACCEPT));
118117
}
119118

120-
@Validated
121119
public static class Config {
122120

123121
@NotEmpty

spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/handler/predicate/AfterRoutePredicateFactoryTests.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,13 @@
1818

1919
import java.time.ZonedDateTime;
2020
import java.util.HashMap;
21+
import java.util.Set;
2122
import java.util.function.Predicate;
2223

24+
import jakarta.validation.ConstraintViolation;
25+
import jakarta.validation.Validation;
26+
import jakarta.validation.Validator;
27+
import jakarta.validation.ValidatorFactory;
2328
import org.junit.jupiter.api.Test;
2429

2530
import org.springframework.cloud.gateway.handler.predicate.AfterRoutePredicateFactory.Config;
@@ -99,4 +104,29 @@ public void toStringFormat() {
99104
assertThat(predicate.toString()).contains("After: " + config.getDatetime());
100105
}
101106

107+
@Test
108+
public void testConfig() {
109+
try (ValidatorFactory factory = Validation.buildDefaultValidatorFactory()) {
110+
Validator validator = factory.getValidator();
111+
112+
Config config = new Config();
113+
config.setDatetime(ZonedDateTime.now());
114+
115+
assertThat(validator.validate(config).isEmpty()).isTrue();
116+
}
117+
}
118+
119+
@Test
120+
public void testConfigNullField() {
121+
try (ValidatorFactory factory = Validation.buildDefaultValidatorFactory()) {
122+
Validator validator = factory.getValidator();
123+
124+
Config config = new Config();
125+
Set<ConstraintViolation<Config>> validate = validator.validate(config);
126+
127+
assertThat(validate.isEmpty()).isFalse();
128+
assertThat(validate.size()).isEqualTo(1);
129+
}
130+
}
131+
102132
}

0 commit comments

Comments
 (0)