Skip to content

Commit f5d892b

Browse files
committed
Replace resource filter with predicate
1 parent 862cb3b commit f5d892b

File tree

7 files changed

+30
-131
lines changed

7 files changed

+30
-131
lines changed

junit-platform-commons/src/main/java/org/junit/platform/commons/util/ClasspathScanner.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ List<Class<?>> scanForClassesInClasspathRoot(URI root, ClassFilter classFilter)
9494
return findClassesForUri(root, PackageUtils.DEFAULT_PACKAGE_NAME, classFilter);
9595
}
9696

97-
List<Resource> scanForResourcesInPackage(String basePackageName, ResourceFilter resourceFilter) {
97+
List<Resource> scanForResourcesInPackage(String basePackageName, Predicate<Resource> resourceFilter) {
9898
Preconditions.condition(
9999
PackageUtils.DEFAULT_PACKAGE_NAME.equals(basePackageName) || isNotBlank(basePackageName),
100100
"basePackageName must not be null or blank");
@@ -105,7 +105,7 @@ List<Resource> scanForResourcesInPackage(String basePackageName, ResourceFilter
105105
return findResourcesForUris(roots, basePackageName, resourceFilter);
106106
}
107107

108-
List<Resource> scanForResourcesInClasspathRoot(URI root, ResourceFilter resourceFilter) {
108+
List<Resource> scanForResourcesInClasspathRoot(URI root, Predicate<Resource> resourceFilter) {
109109
Preconditions.notNull(root, "root must not be null");
110110
Preconditions.notNull(resourceFilter, "resourceFilter must not be null");
111111

@@ -139,7 +139,7 @@ private List<Class<?>> findClassesForUri(URI baseUri, String basePackageName, Cl
139139
* Recursively scan for resources in all the supplied source directories.
140140
*/
141141
private List<Resource> findResourcesForUris(List<URI> baseUris, String basePackageName,
142-
ResourceFilter resourceFilter) {
142+
Predicate<Resource> resourceFilter) {
143143
// @formatter:off
144144
return baseUris.stream()
145145
.map(baseUri -> findResourcesForUri(baseUri, basePackageName, resourceFilter))
@@ -149,7 +149,8 @@ private List<Resource> findResourcesForUris(List<URI> baseUris, String basePacka
149149
// @formatter:on
150150
}
151151

152-
private List<Resource> findResourcesForUri(URI baseUri, String basePackageName, ResourceFilter resourceFilter) {
152+
private List<Resource> findResourcesForUri(URI baseUri, String basePackageName,
153+
Predicate<Resource> resourceFilter) {
153154
List<Resource> resources = new ArrayList<>();
154155
// @formatter:off
155156
walkFilesForUri(baseUri, ClasspathFilters.resourceFiles(),
@@ -202,7 +203,7 @@ private void processClassFileSafely(Path baseDir, String basePackageName, ClassF
202203
}
203204
}
204205

205-
private void processResourceFileSafely(Path baseDir, String basePackageName, ResourceFilter resourceFilter,
206+
private void processResourceFileSafely(Path baseDir, String basePackageName, Predicate<Resource> resourceFilter,
206207
Path resourceFile, Consumer<Resource> resourceConsumer) {
207208
try {
208209
String fullyQualifiedResourceName = determineFullyQualifiedResourceName(baseDir, basePackageName,

junit-platform-commons/src/main/java/org/junit/platform/commons/util/ModuleUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.util.List;
1818
import java.util.Optional;
1919
import java.util.Set;
20+
import java.util.function.Predicate;
2021

2122
import org.apiguardian.api.API;
2223
import org.junit.platform.commons.logging.Logger;
@@ -108,7 +109,7 @@ public static List<Class<?>> findAllClassesInModule(String moduleName, ClassFilt
108109
* but potentially empty
109110
*/
110111
@API(status = INTERNAL, since = "1.11")
111-
public static List<Resource> findAllResourcesInModule(String moduleName, ResourceFilter filter) {
112+
public static List<Resource> findAllResourcesInModule(String moduleName, Predicate<Resource> filter) {
112113
Preconditions.notBlank(moduleName, "Module name must not be null or empty");
113114
Preconditions.notNull(filter, "Resource filter must not be null");
114115

junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java

Lines changed: 7 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,15 +1052,6 @@ public static List<Class<?>> findAllClassesInClasspathRoot(URI root, Predicate<C
10521052
return findAllClassesInClasspathRoot(root, ClassFilter.of(classNameFilter, classFilter));
10531053
}
10541054

1055-
/**
1056-
* @since 1.11
1057-
* @see #findAllResourcesInClasspathRoot(URI, Predicate)
1058-
*/
1059-
public static List<Resource> findAllResourcesInClasspathRoot(URI root, Predicate<Resource> resourceFilter) {
1060-
// unmodifiable since returned by public, non-internal method(s)
1061-
return findAllResourcesInClasspathRoot(root, ResourceFilter.of(resourceFilter));
1062-
}
1063-
10641055
/**
10651056
* @since 1.10
10661057
* @see org.junit.platform.commons.support.ReflectionSupport#streamAllClassesInClasspathRoot(URI, Predicate, Predicate)
@@ -1070,14 +1061,6 @@ public static Stream<Class<?>> streamAllClassesInClasspathRoot(URI root, Predica
10701061
return streamAllClassesInClasspathRoot(root, ClassFilter.of(classNameFilter, classFilter));
10711062
}
10721063

1073-
/**
1074-
* @since 1.11
1075-
* @see #streamAllResourcesInClasspathRoot(URI, Predicate)
1076-
*/
1077-
public static Stream<Resource> streamAllResourcesInClasspathRoot(URI root, Predicate<Resource> resourceFilter) {
1078-
return streamAllResourcesInClasspathRoot(root, ResourceFilter.of(resourceFilter));
1079-
}
1080-
10811064
/**
10821065
* @since 1.1
10831066
*/
@@ -1088,7 +1071,7 @@ public static List<Class<?>> findAllClassesInClasspathRoot(URI root, ClassFilter
10881071
/**
10891072
* @since 1.11
10901073
*/
1091-
public static List<Resource> findAllResourcesInClasspathRoot(URI root, ResourceFilter resourceFilter) {
1074+
public static List<Resource> findAllResourcesInClasspathRoot(URI root, Predicate<Resource> resourceFilter) {
10921075
return Collections.unmodifiableList(classpathScanner.scanForResourcesInClasspathRoot(root, resourceFilter));
10931076
}
10941077

@@ -1102,7 +1085,7 @@ public static Stream<Class<?>> streamAllClassesInClasspathRoot(URI root, ClassFi
11021085
/**
11031086
* @since 1.11
11041087
*/
1105-
public static Stream<Resource> streamAllResourcesInClasspathRoot(URI root, ResourceFilter resourceFilter) {
1088+
public static Stream<Resource> streamAllResourcesInClasspathRoot(URI root, Predicate<Resource> resourceFilter) {
11061089
return findAllResourcesInClasspathRoot(root, resourceFilter).stream();
11071090
}
11081091

@@ -1115,15 +1098,6 @@ public static List<Class<?>> findAllClassesInPackage(String basePackageName, Pre
11151098
return findAllClassesInPackage(basePackageName, ClassFilter.of(classNameFilter, classFilter));
11161099
}
11171100

1118-
/**
1119-
* @since 1.11
1120-
* @see org.junit.platform.commons.support.ReflectionSupport#findAllClassesInPackage(String, Predicate, Predicate)
1121-
*/
1122-
public static List<Resource> findAllResourcesInPackage(String basePackageName, Predicate<Resource> resourceFilter) {
1123-
// unmodifiable since returned by public, non-internal method(s)
1124-
return findAllResourcesInPackage(basePackageName, ResourceFilter.of(resourceFilter));
1125-
}
1126-
11271101
/**
11281102
* since 1.10
11291103
* @see org.junit.platform.commons.support.ReflectionSupport#streamAllClassesInPackage(String, Predicate, Predicate)
@@ -1133,15 +1107,6 @@ public static Stream<Class<?>> streamAllClassesInPackage(String basePackageName,
11331107
return streamAllClassesInPackage(basePackageName, ClassFilter.of(classNameFilter, classFilter));
11341108
}
11351109

1136-
/**
1137-
* since 1.11
1138-
* @see #streamAllResourcesInPackage(String, Predicate)
1139-
*/
1140-
public static Stream<Resource> streamAllResourcesInPackage(String basePackageName,
1141-
Predicate<Resource> resourceFilter) {
1142-
return streamAllResourcesInPackage(basePackageName, ResourceFilter.of(resourceFilter));
1143-
}
1144-
11451110
/**
11461111
* @since 1.1
11471112
*/
@@ -1152,7 +1117,7 @@ public static List<Class<?>> findAllClassesInPackage(String basePackageName, Cla
11521117
/**
11531118
* @since 1.11
11541119
*/
1155-
public static List<Resource> findAllResourcesInPackage(String basePackageName, ResourceFilter resourceFilter) {
1120+
public static List<Resource> findAllResourcesInPackage(String basePackageName, Predicate<Resource> resourceFilter) {
11561121
return Collections.unmodifiableList(
11571122
classpathScanner.scanForResourcesInPackage(basePackageName, resourceFilter));
11581123
}
@@ -1167,7 +1132,8 @@ public static Stream<Class<?>> streamAllClassesInPackage(String basePackageName,
11671132
/**
11681133
* @since 1.11
11691134
*/
1170-
public static Stream<Resource> streamAllResourcesInPackage(String basePackageName, ResourceFilter resourceFilter) {
1135+
public static Stream<Resource> streamAllResourcesInPackage(String basePackageName,
1136+
Predicate<Resource> resourceFilter) {
11711137
return findAllResourcesInPackage(basePackageName, resourceFilter).stream();
11721138
}
11731139

@@ -1181,15 +1147,6 @@ public static List<Class<?>> findAllClassesInModule(String moduleName, Predicate
11811147
return findAllClassesInModule(moduleName, ClassFilter.of(classNameFilter, classFilter));
11821148
}
11831149

1184-
/**
1185-
* @since 1.11
1186-
* @see #findAllResourcesInModule(String, Predicate)
1187-
*/
1188-
public static List<Resource> findAllResourcesInModule(String moduleName, Predicate<Resource> resourceFilter) {
1189-
// unmodifiable since returned by public, non-internal method(s)
1190-
return findAllResourcesInModule(moduleName, ResourceFilter.of(resourceFilter));
1191-
}
1192-
11931150
/**
11941151
* @since 1.10
11951152
* @see org.junit.platform.commons.support.ReflectionSupport#streamAllClassesInModule(String, Predicate, Predicate)
@@ -1199,14 +1156,6 @@ public static Stream<Class<?>> streamAllClassesInModule(String moduleName, Predi
11991156
return streamAllClassesInModule(moduleName, ClassFilter.of(classNameFilter, classFilter));
12001157
}
12011158

1202-
/**
1203-
* @since 1.11
1204-
* @see #streamAllResourcesInModule(String, Predicate)
1205-
*/
1206-
public static Stream<Resource> streamAllResourcesInModule(String moduleName, Predicate<Resource> resourceFilter) {
1207-
return streamAllResourcesInModule(moduleName, ResourceFilter.of(resourceFilter));
1208-
}
1209-
12101159
/**
12111160
* @since 1.1.1
12121161
*/
@@ -1217,7 +1166,7 @@ public static List<Class<?>> findAllClassesInModule(String moduleName, ClassFilt
12171166
/**
12181167
* @since 1.11
12191168
*/
1220-
public static List<Resource> findAllResourcesInModule(String moduleName, ResourceFilter resourceFilter) {
1169+
public static List<Resource> findAllResourcesInModule(String moduleName, Predicate<Resource> resourceFilter) {
12211170
return Collections.unmodifiableList(ModuleUtils.findAllResourcesInModule(moduleName, resourceFilter));
12221171
}
12231172

@@ -1231,7 +1180,7 @@ public static Stream<Class<?>> streamAllClassesInModule(String moduleName, Class
12311180
/**
12321181
* @since 1.11
12331182
*/
1234-
public static Stream<Resource> streamAllResourcesInModule(String moduleName, ResourceFilter resourceFilter) {
1183+
public static Stream<Resource> streamAllResourcesInModule(String moduleName, Predicate<Resource> resourceFilter) {
12351184
return findAllResourcesInModule(moduleName, resourceFilter).stream();
12361185
}
12371186

junit-platform-commons/src/main/java/org/junit/platform/commons/util/ResourceFilter.java

Lines changed: 0 additions & 51 deletions
This file was deleted.

junit-platform-commons/src/main/java9/org/junit/platform/commons/util/ModuleUtils.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public static List<Class<?>> findAllClassesInModule(String moduleName, ClassFilt
127127
* but potentially empty
128128
*/
129129
@API(status = INTERNAL, since = "1.11")
130-
public static List<Resource> findAllResourcesInModule(String moduleName, ResourceFilter filter) {
130+
public static List<Resource> findAllResourcesInModule(String moduleName, Predicate<Resource> filter) {
131131
Preconditions.notBlank(moduleName, "Module name must not be null or empty");
132132
Preconditions.notNull(filter, "Resource filter must not be null");
133133

@@ -185,7 +185,8 @@ private static List<Class<?>> scan(Set<ModuleReference> references, ClassFilter
185185
* Scan for classes using the supplied set of module references, class
186186
* filter, and loader.
187187
*/
188-
private static List<Resource> scan(Set<ModuleReference> references, ResourceFilter filter, ClassLoader loader) {
188+
private static List<Resource> scan(Set<ModuleReference> references, Predicate<Resource> filter,
189+
ClassLoader loader) {
189190
logger.debug(() -> "Scanning " + references.size() + " module references: " + references);
190191
ModuleReferenceResourceScanner scanner = new ModuleReferenceResourceScanner(filter, loader);
191192
List<Resource> classes = new ArrayList<>();
@@ -266,10 +267,10 @@ private Class<?> loadClassUnchecked(String binaryName) {
266267
*/
267268
static class ModuleReferenceResourceScanner {
268269

269-
private final ResourceFilter resourceFilter;
270+
private final Predicate<Resource> resourceFilter;
270271
private final ClassLoader classLoader;
271272

272-
ModuleReferenceResourceScanner(ResourceFilter resourceFilter, ClassLoader classLoader) {
273+
ModuleReferenceResourceScanner(Predicate<Resource> resourceFilter, ClassLoader classLoader) {
273274
this.resourceFilter = resourceFilter;
274275
this.classLoader = classLoader;
275276
}

platform-tests/src/test/java/org/junit/platform/commons/support/ReflectionSupportTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ void findAllResourcesInClasspathRootPreconditions() {
157157
var path = Path.of(".").toUri();
158158
assertPreconditionViolationException("root",
159159
() -> ReflectionSupport.findAllResourcesInClasspathRoot(null, allResources));
160-
assertPreconditionViolationException("resource predicate",
160+
assertPreconditionViolationException("resourceFilter",
161161
() -> ReflectionSupport.findAllResourcesInClasspathRoot(path, null));
162162
}
163163

@@ -190,7 +190,7 @@ void findAllResourcesInPackageDelegates() {
190190
void findAllResourcesInPackagePreconditions() {
191191
assertPreconditionViolationExceptionForString("basePackageName",
192192
() -> ReflectionSupport.findAllResourcesInPackage(null, allResources));
193-
assertPreconditionViolationException("resource predicate",
193+
assertPreconditionViolationException("resourceFilter",
194194
() -> ReflectionSupport.findAllResourcesInPackage("org.junit", null));
195195
}
196196

@@ -222,7 +222,7 @@ void findAllResourcesInModulePreconditions() {
222222
var exception = assertThrows(PreconditionViolationException.class,
223223
() -> ReflectionSupport.findAllResourcesInModule(null, allResources));
224224
assertEquals("Module name must not be null or empty", exception.getMessage());
225-
assertPreconditionViolationException("resource predicate",
225+
assertPreconditionViolationException("Resource filter",
226226
() -> ReflectionSupport.findAllResourcesInModule("org.junit.platform.commons", null));
227227
}
228228

platform-tests/src/test/java/org/junit/platform/commons/util/ClasspathScannerTests.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
class ClasspathScannerTests {
6161

6262
private static final ClassFilter allClasses = ClassFilter.of(type -> true);
63-
private static final ResourceFilter allResources = ResourceFilter.of(type -> true);
63+
private static final Predicate<Resource> allResources = type -> true;
6464

6565
private final List<Class<?>> loadedClasses = new ArrayList<>();
6666

@@ -146,9 +146,7 @@ void scanForResourcesInClasspathRootWhenGenericRuntimeExceptionOccurs(LogRecordL
146146
}
147147

148148
private void assertResourcesScannedWhenExceptionIsThrown(Predicate<Resource> filter) {
149-
var resourceFilter = ResourceFilter.of(filter);
150-
var resources = this.classpathScanner.scanForResourcesInClasspathRoot(getTestClasspathResourceRoot(),
151-
resourceFilter);
149+
var resources = this.classpathScanner.scanForResourcesInClasspathRoot(getTestClasspathResourceRoot(), filter);
152150
assertThat(resources).hasSizeGreaterThanOrEqualTo(150);
153151
}
154152

@@ -345,7 +343,7 @@ void scanForClassesInDefaultPackage() {
345343

346344
@Test
347345
void scanForResourcesInDefaultPackage() {
348-
var resourceFilter = ResourceFilter.of(this::inDefaultPackage);
346+
Predicate<Resource> resourceFilter = this::inDefaultPackage;
349347
var resources = classpathScanner.scanForResourcesInPackage("", resourceFilter);
350348

351349
assertThat(resources).as("number of resources found in default package").isNotEmpty();
@@ -362,17 +360,17 @@ void scanForClassesInPackageWithFilter() {
362360

363361
@Test
364362
void scanForResourcesInPackageWithFilter() {
365-
var thisResourceOnly = ResourceFilter.of(
366-
resource -> "org/junit/platform/commons/example.resource".equals(resource.getName()));
363+
Predicate<Resource> thisResourceOnly = resource -> "org/junit/platform/commons/example.resource".equals(
364+
resource.getName());
367365
var resources = classpathScanner.scanForResourcesInPackage("org.junit.platform.commons", thisResourceOnly);
368366
assertThat(resources).extracting(Resource::getName).containsExactly(
369367
"org/junit/platform/commons/example.resource");
370368
}
371369

372370
@Test
373371
void resourcesCanBeRead() throws IOException {
374-
var thisResourceOnly = ResourceFilter.of(
375-
resource -> "org/junit/platform/commons/example.resource".equals(resource.getName()));
372+
Predicate<Resource> thisResourceOnly = resource -> "org/junit/platform/commons/example.resource".equals(
373+
resource.getName());
376374
var resources = classpathScanner.scanForResourcesInPackage("org.junit.platform.commons", thisResourceOnly);
377375
Resource resource = resources.get(0);
378376

0 commit comments

Comments
 (0)