diff --git a/build.gradle b/build.gradle index 1fee926..3a3de2b 100644 --- a/build.gradle +++ b/build.gradle @@ -1 +1 @@ -version = "0.2.0" \ No newline at end of file +version = "0.3.0" \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cb4f103..24d77df 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,12 +1,12 @@ [versions] -java = "17" -slf4j = "2.0.7" -logback = "1.3.5" -reload4j = "1.2.25" -richtextfx = "0.11.0" -javafx = "20" +java = "25" +slf4j = "2.0.17" +logback = "1.5.20" +reload4j = "1.2.26" +richtextfx = "0.11.6" +javafx = "25" javafxPlugin = "0.1.0" -jlink = "2.12.0" +jlink = "3.1.3" [libraries] slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } diff --git a/gradle/test-libs.versions.toml b/gradle/test-libs.versions.toml index a4a07e2..71a6b36 100644 --- a/gradle/test-libs.versions.toml +++ b/gradle/test-libs.versions.toml @@ -1,8 +1,9 @@ [versions] -junit = "5.9.3" +junit = "6.0.0" [libraries] junit = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" } +junit-platform = { module = "org.junit.platform:junit-platform-launcher" } [bundles] diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7f93135..a4b76b9 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0aaefbc..2e11132 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 0adc8e1..f5feea6 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -145,7 +148,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -153,7 +156,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -202,11 +205,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index 6689b85..9b42019 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## @@ -43,11 +45,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail diff --git a/logviewer-api/build.gradle b/logviewer-api/build.gradle index 608eb1e..ab52fca 100644 --- a/logviewer-api/build.gradle +++ b/logviewer-api/build.gradle @@ -16,6 +16,6 @@ dependencies { java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(libs.versions.java.get()) } } \ No newline at end of file diff --git a/logviewer-logging-jdk/build.gradle b/logviewer-logging-jdk/build.gradle index 8728f16..2475d67 100644 --- a/logviewer-logging-jdk/build.gradle +++ b/logviewer-logging-jdk/build.gradle @@ -11,6 +11,7 @@ repositories { dependencies { // Use JUnit Jupiter for testing. testImplementation testLibs.junit + testRuntimeOnly testLibs.junit.platform // Use JDK 1.4 Reload4j Binding. implementation libs.slf4j.jdk14 diff --git a/logviewer-logging-jdk/src/test/java/qupath/ui/logviewer/logging/jdk/TestJdkManager.java b/logviewer-logging-jdk/src/test/java/qupath/ui/logviewer/logging/jdk/TestJdkManager.java index 0856b17..2879945 100644 --- a/logviewer-logging-jdk/src/test/java/qupath/ui/logviewer/logging/jdk/TestJdkManager.java +++ b/logviewer-logging-jdk/src/test/java/qupath/ui/logviewer/logging/jdk/TestJdkManager.java @@ -1,5 +1,6 @@ package qupath.ui.logviewer.logging.jdk; +import org.junit.jupiter.api.Assertions; import qupath.ui.logviewer.api.LogMessage; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; @@ -13,12 +14,10 @@ import java.util.concurrent.TimeUnit; import java.util.stream.IntStream; -import static org.junit.jupiter.api.Assertions.*; - @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) public class TestJdkManager { - private static final Logger slf4jLogger = LoggerFactory.getLogger(JdkManager.class); + private static final Logger slf4jLogger = LoggerFactory.getLogger(TestJdkManager.class); private static final java.util.logging.Logger jdk14Logger = java.util.logging.Logger.getLogger(""); @Test @@ -27,7 +26,7 @@ void Check_Framework_Active() { boolean managerActive = jdkManager.isFrameworkActive(); - assertTrue(managerActive); + Assertions.assertTrue(managerActive); } @Test @@ -37,7 +36,7 @@ void Check_Root_Level_Set_To_Trace_Through_Jdk14Manager() { Level level = jdkManager.getRootLogLevel(); - assertEquals(level, Level.TRACE); + Assertions.assertEquals(Level.TRACE, level); } @Test void Check_Root_Level_Set_To_Error_Through_Jdk14_Logger() { @@ -46,33 +45,33 @@ void Check_Root_Level_Set_To_Error_Through_Jdk14_Logger() { Level level = jdkManager.getRootLogLevel(); - assertEquals(level, Level.ERROR); + Assertions.assertEquals(Level.ERROR, level); } @Test void Check_Message_Forwarded() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); JdkManager jdkManager = new JdkManager(); - jdkManager.addListener(logMessage -> latch.countDown()); + jdkManager.addListener(_ -> latch.countDown()); jdkManager.setRootLogLevel(Level.TRACE); - slf4jLogger.info("A log message"); + slf4jLogger.info("A log message 1"); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test void Check_Message_Not_Forwarded() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); JdkManager jdkManager = new JdkManager(); - LoggerListener loggerListener = logMessage -> latch.countDown(); + LoggerListener loggerListener = _ -> latch.countDown(); jdkManager.addListener(loggerListener); jdkManager.setRootLogLevel(Level.TRACE); jdkManager.removeListener(loggerListener); - slf4jLogger.info("A log message"); + slf4jLogger.info("A log message 2"); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -80,14 +79,14 @@ void Check_N_Message_Forwarded() throws InterruptedException { int N = 5; CountDownLatch latch = new CountDownLatch(N); JdkManager jdkManager = new JdkManager(); - jdkManager.addListener(logMessage -> latch.countDown()); + jdkManager.addListener(_ -> latch.countDown()); jdkManager.setRootLogLevel(Level.TRACE); for (int i=0; i latch.countDown()); + jdkManager.addListener(_ -> latch.countDown()); jdkManager.setRootLogLevel(Level.TRACE); IntStream.range(0, N) .parallel() - .forEach(index -> slf4jLogger.info("A log message")); + .forEach(_ -> slf4jLogger.info("A log message 4")); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test void Check_Message_Not_Forwarded_If_Level_Too_Low() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); JdkManager jdkManager = new JdkManager(); - jdkManager.addListener(logMessage -> latch.countDown()); + jdkManager.addListener(_ -> latch.countDown()); jdkManager.setRootLogLevel(Level.ERROR); - slf4jLogger.info("A log message"); + slf4jLogger.info("A log message 5"); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -122,18 +121,17 @@ void Check_Message_Information_Correct() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); JdkManager jdkManager = new JdkManager(); LogMessage expectedLogMessage = new LogMessage( - "qupath.ui.logviewer.logging.jdk.JdkManager", + "qupath.ui.logviewer.logging.jdk.TestJdkManager", 0, - "1", // The JDK logger does not give a thread name but a thread id + "", // The JDK logger does not give a thread name but a thread id, so not predictable Level.ERROR, "A description", new Throwable() ); jdkManager.addListener(logMessage -> { - // Test everything except the timestamp as it cannot be precisely predicted + // Test everything except the timestamp and thread name as they cannot be precisely predicted if ( logMessage.loggerName().equals(expectedLogMessage.loggerName()) && - logMessage.threadName().equals(expectedLogMessage.threadName()) && logMessage.level().equals(expectedLogMessage.level()) && logMessage.message().equals(expectedLogMessage.message()) && logMessage.throwable().equals(expectedLogMessage.throwable()) @@ -149,6 +147,6 @@ void Check_Message_Information_Correct() throws InterruptedException { .setCause(expectedLogMessage.throwable()) .log(); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } } diff --git a/logviewer-logging-logback/build.gradle b/logviewer-logging-logback/build.gradle index 78cdb20..96e5ac1 100644 --- a/logviewer-logging-logback/build.gradle +++ b/logviewer-logging-logback/build.gradle @@ -11,6 +11,7 @@ repositories { dependencies { // Use JUnit Jupiter for testing. testImplementation testLibs.junit + testRuntimeOnly testLibs.junit.platform // Use Logback as logging framework. implementation libs.logback diff --git a/logviewer-logging-logback/src/test/java/qupath/ui/logviewer/logging/logback/TestLogbackManager.java b/logviewer-logging-logback/src/test/java/qupath/ui/logviewer/logging/logback/TestLogbackManager.java index 49dfac5..fe7af7b 100644 --- a/logviewer-logging-logback/src/test/java/qupath/ui/logviewer/logging/logback/TestLogbackManager.java +++ b/logviewer-logging-logback/src/test/java/qupath/ui/logviewer/logging/logback/TestLogbackManager.java @@ -1,5 +1,6 @@ package qupath.ui.logviewer.logging.logback; +import org.junit.jupiter.api.Assertions; import qupath.ui.logviewer.api.LogMessage; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; @@ -13,12 +14,10 @@ import java.util.concurrent.TimeUnit; import java.util.stream.IntStream; -import static org.junit.jupiter.api.Assertions.*; - @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) public class TestLogbackManager { - private static final Logger slf4jLogger = LoggerFactory.getLogger(LogbackManager.class); + private static final Logger slf4jLogger = LoggerFactory.getLogger(TestLogbackManager.class); private static final ch.qos.logback.classic.Logger logbackLogger = LogbackManager.getRootLogger(); @Test @@ -27,7 +26,7 @@ void Check_Framework_Active() { boolean managerActive = logbackManager.isFrameworkActive(); - assertTrue(managerActive); + Assertions.assertTrue(managerActive); } @Test @@ -37,7 +36,7 @@ void Check_Root_Level_Set_To_Trace_Through_LogbackManager() { Level level = logbackManager.getRootLogLevel(); - assertEquals(level, Level.TRACE); + Assertions.assertEquals(Level.TRACE, level); } @Test void Check_Root_Level_Set_To_Error_Through_Logback_Logger() { @@ -47,33 +46,33 @@ void Check_Root_Level_Set_To_Error_Through_Logback_Logger() { Level level = logbackManager.getRootLogLevel(); - assertEquals(level, Level.ERROR); + Assertions.assertEquals(Level.ERROR, level); } @Test void Check_Message_Forwarded() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); LogbackManager logbackManager = new LogbackManager(); - logbackManager.addListener(logMessage -> latch.countDown()); + logbackManager.addListener(_ -> latch.countDown()); logbackManager.setRootLogLevel(Level.TRACE); - slf4jLogger.info("A log message"); + slf4jLogger.info("A log message 1"); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test void Check_Message_Not_Forwarded() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); LogbackManager logbackManager = new LogbackManager(); - LoggerListener loggerListener = logMessage -> latch.countDown(); + LoggerListener loggerListener = _ -> latch.countDown(); logbackManager.addListener(loggerListener); logbackManager.setRootLogLevel(Level.TRACE); logbackManager.removeListener(loggerListener); - slf4jLogger.info("A log message"); + slf4jLogger.info("A log message 2"); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -81,14 +80,14 @@ void Check_N_Message_Forwarded() throws InterruptedException { int N = 5; CountDownLatch latch = new CountDownLatch(N); LogbackManager logbackManager = new LogbackManager(); - logbackManager.addListener(logMessage -> latch.countDown()); + logbackManager.addListener(_ -> latch.countDown()); logbackManager.setRootLogLevel(Level.TRACE); for (int i=0; i latch.countDown()); + logbackManager.addListener(_ -> latch.countDown()); logbackManager.setRootLogLevel(Level.TRACE); IntStream.range(0, N) .parallel() - .forEach(index -> slf4jLogger.info("A log message")); + .forEach(_ -> slf4jLogger.info("A log message 4")); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test void Check_Message_Not_Forwarded_If_Level_Too_Low() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); LogbackManager logbackManager = new LogbackManager(); - logbackManager.addListener(logMessage -> latch.countDown()); + logbackManager.addListener(_ -> latch.countDown()); logbackManager.setRootLogLevel(Level.ERROR); - slf4jLogger.info("A log message"); + slf4jLogger.info("A log message 5"); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -123,7 +122,7 @@ void Check_Message_Information_Correct() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); LogbackManager logbackManager = new LogbackManager(); LogMessage expectedLogMessage = new LogMessage( - "qupath.ui.logviewer.logging.logback.LogbackManager", + "qupath.ui.logviewer.logging.logback.TestLogbackManager", System.currentTimeMillis(), Thread.currentThread().getName(), Level.ERROR, @@ -150,6 +149,6 @@ void Check_Message_Information_Correct() throws InterruptedException { .setCause(expectedLogMessage.throwable()) .log(); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } } diff --git a/logviewer-logging-reload4j/build.gradle b/logviewer-logging-reload4j/build.gradle index 7e66a94..2e30754 100644 --- a/logviewer-logging-reload4j/build.gradle +++ b/logviewer-logging-reload4j/build.gradle @@ -11,6 +11,7 @@ repositories { dependencies { // Use JUnit Jupiter for testing. testImplementation testLibs.junit + testRuntimeOnly testLibs.junit.platform // Use reload4j as logging framework. implementation libs.reload4j diff --git a/logviewer-logging-reload4j/src/test/java/qupath/ui/logviewer/logging/reload4j/TestReload4jManager.java b/logviewer-logging-reload4j/src/test/java/qupath/ui/logviewer/logging/reload4j/TestReload4jManager.java index 021cbbe..7f8bd56 100644 --- a/logviewer-logging-reload4j/src/test/java/qupath/ui/logviewer/logging/reload4j/TestReload4jManager.java +++ b/logviewer-logging-reload4j/src/test/java/qupath/ui/logviewer/logging/reload4j/TestReload4jManager.java @@ -1,5 +1,6 @@ package qupath.ui.logviewer.logging.reload4j; +import org.junit.jupiter.api.Assertions; import qupath.ui.logviewer.api.LogMessage; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; @@ -13,12 +14,10 @@ import java.util.concurrent.TimeUnit; import java.util.stream.IntStream; -import static org.junit.jupiter.api.Assertions.*; - @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) public class TestReload4jManager { - private static final Logger slf4jLogger = LoggerFactory.getLogger(Reload4jManager.class); + private static final Logger slf4jLogger = LoggerFactory.getLogger(TestReload4jManager.class); private static final org.apache.log4j.Logger reload4jLogger = org.apache.log4j.Logger.getRootLogger(); @Test @@ -27,7 +26,7 @@ void Check_Framework_Active() { boolean managerActive = reload4jManager.isFrameworkActive(); - assertTrue(managerActive); + Assertions.assertTrue(managerActive); } @Test @@ -37,7 +36,7 @@ void Check_Root_Level_Set_To_Trace_Through_Reload4jManager() { Level level = reload4jManager.getRootLogLevel(); - assertEquals(level, Level.TRACE); + Assertions.assertEquals(Level.TRACE, level); } @Test void Check_Root_Level_Set_To_Error_Through_Reload4j_Logger() { @@ -46,33 +45,33 @@ void Check_Root_Level_Set_To_Error_Through_Reload4j_Logger() { Level level = reload4jManager.getRootLogLevel(); - assertEquals(level, Level.ERROR); + Assertions.assertEquals(Level.ERROR, level); } @Test void Check_Message_Forwarded() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); Reload4jManager reload4jManager = new Reload4jManager(); - reload4jManager.addListener(logMessage -> latch.countDown()); + reload4jManager.addListener(_ -> latch.countDown()); reload4jManager.setRootLogLevel(Level.TRACE); - slf4jLogger.info("A log message"); + slf4jLogger.info("A log message 1"); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test void Check_Message_Not_Forwarded() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); Reload4jManager reload4jManager = new Reload4jManager(); - LoggerListener loggerListener = logMessage -> latch.countDown(); + LoggerListener loggerListener = _ -> latch.countDown(); reload4jManager.addListener(loggerListener); reload4jManager.setRootLogLevel(Level.TRACE); reload4jManager.removeListener(loggerListener); - slf4jLogger.info("A log message"); + slf4jLogger.info("A log message 2"); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -80,14 +79,14 @@ void Check_N_Message_Forwarded() throws InterruptedException { int N = 5; CountDownLatch latch = new CountDownLatch(N); Reload4jManager reload4jManager = new Reload4jManager(); - reload4jManager.addListener(logMessage -> latch.countDown()); + reload4jManager.addListener(_ -> latch.countDown()); reload4jManager.setRootLogLevel(Level.TRACE); for (int i=0; i latch.countDown()); + reload4jManager.addListener(_ -> latch.countDown()); reload4jManager.setRootLogLevel(Level.TRACE); IntStream.range(0, N) .parallel() - .forEach(index -> slf4jLogger.info("A log message")); + .forEach(_ -> slf4jLogger.info("A log message 4")); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test void Check_Message_Not_Forwarded_If_Level_Too_Low() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); Reload4jManager reload4jManager = new Reload4jManager(); - reload4jManager.addListener(logMessage -> latch.countDown()); + reload4jManager.addListener(_ -> latch.countDown()); reload4jManager.setRootLogLevel(Level.ERROR); - slf4jLogger.info("A log message"); + slf4jLogger.info("A log message 5"); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -122,7 +121,7 @@ void Check_Message_Information_Correct() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); Reload4jManager reload4jManager = new Reload4jManager(); LogMessage expectedLogMessage = new LogMessage( - "qupath.ui.logviewer.logging.reload4j.Reload4jManager", + "qupath.ui.logviewer.logging.reload4j.TestReload4jManager", 0, Thread.currentThread().getName(), Level.ERROR, @@ -149,6 +148,6 @@ void Check_Message_Information_Correct() throws InterruptedException { .setCause(expectedLogMessage.throwable()) .log(); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } } diff --git a/logviewer-ui-main/build.gradle b/logviewer-ui-main/build.gradle index 6f2bd46..b88db5f 100644 --- a/logviewer-ui-main/build.gradle +++ b/logviewer-ui-main/build.gradle @@ -18,6 +18,7 @@ dependencies { // Use JUnit Jupiter for testing. testImplementation testLibs.junit + testRuntimeOnly testLibs.junit.platform // Use Logback logging framework for testing. testRuntimeOnly project(':logviewer-logging-logback') diff --git a/logviewer-ui-main/src/main/java/qupath/ui/logviewer/ui/main/LogMessagePredicates.java b/logviewer-ui-main/src/main/java/qupath/ui/logviewer/ui/main/LogMessagePredicates.java index 73f45ec..4967c98 100644 --- a/logviewer-ui-main/src/main/java/qupath/ui/logviewer/ui/main/LogMessagePredicates.java +++ b/logviewer-ui-main/src/main/java/qupath/ui/logviewer/ui/main/LogMessagePredicates.java @@ -22,13 +22,13 @@ private LogMessagePredicates() {} */ public static Predicate createPredicateFromRegex(String regex) { if (regex == null || regex.isEmpty()) - return logMessage -> true; + return _ -> true; try { Pattern pattern = Pattern.compile(regex); return logMessage -> logMessage.message() != null && pattern.matcher(logMessage.message()).find(); } catch (PatternSyntaxException e) { - return logMessage -> false; + return _ -> false; } } @@ -41,7 +41,7 @@ public static Predicate createPredicateFromRegex(String regex) { */ public static Predicate createPredicateContainsIgnoreCase(String text) { if (text == null || text.isEmpty()) - return logMessage -> true; + return _ -> true; String textLower = text.toLowerCase(); return logMessage -> logMessage.message() != null && logMessage.message().toLowerCase().contains(textLower); diff --git a/logviewer-ui-main/src/main/java/qupath/ui/logviewer/ui/main/LogViewerModel.java b/logviewer-ui-main/src/main/java/qupath/ui/logviewer/ui/main/LogViewerModel.java index 9736f13..f1fe152 100644 --- a/logviewer-ui-main/src/main/java/qupath/ui/logviewer/ui/main/LogViewerModel.java +++ b/logviewer-ui-main/src/main/java/qupath/ui/logviewer/ui/main/LogViewerModel.java @@ -276,10 +276,10 @@ public void saveDisplayedLogsToFile(File file) throws FileNotFoundException { } private void setUpListeners() { - filterByRegexProperty.addListener((l, o, n) -> updateLogMessageFilter()); - filterProperty.addListener((l, o, n) -> updateLogMessageFilter()); - displayedLogLevels.addListener((SetChangeListener) change -> updateLogMessageFilter()); - displayedThreads.addListener((SetChangeListener) change -> updateLogMessageFilter()); + filterByRegexProperty.addListener((_, _, _) -> updateLogMessageFilter()); + filterProperty.addListener((_, _, _) -> updateLogMessageFilter()); + displayedLogLevels.addListener((SetChangeListener) _ -> updateLogMessageFilter()); + displayedThreads.addListener((SetChangeListener) _ -> updateLogMessageFilter()); allLogs.addListener((ListChangeListener) change -> { while (change.next()) { @@ -303,7 +303,7 @@ private void setUpListeners() { updateLogMessageFilter(); }); - displayAllThreadsProperty.addListener(change -> { + displayAllThreadsProperty.addListener(_ -> { if (displayAllThreadsProperty.get()) { displayedThreads.addAll(allThreads); } diff --git a/logviewer-ui-main/src/main/resources/qupath/ui/logviewer/ui/main/log-viewer.fxml b/logviewer-ui-main/src/main/resources/qupath/ui/logviewer/ui/main/log-viewer.fxml index 1209359..7731b43 100644 --- a/logviewer-ui-main/src/main/resources/qupath/ui/logviewer/ui/main/log-viewer.fxml +++ b/logviewer-ui-main/src/main/resources/qupath/ui/logviewer/ui/main/log-viewer.fxml @@ -27,7 +27,7 @@ - +
@@ -37,9 +37,9 @@ - - - + + + diff --git a/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogMessageCounts.java b/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogMessageCounts.java index e481469..7caecbf 100644 --- a/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogMessageCounts.java +++ b/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogMessageCounts.java @@ -1,5 +1,6 @@ package qupath.ui.logviewer.ui.main; +import org.junit.jupiter.api.Assertions; import qupath.ui.logviewer.api.LogMessage; import javafx.beans.property.SimpleListProperty; import javafx.collections.FXCollections; @@ -10,8 +11,6 @@ import org.junit.jupiter.api.Test; import org.slf4j.event.Level; -import static org.junit.jupiter.api.Assertions.assertEquals; - @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) public class TestLogMessageCounts { @@ -27,12 +26,12 @@ void Check_Counts_Equals_To_0_With_Empty_List() throws InterruptedException { LogMessageCounts logMessageCounts = new LogMessageCounts(list); JavaFXUtils.waitForRunLater(); - assertEquals(logMessageCounts.allLevelCountsProperty().get(), 0); - assertEquals(logMessageCounts.errorLevelCountsProperty().get(), 0); - assertEquals(logMessageCounts.warnLevelCountsProperty().get(), 0); - assertEquals(logMessageCounts.infoLevelCountsProperty().get(), 0); - assertEquals(logMessageCounts.debugLevelCountsProperty().get(), 0); - assertEquals(logMessageCounts.traceLevelCountsProperty().get(), 0); + Assertions.assertEquals(0, logMessageCounts.allLevelCountsProperty().get()); + Assertions.assertEquals(0, logMessageCounts.errorLevelCountsProperty().get()); + Assertions.assertEquals(0, logMessageCounts.warnLevelCountsProperty().get()); + Assertions.assertEquals(0, logMessageCounts.infoLevelCountsProperty().get()); + Assertions.assertEquals(0, logMessageCounts.debugLevelCountsProperty().get()); + Assertions.assertEquals(0, logMessageCounts.traceLevelCountsProperty().get()); } @Test void Check_Error_Count_Equals_To_1_With_1_Log() throws InterruptedException { @@ -42,7 +41,7 @@ void Check_Error_Count_Equals_To_1_With_1_Log() throws InterruptedException { list.add(new LogMessage("", 0, "", Level.ERROR, "", null)); JavaFXUtils.waitForRunLater(); - assertEquals(logMessageCounts.errorLevelCountsProperty().get(), 1); + Assertions.assertEquals(1, logMessageCounts.errorLevelCountsProperty().get()); } @Test void Check_Debug_Count_Equals_To_1_With_Several_Logs_Added() throws InterruptedException { @@ -57,7 +56,7 @@ void Check_Debug_Count_Equals_To_1_With_Several_Logs_Added() throws InterruptedE ); JavaFXUtils.waitForRunLater(); - assertEquals(logMessageCounts.debugLevelCountsProperty().get(), 1); + Assertions.assertEquals(1, logMessageCounts.debugLevelCountsProperty().get()); } @Test void Check_Warn_Count_Equals_To_1_With_Several_Logs_Added_And_Removed() throws InterruptedException { @@ -75,7 +74,7 @@ void Check_Warn_Count_Equals_To_1_With_Several_Logs_Added_And_Removed() throws I list.remove(0, 3); JavaFXUtils.waitForRunLater(); - assertEquals(logMessageCounts.warnLevelCountsProperty().get(), 1); + Assertions.assertEquals(1, logMessageCounts.warnLevelCountsProperty().get()); } @Test void Check_Trace_Count_Equals_To_1_With_Non_Empty_Initial_List() throws InterruptedException { @@ -84,6 +83,6 @@ void Check_Trace_Count_Equals_To_1_With_Non_Empty_Initial_List() throws Interrup LogMessageCounts logMessageCounts = new LogMessageCounts(list); JavaFXUtils.waitForRunLater(); - assertEquals(logMessageCounts.traceLevelCountsProperty().get(), 1); + Assertions.assertEquals(1, logMessageCounts.traceLevelCountsProperty().get()); } } diff --git a/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogMessagePredicates.java b/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogMessagePredicates.java index f6aaff6..12cff32 100644 --- a/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogMessagePredicates.java +++ b/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogMessagePredicates.java @@ -1,5 +1,6 @@ package qupath.ui.logviewer.ui.main; +import org.junit.jupiter.api.Assertions; import qupath.ui.logviewer.api.LogMessage; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; @@ -11,9 +12,6 @@ import java.util.Random; import java.util.function.Predicate; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; - @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) public class TestLogMessagePredicates { @@ -32,8 +30,8 @@ void Check_Empty_Text_Filters_Nothing() { boolean emptyMessageTest = predicate.test(new LogMessage("", 0, "", Level.TRACE, "", null)); boolean randomMessageTest = predicate.test(new LogMessage("", 0, "", Level.TRACE, generateRandomString(5), null)); - assertTrue(emptyMessageTest); - assertTrue(randomMessageTest); + Assertions.assertTrue(emptyMessageTest); + Assertions.assertTrue(randomMessageTest); } @Test @@ -43,8 +41,8 @@ void Check_Null_Text_Filters_Nothing() { boolean emptyMessageTest = predicate.test(new LogMessage("", 0, "", Level.TRACE, "", null)); boolean randomMessageTest = predicate.test(new LogMessage("", 0, "", Level.TRACE, generateRandomString(10), null)); - assertTrue(emptyMessageTest); - assertTrue(randomMessageTest); + Assertions.assertTrue(emptyMessageTest); + Assertions.assertTrue(randomMessageTest); } @Test @@ -53,7 +51,7 @@ void Check_Text_Filters_Null_Message() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, null, null)); - assertFalse(test); + Assertions.assertFalse(test); } @Test @@ -63,7 +61,7 @@ void Check_Text_Keeps_Same_Message() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, text, null)); - assertTrue(test); + Assertions.assertTrue(test); } @Test @@ -73,7 +71,7 @@ void Check_Text_Keeps_Uppercase_Message() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, text.toUpperCase(), null)); - assertTrue(test); + Assertions.assertTrue(test); } @Test @@ -83,7 +81,7 @@ void Check_Text_Keeps_Lowercase_Message() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, text.toLowerCase(), null)); - assertTrue(test); + Assertions.assertTrue(test); } @Test @@ -93,7 +91,7 @@ void Check_Text_Keeps_Message_Containing_Text() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, text, null)); - assertTrue(test); + Assertions.assertTrue(test); } @Test @@ -102,7 +100,7 @@ void Check_Text_Filters_Message_Containing_Other_Text() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, "text", null)); - assertFalse(test); + Assertions.assertFalse(test); } } @@ -115,8 +113,8 @@ void Check_Empty_Regex_Filters_Nothing() { boolean emptyMessageTest = predicate.test(new LogMessage("", 0, "", Level.TRACE, "", null)); boolean randomMessageTest = predicate.test(new LogMessage("", 0, "", Level.TRACE, generateRandomString(10), null)); - assertTrue(emptyMessageTest); - assertTrue(randomMessageTest); + Assertions.assertTrue(emptyMessageTest); + Assertions.assertTrue(randomMessageTest); } @Test @@ -126,8 +124,8 @@ void Check_Null_Regex_Filters_Nothing() { boolean emptyMessageTest = predicate.test(new LogMessage("", 0, "", Level.TRACE, "", null)); boolean randomMessageTest = predicate.test(new LogMessage("", 0, "", Level.TRACE, generateRandomString(10), null)); - assertTrue(emptyMessageTest); - assertTrue(randomMessageTest); + Assertions.assertTrue(emptyMessageTest); + Assertions.assertTrue(randomMessageTest); } @Test @@ -136,7 +134,7 @@ void Check_Regex_Filters_Null_Message() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, null, null)); - assertFalse(test); + Assertions.assertFalse(test); } @Test @@ -145,7 +143,7 @@ void Check_Regex_Keeps_Same_Message() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, "text", null)); - assertTrue(test); + Assertions.assertTrue(test); } @Test @@ -154,7 +152,7 @@ void Check_Regex_Keeps_Message_Matching_Regex_Pattern() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, "dfgsdf jim", null)); - assertTrue(test); + Assertions.assertTrue(test); } @Test @@ -163,7 +161,7 @@ void Check_Regex_Filters_Message_Non_Matching_Regex_Pattern() { boolean test = predicate.test(new LogMessage("", 0, "", Level.TRACE, "azeraze jom", null)); - assertFalse(test); + Assertions.assertFalse(test); } } } diff --git a/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogViewerModel.java b/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogViewerModel.java index 62f84d5..1a5d77c 100644 --- a/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogViewerModel.java +++ b/logviewer-ui-main/src/test/java/qupath/ui/logviewer/ui/main/TestLogViewerModel.java @@ -1,5 +1,6 @@ package qupath.ui.logviewer.ui.main; +import org.junit.jupiter.api.Assertions; import qupath.ui.logviewer.api.LogMessage; import javafx.collections.ListChangeListener; import javafx.collections.SetChangeListener; @@ -14,8 +15,6 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import static org.junit.jupiter.api.Assertions.*; - @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) public class TestLogViewerModel { @@ -28,7 +27,7 @@ static void initJfxRuntime() { void Check_Message_Added() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); LogViewerModel logViewerModel = new LogViewerModel(); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 1) { latch.countDown(); } @@ -36,7 +35,7 @@ void Check_Message_Added() throws InterruptedException { logViewerModel.addLogMessage(new LogMessage("", 0, "", Level.TRACE, "", null)); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -44,7 +43,7 @@ void Check_N_Message_Added() throws InterruptedException { int N = 10; CountDownLatch latch = new CountDownLatch(1); LogViewerModel logViewerModel = new LogViewerModel(); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == N) { latch.countDown(); } @@ -54,7 +53,7 @@ void Check_N_Message_Added() throws InterruptedException { logViewerModel.addLogMessage(new LogMessage("", i, "", Level.TRACE, "", null)); } - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -65,7 +64,7 @@ void Check_Root_Log_Level_Set() { logViewerModel.setRootLevel(expectedLevel); Level level = logViewerModel.getRootLevel(); - assertEquals(level, expectedLevel); + Assertions.assertEquals(expectedLevel, level); } @Test @@ -74,7 +73,7 @@ void Check_Logging_Framework_Found() { boolean loggingFrameworkFound = logViewerModel.getLoggingFrameworkFoundProperty().get(); - assertTrue(loggingFrameworkFound); + Assertions.assertTrue(loggingFrameworkFound); } @Test @@ -84,7 +83,7 @@ void Check_Single_Thread_Filter_Filters_Messages_With_Different_Thread() throws LogViewerModel logViewerModel = new LogViewerModel(); logViewerModel.getDisplayAllThreadsProperty().set(false); logViewerModel.displayOneThread(threadName); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 5) { latch.countDown(); } @@ -96,7 +95,7 @@ void Check_Single_Thread_Filter_Filters_Messages_With_Different_Thread() throws logViewerModel.addLogMessage(new LogMessage("", 3, threadName, Level.TRACE, "", null)); logViewerModel.addLogMessage(new LogMessage("", 4, "", Level.TRACE, "", null)); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -106,7 +105,7 @@ void Check_Single_Thread_Filter_Keeps_Messages_With_Same_Thread() throws Interru LogViewerModel logViewerModel = new LogViewerModel(); logViewerModel.getDisplayAllThreadsProperty().set(false); logViewerModel.displayOneThread(threadName); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 2) { latch.countDown(); } @@ -118,7 +117,7 @@ void Check_Single_Thread_Filter_Keeps_Messages_With_Same_Thread() throws Interru logViewerModel.addLogMessage(new LogMessage("", 3, threadName, Level.TRACE, "", null)); logViewerModel.addLogMessage(new LogMessage("", 4, "", Level.TRACE, "", null)); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -128,7 +127,7 @@ void Check_All_Thread_Filter_Keeps_All_Messages() throws InterruptedException { LogViewerModel logViewerModel = new LogViewerModel(); logViewerModel.displayOneThread(threadName); logViewerModel.getDisplayAllThreadsProperty().set(true); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 5) { latch.countDown(); } @@ -140,7 +139,7 @@ void Check_All_Thread_Filter_Keeps_All_Messages() throws InterruptedException { logViewerModel.addLogMessage(new LogMessage("", 3, threadName, Level.TRACE, "", null)); logViewerModel.addLogMessage(new LogMessage("", 4, "", Level.TRACE, "", null)); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -152,7 +151,7 @@ void Check_Level_Filter_Filters_Messages_With_Different_Level() throws Interrupt logViewerModel.hideLogLevel(Level.INFO.name()); logViewerModel.hideLogLevel(Level.TRACE.name()); logViewerModel.displayLogLevel(Level.DEBUG.name()); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 5) { latch.countDown(); } @@ -164,7 +163,7 @@ void Check_Level_Filter_Filters_Messages_With_Different_Level() throws Interrupt logViewerModel.addLogMessage(new LogMessage("", 3, "", Level.DEBUG, "", null)); logViewerModel.addLogMessage(new LogMessage("", 4, "", Level.TRACE, "", null)); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -176,7 +175,7 @@ void Check_Level_Filter_Keeps_Messages_With_Different_Level() throws Interrupted logViewerModel.hideLogLevel(Level.INFO.name()); logViewerModel.hideLogLevel(Level.TRACE.name()); logViewerModel.displayLogLevel(Level.DEBUG.name()); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 1) { latch.countDown(); } @@ -188,7 +187,7 @@ void Check_Level_Filter_Keeps_Messages_With_Different_Level() throws Interrupted logViewerModel.addLogMessage(new LogMessage("", 3, "", Level.DEBUG, "", null)); logViewerModel.addLogMessage(new LogMessage("", 4, "", Level.TRACE, "", null)); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -197,7 +196,7 @@ void Check_Regex_Filter_Filters_Messages_That_Do_Not_Match_Regex() throws Interr LogViewerModel logViewerModel = new LogViewerModel(); logViewerModel.getFilterByRegexProperty().set(true); logViewerModel.getFilterProperty().set(".*(jim|joe).*"); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 5) { latch.countDown(); } @@ -209,7 +208,7 @@ void Check_Regex_Filter_Filters_Messages_That_Do_Not_Match_Regex() throws Interr logViewerModel.addLogMessage(new LogMessage("", 3, "", Level.TRACE, "joe", null)); logViewerModel.addLogMessage(new LogMessage("", 4, "", Level.TRACE, "jem", null)); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -218,7 +217,7 @@ void Check_Regex_Filter_Keeps_Messages_That_Match_Regex() throws InterruptedExce LogViewerModel logViewerModel = new LogViewerModel(); logViewerModel.getFilterByRegexProperty().set(true); logViewerModel.getFilterProperty().set(".*(jim|joe).*"); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 2) { latch.countDown(); } @@ -230,7 +229,7 @@ void Check_Regex_Filter_Keeps_Messages_That_Match_Regex() throws InterruptedExce logViewerModel.addLogMessage(new LogMessage("", 3, "", Level.TRACE, "joe", null)); logViewerModel.addLogMessage(new LogMessage("", 4, "", Level.TRACE, "jem", null)); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -239,7 +238,7 @@ void Check_Text_Filter_Filters_Messages_That_Do_Not_Contain_Text() throws Interr LogViewerModel logViewerModel = new LogViewerModel(); logViewerModel.getFilterByRegexProperty().set(false); logViewerModel.getFilterProperty().set("jim"); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 5) { latch.countDown(); } @@ -251,7 +250,7 @@ void Check_Text_Filter_Filters_Messages_That_Do_Not_Contain_Text() throws Interr logViewerModel.addLogMessage(new LogMessage("", 3, "", Level.TRACE, "joe", null)); logViewerModel.addLogMessage(new LogMessage("", 4, "", Level.TRACE, "jim qsdsqd", null)); - assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertFalse(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -260,7 +259,7 @@ void Check_Text_Filter_Keeps_Messages_That_Contain_Text() throws InterruptedExce LogViewerModel logViewerModel = new LogViewerModel(); logViewerModel.getFilterByRegexProperty().set(false); logViewerModel.getFilterProperty().set("jim"); - logViewerModel.getFilteredLogs().addListener((ListChangeListener) change -> { + logViewerModel.getFilteredLogs().addListener((ListChangeListener) _ -> { if (logViewerModel.getFilteredLogs().size() == 2) { latch.countDown(); } @@ -272,7 +271,7 @@ void Check_Text_Filter_Keeps_Messages_That_Contain_Text() throws InterruptedExce logViewerModel.addLogMessage(new LogMessage("", 3, "", Level.TRACE, "joe", null)); logViewerModel.addLogMessage(new LogMessage("", 4, "", Level.TRACE, "jim qsdsqd", null)); - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } @Test @@ -280,7 +279,7 @@ void Check_All_Threads_Keeps_Messages_That_Contain_Text() throws InterruptedExce List threads = Arrays.asList("a", "b", "c", "d", "e"); CountDownLatch latch = new CountDownLatch(1); LogViewerModel logViewerModel = new LogViewerModel(); - logViewerModel.getAllThreads().addListener((SetChangeListener) change -> { + logViewerModel.getAllThreads().addListener((SetChangeListener) _ -> { if (logViewerModel.getAllThreads().containsAll(threads)) { latch.countDown(); } @@ -290,6 +289,6 @@ void Check_All_Threads_Keeps_Messages_That_Contain_Text() throws InterruptedExce logViewerModel.addLogMessage(new LogMessage("", 0, thread, Level.TRACE, "", null)); } - assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); + Assertions.assertTrue(latch.await(100, TimeUnit.MILLISECONDS)); } }