diff --git a/pitest-command-line/src/main/java/org/pitest/mutationtest/commandline/ParseResult.java b/pitest-command-line/src/main/java/org/pitest/mutationtest/commandline/ParseResult.java index eab29e2e1..895dce83b 100644 --- a/pitest-command-line/src/main/java/org/pitest/mutationtest/commandline/ParseResult.java +++ b/pitest-command-line/src/main/java/org/pitest/mutationtest/commandline/ParseResult.java @@ -28,7 +28,7 @@ public ParseResult(final ReportOptions options, final String errorMessage) { } public boolean isOk() { - return !this.errorMessage.isPresent(); + return this.errorMessage.isEmpty(); } public ReportOptions getOptions() { diff --git a/pitest-command-line/src/test/java/org/pitest/mutationtest/commandline/OptionsParserTest.java b/pitest-command-line/src/test/java/org/pitest/mutationtest/commandline/OptionsParserTest.java index fdce204a8..46c9a39ff 100644 --- a/pitest-command-line/src/test/java/org/pitest/mutationtest/commandline/OptionsParserTest.java +++ b/pitest-command-line/src/test/java/org/pitest/mutationtest/commandline/OptionsParserTest.java @@ -27,7 +27,7 @@ import java.io.File; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -94,7 +94,7 @@ public void shouldCreatePredicateFromCommaSeparatedListOfTargetClassGlobs() { public void shouldParseCommaSeparatedListOfSourceDirectories() { final ReportOptions actual = parseAddingRequiredArgs("--sourceDirs", "foo/bar,bar/far"); - assertThat(actual.getSourcePaths()).containsExactly(Paths.get("foo/bar"), Paths.get(("bar/far"))); + assertThat(actual.getSourcePaths()).containsExactly(Path.of("foo/bar"), Path.of(("bar/far"))); } @Test diff --git a/pitest-entry/src/main/java/org/pitest/classinfo/ClassInfo.java b/pitest-entry/src/main/java/org/pitest/classinfo/ClassInfo.java index 5ec45fbf7..83b13315c 100644 --- a/pitest-entry/src/main/java/org/pitest/classinfo/ClassInfo.java +++ b/pitest-entry/src/main/java/org/pitest/classinfo/ClassInfo.java @@ -88,7 +88,7 @@ private Optional getParent() { private boolean descendsFrom(final ClassName clazz) { - if (!this.getSuperClass().isPresent()) { + if (this.getSuperClass().isEmpty()) { return false; } diff --git a/pitest-entry/src/main/java/org/pitest/coverage/execute/CoverageProcess.java b/pitest-entry/src/main/java/org/pitest/coverage/execute/CoverageProcess.java index 7644446c8..9a9efd338 100644 --- a/pitest-entry/src/main/java/org/pitest/coverage/execute/CoverageProcess.java +++ b/pitest-entry/src/main/java/org/pitest/coverage/execute/CoverageProcess.java @@ -34,7 +34,7 @@ public void start() throws IOException, InterruptedException { public ExitCode waitToDie() { try { Optional maybeExit = this.crt.waitToFinish(5); - while (!maybeExit.isPresent() && this.process.isAlive()) { + while (maybeExit.isEmpty() && this.process.isAlive()) { maybeExit = this.crt.waitToFinish(10); } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/RegionInterceptor.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/RegionInterceptor.java index 50a8db0be..b7e68c783 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/RegionInterceptor.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/RegionInterceptor.java @@ -47,7 +47,7 @@ protected Predicate buildPredicate() { final int instruction = a.getInstructionIndex(); final Optional method = this.currentClass.method(a.getId().getLocation()); - if (!method.isPresent()) { + if (method.isEmpty()) { return false; } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/annotations/ExcludedAnnotationInterceptor.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/annotations/ExcludedAnnotationInterceptor.java index 8d228c0b2..a8808fdd4 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/annotations/ExcludedAnnotationInterceptor.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/annotations/ExcludedAnnotationInterceptor.java @@ -97,8 +97,7 @@ private void collectLambdaMethods(MethodTree method, ClassTree clazz, List recurse = lambdas.stream() .map(clazz::method) - .filter(Optional::isPresent) - .map(Optional::get) + .flatMap(Optional::stream) .collect(Collectors.toList()); methodsToProcess.addAll(recurse); diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/ForEachLoopFilter.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/ForEachLoopFilter.java index 26bddc9b9..b4b242479 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/ForEachLoopFilter.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/ForEachLoopFilter.java @@ -191,7 +191,7 @@ private Predicate mutatesIteratorLoopPlumbing() { return a -> { final int instruction = a.getInstructionIndex(); final Optional maybeMethod = currentClass.method(a.getId().getLocation()); - if (!maybeMethod.isPresent()) { + if (maybeMethod.isEmpty()) { return false; } MethodTree method = maybeMethod.get(); diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/InlinedFinallyBlockFilter.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/InlinedFinallyBlockFilter.java index 9216718cb..e16bde277 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/InlinedFinallyBlockFilter.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/InlinedFinallyBlockFilter.java @@ -171,7 +171,7 @@ private void checkForInlinedCode(Collection mutantsToReturn, private boolean isInFinallyBlock(MutationDetails m) { Optional maybeMethod = currentClass.method(m.getId().getLocation()); - if (!maybeMethod.isPresent()) { + if (maybeMethod.isEmpty()) { return false; } MethodTree method = maybeMethod.get(); diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/timeout/AvoidForLoopCounterFilter.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/timeout/AvoidForLoopCounterFilter.java index c9c38c837..5bb77cf7e 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/timeout/AvoidForLoopCounterFilter.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/timeout/AvoidForLoopCounterFilter.java @@ -160,7 +160,7 @@ private Predicate mutatesAForLoopCounter() { return a -> { final int instruction = a.getInstructionIndex(); Optional maybeMethod = AvoidForLoopCounterFilter.this.currentClass.method(a.getId().getLocation()); - if (!maybeMethod.isPresent()) { + if (maybeMethod.isEmpty()) { return false; } MethodTree method = maybeMethod.get(); @@ -182,8 +182,7 @@ private Set findLoopCounters(MethodTree method) { Context context = Context.start(DEBUG); return MUTATED_FOR_COUNTER.contextMatches(method.instructions(), context).stream() .map(c -> c.retrieve(MUTATED_INSTRUCTION.read())) - .filter(Optional::isPresent) - .map(Optional::get) + .flatMap(Optional::stream) .collect(Collectors.toSet()); } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/timeout/InfiniteLoopFilter.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/timeout/InfiniteLoopFilter.java index 254531013..87f77f2fc 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/timeout/InfiniteLoopFilter.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/timeout/InfiniteLoopFilter.java @@ -56,7 +56,7 @@ private Collection findTimeoutMutants(Location location, Collection mutations, Mutater m) { final Optional maybeMethod = this.currentClass.method(location); - if (!maybeMethod.isPresent()) { + if (maybeMethod.isEmpty()) { return Collections.emptyList(); } MethodTree method = maybeMethod.get(); diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationTestProcess.java b/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationTestProcess.java index a79667c73..fe39b7dc8 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationTestProcess.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationTestProcess.java @@ -57,7 +57,7 @@ public ExitCode waitToDie() { // While the monitored process reports being alive, keep polling // the monitoring thread to see if it has finished. - while (!maybeExit.isPresent() && this.process.isAlive()) { + while (maybeExit.isEmpty() && this.process.isAlive()) { maybeExit = this.thread.waitToFinish(10); } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/IncrementalAnalyser.java b/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/IncrementalAnalyser.java index 57f0d8ef9..2b3d789a1 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/IncrementalAnalyser.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/IncrementalAnalyser.java @@ -136,7 +136,7 @@ private MutationResult prioritiseLastTest(MutationDetails mutation, String killi .findFirst(); // last killing test is no longer available - if (!maybeKillingTest.isPresent()) { + if (maybeKillingTest.isEmpty()) { return analyseFromScratch(mutation); } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/EntryPoint.java b/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/EntryPoint.java index 7b7d46256..c83c6ad63 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/EntryPoint.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/EntryPoint.java @@ -157,7 +157,7 @@ private void updateData(ReportOptions data, SettingsFactory settings) { private History pickHistoryStore(CodeSource code, ReportOptions data, Optional historyWriter, HistoryFactory factory) { final Optional reader = data.createHistoryReader(); - if (!reader.isPresent() && !historyWriter.isPresent()) { + if (reader.isEmpty() && historyWriter.isEmpty()) { return new NullHistory(); } FeatureParser parser = new FeatureParser(); diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/JarCreatingJarFinder.java b/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/JarCreatingJarFinder.java index ca8930843..e337679b4 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/JarCreatingJarFinder.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/JarCreatingJarFinder.java @@ -59,7 +59,7 @@ public JarCreatingJarFinder() { @Override public Optional getJarLocation() { - if (!this.location.isPresent()) { + if (this.location.isEmpty()) { this.location = createJar(); } return this.location; diff --git a/pitest-entry/src/main/java/org/pitest/util/FileUtil.java b/pitest-entry/src/main/java/org/pitest/util/FileUtil.java index 3b252dfc8..09f2d470e 100644 --- a/pitest-entry/src/main/java/org/pitest/util/FileUtil.java +++ b/pitest-entry/src/main/java/org/pitest/util/FileUtil.java @@ -3,6 +3,7 @@ import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; +import java.util.concurrent.ThreadLocalRandom; public class FileUtil { @@ -24,7 +25,7 @@ public static String readToString(final InputStream is) public static String randomFilename() { return System.currentTimeMillis() - + ("" + Math.random()).replaceAll("\\.", ""); + + ("" + ThreadLocalRandom.current().nextDouble()).replaceAll("\\.", ""); } } diff --git a/pitest-entry/src/test/java/org/pitest/mutationtest/incremental/IncrementalAnalyserTest.java b/pitest-entry/src/test/java/org/pitest/mutationtest/incremental/IncrementalAnalyserTest.java index 5bdecc776..3f1038f43 100644 --- a/pitest-entry/src/test/java/org/pitest/mutationtest/incremental/IncrementalAnalyserTest.java +++ b/pitest-entry/src/test/java/org/pitest/mutationtest/incremental/IncrementalAnalyserTest.java @@ -386,7 +386,7 @@ public void describeTo(final Description description) { protected boolean matchesSafely(final MutationResult item, final Description mismatchDescription) { Optional itemKillingTest = item.getKillingTest(); - if (!itemKillingTest.isPresent()) { + if (itemKillingTest.isEmpty()) { mismatchDescription .appendText("a mutation result with no killing test"); return false; diff --git a/pitest-maven/src/main/java/org/pitest/maven/MojoToReportOptionsConverter.java b/pitest-maven/src/main/java/org/pitest/maven/MojoToReportOptionsConverter.java index 1f9c98b8b..5ba91a12c 100644 --- a/pitest-maven/src/main/java/org/pitest/maven/MojoToReportOptionsConverter.java +++ b/pitest-maven/src/main/java/org/pitest/maven/MojoToReportOptionsConverter.java @@ -136,7 +136,7 @@ private void autoAddJUnitPlatform(List classPath) { } Optional maybeJUnitPlatform = findJUnitArtifact(junitDependencies); - if (!maybeJUnitPlatform.isPresent()) { + if (maybeJUnitPlatform.isEmpty()) { this.log.debug("JUnit 5 not on classpath"); return; } diff --git a/pitest-maven/src/test/java/org/pitest/maven/MojoToReportOptionsConverterTest.java b/pitest-maven/src/test/java/org/pitest/maven/MojoToReportOptionsConverterTest.java index 5e20c7ac9..1c910c5b0 100644 --- a/pitest-maven/src/test/java/org/pitest/maven/MojoToReportOptionsConverterTest.java +++ b/pitest-maven/src/test/java/org/pitest/maven/MojoToReportOptionsConverterTest.java @@ -29,7 +29,7 @@ import java.io.File; import java.nio.charset.StandardCharsets; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -95,7 +95,7 @@ public void testUsesSourceDirectoriesFromProject() { when(this.project.getTestCompileSourceRoots()).thenReturn( asList("tst")); final ReportOptions actual = parseConfig(""); - assertThat(actual.getSourcePaths()).containsExactly(Paths.get("src"), Paths.get("tst")); + assertThat(actual.getSourcePaths()).containsExactly(Path.of("src"), Path.of("tst")); } public void testParsesExcludedRunners() { diff --git a/pitest/src/main/java/org/pitest/classinfo/ComputeClassWriter.java b/pitest/src/main/java/org/pitest/classinfo/ComputeClassWriter.java index 913eb522f..bafb45bad 100644 --- a/pitest/src/main/java/org/pitest/classinfo/ComputeClassWriter.java +++ b/pitest/src/main/java/org/pitest/classinfo/ComputeClassWriter.java @@ -186,7 +186,7 @@ private boolean typeImplements(String type, ClassReader info, final String itf) */ private ClassReader typeInfo(final String type) { final Optional maybeBytes = this.bytes.getBytes(type); - if (!maybeBytes.isPresent()) { + if (maybeBytes.isEmpty()) { throw new PitError("Could not find class definition for " + type); } return new ClassReader(maybeBytes.get()); diff --git a/pitest/src/main/java/org/pitest/mutationtest/config/PrioritisingTestConfiguration.java b/pitest/src/main/java/org/pitest/mutationtest/config/PrioritisingTestConfiguration.java index 9827308cf..5c8428f98 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/config/PrioritisingTestConfiguration.java +++ b/pitest/src/main/java/org/pitest/mutationtest/config/PrioritisingTestConfiguration.java @@ -41,7 +41,7 @@ public Optional verifyEnvironment() { private static List pickChildren(List configs) { List working = configs.stream() - .filter(c -> !c.verifyEnvironment().isPresent()) + .filter(c -> c.verifyEnvironment().isEmpty()) .sorted(byPriority()) .collect(Collectors.toList()); // We don't have a working config, let it report errors later