From 1fb987607cf165029f28a0a37f305360e4af8d1a Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Tue, 21 Jan 2025 17:03:42 +0100 Subject: [PATCH] use single method to initialize JavaFX --- src/main/java/org/cryptomator/JavaFXUtil.java | 20 +++++++++++++++++++ .../common/keychain/KeychainManagerTest.java | 12 +++-------- .../ui/controls/SecurePasswordFieldTest.java | 7 +++---- 3 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 src/main/java/org/cryptomator/JavaFXUtil.java diff --git a/src/main/java/org/cryptomator/JavaFXUtil.java b/src/main/java/org/cryptomator/JavaFXUtil.java new file mode 100644 index 000000000..44372d58a --- /dev/null +++ b/src/main/java/org/cryptomator/JavaFXUtil.java @@ -0,0 +1,20 @@ +package org.cryptomator; + +import javafx.application.Platform; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +public class JavaFXUtil { + + public static boolean startPlatform() throws InterruptedException { + CountDownLatch latch = new CountDownLatch(1); + try { + Platform.startup(latch::countDown); + } catch (IllegalStateException e) { + //already initialized + latch.countDown(); + } + return latch.await(5, TimeUnit.SECONDS); + } + +} diff --git a/src/test/java/org/cryptomator/common/keychain/KeychainManagerTest.java b/src/test/java/org/cryptomator/common/keychain/KeychainManagerTest.java index 63f81144f..6345faaf7 100644 --- a/src/test/java/org/cryptomator/common/keychain/KeychainManagerTest.java +++ b/src/test/java/org/cryptomator/common/keychain/KeychainManagerTest.java @@ -1,6 +1,7 @@ package org.cryptomator.common.keychain; +import org.cryptomator.JavaFXUtil; import org.cryptomator.integrations.keychain.KeychainAccessException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assumptions; @@ -21,15 +22,8 @@ public class KeychainManagerTest { @BeforeAll public static void startup() throws InterruptedException { - CountDownLatch latch = new CountDownLatch(1); - try { - Platform.startup(latch::countDown); - } catch (IllegalStateException e) { - //already initialized - latch.countDown(); - } - var javafxStarted = latch.await(5, TimeUnit.SECONDS); - Assumptions.assumeTrue(javafxStarted); + var isRunning = JavaFXUtil.startPlatform(); + Assumptions.assumeTrue(isRunning); } @Test diff --git a/src/test/java/org/cryptomator/ui/controls/SecurePasswordFieldTest.java b/src/test/java/org/cryptomator/ui/controls/SecurePasswordFieldTest.java index bfe31816e..b6052361b 100644 --- a/src/test/java/org/cryptomator/ui/controls/SecurePasswordFieldTest.java +++ b/src/test/java/org/cryptomator/ui/controls/SecurePasswordFieldTest.java @@ -1,5 +1,6 @@ package org.cryptomator.ui.controls; +import org.cryptomator.JavaFXUtil; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assumptions; @@ -18,10 +19,8 @@ public class SecurePasswordFieldTest { @BeforeAll public static void initJavaFx() throws InterruptedException { - CountDownLatch latch = new CountDownLatch(1); - Platform.startup(latch::countDown); - var javafxStarted = latch.await(5, TimeUnit.SECONDS); - Assumptions.assumeTrue(javafxStarted); + var isRunning = JavaFXUtil.startPlatform(); + Assumptions.assumeTrue(isRunning); } @Nested