Skip to content

Commit d43c3ca

Browse files
committed
Restore JDK 8 compatibility
1 parent 9c0c755 commit d43c3ca

File tree

2 files changed

+34
-16
lines changed

2 files changed

+34
-16
lines changed

junit-jupiter-params/src/main/java/org/junit/jupiter/params/ArgumentCountValidator.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
import java.util.Arrays;
1414
import java.util.Optional;
1515

16-
import org.jspecify.annotations.Nullable;
1716
import org.junit.jupiter.api.extension.ExtensionConfigurationException;
1817
import org.junit.jupiter.api.extension.ExtensionContext;
1918
import org.junit.jupiter.api.extension.ExtensionContext.Namespace;
19+
import org.junit.jupiter.params.ResolverFacade.RequiredParameterCount;
2020
import org.junit.platform.commons.logging.Logger;
2121
import org.junit.platform.commons.logging.LoggerFactory;
2222
import org.junit.platform.commons.util.Preconditions;
@@ -49,30 +49,33 @@ void validate(ExtensionContext extensionContext) {
4949
int totalCount = this.arguments.getTotalLength();
5050
Preconditions.condition(consumedCount == totalCount,
5151
() -> wrongNumberOfArgumentsMessages("consumes", consumedCount, null, null));
52-
}
53-
default -> throw new ExtensionConfigurationException(
54-
"Unsupported argument count validation mode: " + argumentCountValidationMode);
52+
break;
53+
default:
54+
throw new ExtensionConfigurationException(
55+
"Unsupported argument count validation mode: " + argumentCountValidationMode);
5556
}
5657
}
5758

5859
private void validateRequiredArgumentsArePresent() {
59-
var requiredParameterCount = this.declarationContext.getResolverFacade().getRequiredParameterCount();
60+
RequiredParameterCount requiredParameterCount = this.declarationContext.getResolverFacade().getRequiredParameterCount();
6061
if (requiredParameterCount != null) {
61-
var totalCount = this.arguments.getTotalLength();
62+
int totalCount = this.arguments.getTotalLength();
6263
Preconditions.condition(requiredParameterCount.value() <= totalCount,
6364
() -> wrongNumberOfArgumentsMessages("has", requiredParameterCount.value(), "required",
6465
requiredParameterCount.reason()));
6566
}
6667
}
6768

68-
private String wrongNumberOfArgumentsMessages(String verb, int actualCount, @Nullable String parameterAdjective,
69-
@Nullable String reason) {
69+
private String wrongNumberOfArgumentsMessages(String verb, int actualCount, String parameterAdjective,
70+
String reason) {
7071
int totalCount = this.arguments.getTotalLength();
71-
return "Configuration error: @%s %s %s %s%s%s but there %s %s %s provided.%nNote: the provided arguments were %s".formatted(
72+
return String.format(
73+
"Configuration error: @%s %s %s %s%s%s but there %s %s %s provided.%nNote: the provided arguments were %s",
7274
this.declarationContext.getAnnotationName(), verb, actualCount,
7375
parameterAdjective == null ? "" : parameterAdjective + " ",
74-
pluralize(actualCount, "parameter", "parameters"), reason == null ? "" : " (due to %s)".formatted(reason),
75-
pluralize(totalCount, "was", "were"), totalCount, pluralize(totalCount, "argument", "arguments"),
76+
pluralize(actualCount, "parameter", "parameters"),
77+
reason == null ? "" : String.format(" (due to %s)", reason), pluralize(totalCount, "was", "were"),
78+
totalCount, pluralize(totalCount, "argument", "arguments"),
7679
Arrays.toString(this.arguments.getAllPayloads()));
7780
}
7881

junit-jupiter-params/src/main/java/org/junit/jupiter/params/ResolverFacade.java

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ static ResolverFacade create(Class<?> clazz, List<Field> fields) {
9696
Stream.concat(uniqueIndexedParameters.values().stream(), aggregatorParameters.stream()) //
9797
.forEach(declaration -> makeAccessible(declaration.getField()));
9898

99-
var requiredParameterCount = new RequiredParameterCount(uniqueIndexedParameters.size(), "field injection");
99+
RequiredParameterCount requiredParameterCount = new RequiredParameterCount(uniqueIndexedParameters.size(),
100+
"field injection");
100101

101102
return new ResolverFacade(clazz, uniqueIndexedParameters, aggregatorParameters, 0, requiredParameterCount);
102103
}
@@ -155,12 +156,12 @@ else if (aggregatorParameters.isEmpty()) {
155156
private final Map<ParameterDeclaration, Resolver> resolvers;
156157
private final DefaultParameterDeclarations indexedParameterDeclarations;
157158
private final Set<? extends ResolvableParameterDeclaration> aggregatorParameters;
158-
private final @Nullable RequiredParameterCount requiredParameterCount;
159+
private final RequiredParameterCount requiredParameterCount;
159160

160161
private ResolverFacade(AnnotatedElement sourceElement,
161162
NavigableMap<Integer, ? extends ResolvableParameterDeclaration> indexedParameters,
162163
Set<? extends ResolvableParameterDeclaration> aggregatorParameters, int parameterIndexOffset,
163-
@Nullable RequiredParameterCount requiredParameterCount) {
164+
RequiredParameterCount requiredParameterCount) {
164165
this.aggregatorParameters = aggregatorParameters;
165166
this.parameterIndexOffset = parameterIndexOffset;
166167
this.resolvers = new ConcurrentHashMap<>(indexedParameters.size() + aggregatorParameters.size());
@@ -172,7 +173,6 @@ ParameterDeclarations getIndexedParameterDeclarations() {
172173
return this.indexedParameterDeclarations;
173174
}
174175

175-
@Nullable
176176
RequiredParameterCount getRequiredParameterCount() {
177177
return this.requiredParameterCount;
178178
}
@@ -781,6 +781,21 @@ public Object resolve(ParameterContext parameterContext, ExtensionContext extens
781781
}
782782
}
783783

784-
record RequiredParameterCount(int value, String reason) {
784+
static class RequiredParameterCount {
785+
private final int value;
786+
private final String reason;
787+
788+
RequiredParameterCount(int value, String reason) {
789+
this.value = value;
790+
this.reason = reason;
791+
}
792+
793+
int value() {
794+
return value;
795+
}
796+
797+
String reason() {
798+
return reason;
799+
}
785800
}
786801
}

0 commit comments

Comments
 (0)