diff --git a/pom.xml b/pom.xml index 97d01b342..2d43aa712 100644 --- a/pom.xml +++ b/pom.xml @@ -299,6 +299,10 @@ org.apache.maven.plugins maven-surefire-plugin ${mvn-surefire.version} + + + @{argLine} -javaagent:${org.mockito:mockito-core:jar} + org.codehaus.mojo @@ -399,6 +403,12 @@ ${nonModularGroupIds} + + get-mockito-agent-path + + properties + + diff --git a/src/main/java/org/cryptomator/common/Environment.java b/src/main/java/org/cryptomator/common/Environment.java index 0f9396e3b..bc13aa30c 100644 --- a/src/main/java/org/cryptomator/common/Environment.java +++ b/src/main/java/org/cryptomator/common/Environment.java @@ -8,7 +8,6 @@ import org.slf4j.LoggerFactory; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.Optional; import java.util.Set; @@ -166,7 +165,7 @@ public class Environment { private Optional getPath(String propertyName) { String value = System.getProperty(propertyName); - return Optional.ofNullable(value).map(Paths::get); + return Optional.ofNullable(value).map(Path::of); } @VisibleForTesting diff --git a/src/main/java/org/cryptomator/common/ErrorCode.java b/src/main/java/org/cryptomator/common/ErrorCode.java index d75ab97d0..169093104 100644 --- a/src/main/java/org/cryptomator/common/ErrorCode.java +++ b/src/main/java/org/cryptomator/common/ErrorCode.java @@ -77,7 +77,7 @@ public class ErrorCode { public static ErrorCode of(Throwable throwable) { var causalChain = Throwables.getCausalChain(throwable); if (causalChain.size() > 1) { - var rootCause = causalChain.get(causalChain.size() - 1); + var rootCause = causalChain.getLast(); var parentOfRootCause = causalChain.get(causalChain.size() - 2); var rootSpecificFrames = countTopmostFrames(rootCause.getStackTrace(), parentOfRootCause.getStackTrace()); return new ErrorCode(throwable, rootCause, rootSpecificFrames); diff --git a/src/main/java/org/cryptomator/common/SubstitutingProperties.java b/src/main/java/org/cryptomator/common/SubstitutingProperties.java index 3120abde8..4788bcba4 100644 --- a/src/main/java/org/cryptomator/common/SubstitutingProperties.java +++ b/src/main/java/org/cryptomator/common/SubstitutingProperties.java @@ -67,7 +67,7 @@ public class SubstitutingProperties extends PropertiesDecorator { private enum Source { ENV, - PROPS; + PROPS } } diff --git a/src/main/java/org/cryptomator/common/locationpresets/OneDriveWindowsLocationPresetsProvider.java b/src/main/java/org/cryptomator/common/locationpresets/OneDriveWindowsLocationPresetsProvider.java index 467d7785b..21ebef86b 100644 --- a/src/main/java/org/cryptomator/common/locationpresets/OneDriveWindowsLocationPresetsProvider.java +++ b/src/main/java/org/cryptomator/common/locationpresets/OneDriveWindowsLocationPresetsProvider.java @@ -8,9 +8,9 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; +import java.time.Duration; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -78,7 +78,7 @@ public final class OneDriveWindowsLocationPresetsProvider implements LocationPre */ @Blocking private static void waitForSuccess(Process process, int timeoutSeconds, String cmdDescription) throws TimeoutException, InterruptedException, CommandFailedException { - boolean exited = process.waitFor(timeoutSeconds, TimeUnit.SECONDS); + boolean exited = process.waitFor(Duration.ofSeconds(timeoutSeconds)); if (!exited) { throw new TimeoutException(cmdDescription + " timed out after " + timeoutSeconds + "s"); } diff --git a/src/main/java/org/cryptomator/common/mount/MountWithinParentUtil.java b/src/main/java/org/cryptomator/common/mount/MountWithinParentUtil.java index b436bc19a..75ba0eb48 100644 --- a/src/main/java/org/cryptomator/common/mount/MountWithinParentUtil.java +++ b/src/main/java/org/cryptomator/common/mount/MountWithinParentUtil.java @@ -90,7 +90,7 @@ public final class MountWithinParentUtil { EMPTY_DIR, - BROKEN_JUNCTION; + BROKEN_JUNCTION } diff --git a/src/main/java/org/cryptomator/common/settings/VaultSettings.java b/src/main/java/org/cryptomator/common/settings/VaultSettings.java index 5112415b4..507af0866 100644 --- a/src/main/java/org/cryptomator/common/settings/VaultSettings.java +++ b/src/main/java/org/cryptomator/common/settings/VaultSettings.java @@ -22,7 +22,6 @@ import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Objects; import java.util.Random; @@ -62,7 +61,7 @@ public class VaultSettings { VaultSettings(VaultSettingsJson json) { this.id = json.id; - this.path = new SimpleObjectProperty<>(this, "path", json.path == null ? null : Paths.get(json.path)); + this.path = new SimpleObjectProperty<>(this, "path", json.path == null ? null : Path.of(json.path)); this.displayName = new SimpleStringProperty(this, "displayName", json.displayName); this.unlockAfterStartup = new SimpleBooleanProperty(this, "unlockAfterStartup", json.unlockAfterStartup); this.revealAfterMount = new SimpleBooleanProperty(this, "revealAfterMount", json.revealAfterMount); diff --git a/src/main/java/org/cryptomator/common/vaults/Vault.java b/src/main/java/org/cryptomator/common/vaults/Vault.java index 64b763aeb..1a44dd3e4 100644 --- a/src/main/java/org/cryptomator/common/vaults/Vault.java +++ b/src/main/java/org/cryptomator/common/vaults/Vault.java @@ -47,7 +47,6 @@ import javafx.beans.property.ReadOnlyStringProperty; import javafx.beans.property.SimpleBooleanProperty; import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.ReadOnlyFileSystemException; import java.util.EnumSet; import java.util.Objects; @@ -58,7 +57,7 @@ import java.util.concurrent.atomic.AtomicReference; public class Vault { private static final Logger LOG = LoggerFactory.getLogger(Vault.class); - private static final Path HOME_DIR = Paths.get(SystemUtils.USER_HOME); + private static final Path HOME_DIR = Path.of(SystemUtils.USER_HOME); private static final int UNLIMITED_FILENAME_LENGTH = Integer.MAX_VALUE; private final VaultSettings vaultSettings; diff --git a/src/main/java/org/cryptomator/common/vaults/VaultState.java b/src/main/java/org/cryptomator/common/vaults/VaultState.java index f8b9b412a..5a6ea4108 100644 --- a/src/main/java/org/cryptomator/common/vaults/VaultState.java +++ b/src/main/java/org/cryptomator/common/vaults/VaultState.java @@ -58,7 +58,7 @@ public class VaultState extends ObservableValueBase implements /** * Unknown state due to preceding unrecoverable exceptions. */ - ERROR; + ERROR } private final AtomicReference value; diff --git a/src/main/java/org/cryptomator/launcher/SupportedLanguages.java b/src/main/java/org/cryptomator/launcher/SupportedLanguages.java index 53136e59b..080e433df 100644 --- a/src/main/java/org/cryptomator/launcher/SupportedLanguages.java +++ b/src/main/java/org/cryptomator/launcher/SupportedLanguages.java @@ -34,7 +34,7 @@ public class SupportedLanguages { var collator = Collator.getInstance(preferredLocale); collator.setStrength(Collator.PRIMARY); var sorted = new ArrayList(); - sorted.add(0, null); + sorted.addFirst(null); sorted.add(1, ENGLISH); LANGUAGE_TAGS.stream() // .sorted((a, b) -> collator.compare(Locale.forLanguageTag(a).getDisplayName(), Locale.forLanguageTag(b).getDisplayName())) // diff --git a/src/main/java/org/cryptomator/ui/addvaultwizard/CreateNewVaultLocationController.java b/src/main/java/org/cryptomator/ui/addvaultwizard/CreateNewVaultLocationController.java index 78a2771df..77f977335 100644 --- a/src/main/java/org/cryptomator/ui/addvaultwizard/CreateNewVaultLocationController.java +++ b/src/main/java/org/cryptomator/ui/addvaultwizard/CreateNewVaultLocationController.java @@ -41,7 +41,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.InvalidPathException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Optional; import java.util.ResourceBundle; import java.util.concurrent.ExecutorService; @@ -50,7 +49,7 @@ import java.util.concurrent.ExecutorService; public class CreateNewVaultLocationController implements FxController { private static final Logger LOG = LoggerFactory.getLogger(CreateNewVaultLocationController.class); - private static final Path DEFAULT_CUSTOM_VAULT_PATH = Paths.get(System.getProperty("user.home")); + private static final Path DEFAULT_CUSTOM_VAULT_PATH = Path.of(System.getProperty("user.home")); private static final String TEMP_FILE_PREFIX = ".locationTest.cryptomator"; private final Stage window; diff --git a/src/main/java/org/cryptomator/ui/common/SystemBarUtil.java b/src/main/java/org/cryptomator/ui/common/SystemBarUtil.java index 9faaa60db..a4f74cf47 100644 --- a/src/main/java/org/cryptomator/ui/common/SystemBarUtil.java +++ b/src/main/java/org/cryptomator/ui/common/SystemBarUtil.java @@ -23,7 +23,7 @@ public class SystemBarUtil { /** * OS Bar placed at the bottom screen edge */ - BOTTOM; + BOTTOM } /** diff --git a/src/main/java/org/cryptomator/ui/health/Check.java b/src/main/java/org/cryptomator/ui/health/Check.java index 52bee578c..ff2c18630 100644 --- a/src/main/java/org/cryptomator/ui/health/Check.java +++ b/src/main/java/org/cryptomator/ui/health/Check.java @@ -90,7 +90,7 @@ public class Check { SUCCEEDED, SKIPPED, ERROR, - CANCELLED; + CANCELLED } ObservableList getResults() { diff --git a/src/main/java/org/cryptomator/ui/health/CheckListController.java b/src/main/java/org/cryptomator/ui/health/CheckListController.java index 22ec37b48..e1656f485 100644 --- a/src/main/java/org/cryptomator/ui/health/CheckListController.java +++ b/src/main/java/org/cryptomator/ui/health/CheckListController.java @@ -84,7 +84,7 @@ public class CheckListController implements FxController { checks.filtered(c -> !c.isChosenForExecution()).forEach(c -> c.setState(Check.CheckState.SKIPPED)); checkExecutor.executeBatch(chosenChecks); - checksListView.getSelectionModel().select(chosenChecks.get(0)); + checksListView.getSelectionModel().select(chosenChecks.getFirst()); checksListView.refresh(); window.sizeToScene(); } diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java index 2c28d0fb1..84eac0f37 100644 --- a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java +++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java @@ -153,7 +153,7 @@ public class VaultListController implements FxController { vaults.addListener((ListChangeListener.Change c) -> { while (c.next()) { if (c.wasAdded()) { - Vault anyAddedVault = c.getAddedSubList().get(0); + Vault anyAddedVault = c.getAddedSubList().getFirst(); vaultList.getSelectionModel().select(anyAddedVault); } } diff --git a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyValidateController.java b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyValidateController.java index 35f4c15ed..ed1c8535a 100644 --- a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyValidateController.java +++ b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyValidateController.java @@ -217,7 +217,7 @@ public class RecoveryKeyValidateController implements FxController { /** * Recovery key is not a valid key. */ - INVALID; + INVALID } } diff --git a/src/main/java/org/cryptomator/ui/stats/VaultStatisticsController.java b/src/main/java/org/cryptomator/ui/stats/VaultStatisticsController.java index dd294a457..6e3a41ae4 100644 --- a/src/main/java/org/cryptomator/ui/stats/VaultStatisticsController.java +++ b/src/main/java/org/cryptomator/ui/stats/VaultStatisticsController.java @@ -140,9 +140,9 @@ public class VaultStatisticsController implements FxController { long allTimeMaxAccessedFiles = Arrays.stream(maxAccessBuf).max().orElse(0L); // remove oldest value: - decryptedBytesRead.getData().remove(0); - encryptedBytesWrite.getData().remove(0); - accessedFiles.getData().remove(0); + decryptedBytesRead.getData().removeFirst(); + encryptedBytesWrite.getData().removeFirst(); + accessedFiles.getData().removeFirst(); // add latest value: decryptedBytesRead.getData().add(new Data<>(currentStep, decBytes)); diff --git a/src/main/java/org/cryptomator/ui/unlock/UnlockInvalidMountPointController.java b/src/main/java/org/cryptomator/ui/unlock/UnlockInvalidMountPointController.java index 53c358038..eb8e6e4f8 100644 --- a/src/main/java/org/cryptomator/ui/unlock/UnlockInvalidMountPointController.java +++ b/src/main/java/org/cryptomator/ui/unlock/UnlockInvalidMountPointController.java @@ -110,7 +110,7 @@ public class UnlockInvalidMountPointController implements FxController { //TODO Add option to show filesystem, e.g. for ExceptionType.HIDEAWAY_EXISTS SHOW_PREFERENCES, - SHOW_VAULT_OPTIONS; + SHOW_VAULT_OPTIONS } diff --git a/src/test/java/org/cryptomator/common/EnvironmentTest.java b/src/test/java/org/cryptomator/common/EnvironmentTest.java index 2342bbca4..c3ac7762c 100644 --- a/src/test/java/org/cryptomator/common/EnvironmentTest.java +++ b/src/test/java/org/cryptomator/common/EnvironmentTest.java @@ -11,7 +11,6 @@ import org.junit.jupiter.api.condition.EnabledIf; import org.mockito.Mockito; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Optional; import java.util.stream.Stream; @@ -56,7 +55,7 @@ public class EnvironmentTest { List result = env.getPaths("test.path.property").toList(); MatcherAssert.assertThat(result, Matchers.hasSize(1)); - MatcherAssert.assertThat(result, Matchers.hasItem(Paths.get("/foo/bar/test"))); + MatcherAssert.assertThat(result, Matchers.hasItem(Path.of("/foo/bar/test"))); } @Test diff --git a/src/test/java/org/cryptomator/common/settings/SettingsJsonTest.java b/src/test/java/org/cryptomator/common/settings/SettingsJsonTest.java index 4b660f0f4..12398fcba 100644 --- a/src/test/java/org/cryptomator/common/settings/SettingsJsonTest.java +++ b/src/test/java/org/cryptomator/common/settings/SettingsJsonTest.java @@ -38,7 +38,7 @@ public class SettingsJsonTest { Assertions.assertTrue(jsonObj.checkForUpdatesEnabled); Assertions.assertEquals(2, jsonObj.directories.size()); - Assertions.assertEquals("/vault1", jsonObj.directories.get(0).path); + Assertions.assertEquals("/vault1", jsonObj.directories.getFirst().path); Assertions.assertEquals("/vault2", jsonObj.directories.get(1).path); Assertions.assertEquals("--foo --bar", jsonObj.directories.get(1).mountFlags); Assertions.assertEquals(8080, jsonObj.port); @@ -67,7 +67,7 @@ public class SettingsJsonTest { public void testSerialize() throws JsonProcessingException { var jsonObj = new SettingsJson(); jsonObj.directories = List.of(new VaultSettingsJson(), new VaultSettingsJson()); - jsonObj.directories.get(0).id = "test"; + jsonObj.directories.getFirst().id = "test"; jsonObj.theme = UiTheme.DARK; jsonObj.showTrayIcon = false; diff --git a/src/test/java/org/cryptomator/launcher/FileOpenRequestHandlerTest.java b/src/test/java/org/cryptomator/launcher/FileOpenRequestHandlerTest.java index bb9cabbf3..1102b3eb0 100644 --- a/src/test/java/org/cryptomator/launcher/FileOpenRequestHandlerTest.java +++ b/src/test/java/org/cryptomator/launcher/FileOpenRequestHandlerTest.java @@ -17,7 +17,6 @@ import org.mockito.Mockito; import java.nio.file.FileSystem; import java.nio.file.InvalidPathException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -43,7 +42,7 @@ public class FileOpenRequestHandlerTest { AppLaunchEvent evt = queue.poll(); Assertions.assertNotNull(evt); Collection paths = evt.pathsToOpen(); - MatcherAssert.assertThat(paths, CoreMatchers.hasItems(Paths.get("foo"), Paths.get("bar"))); + MatcherAssert.assertThat(paths, CoreMatchers.hasItems(Path.of("foo"), Path.of("bar"))); } @Test