diff --git a/src/main/java/de/deadlocker8/budgetmaster/backup/GitHelper.java b/src/main/java/de/deadlocker8/budgetmaster/backup/GitHelper.java index 9e0291afce185dcd9fcb296eb723d1ca50a0e65f..bf4d2dbf57000ad5fa64fbc3c5767a8638dce91f 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/backup/GitHelper.java +++ b/src/main/java/de/deadlocker8/budgetmaster/backup/GitHelper.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.net.URISyntaxException; import java.nio.file.Files; import java.nio.file.Path; +import java.util.Optional; import java.util.Set; public class GitHelper @@ -87,7 +88,7 @@ public class GitHelper pushCommand.call(); } - public static boolean checkConnection(String uri, CredentialsProvider credentialsProvider) + public static Optional<String> checkConnection(String uri, CredentialsProvider credentialsProvider) { try { @@ -97,10 +98,10 @@ public class GitHelper catch(GitAPIException | IOException e) { e.printStackTrace(); - return false; + return Optional.of(e.getMessage()); } - return true; + return Optional.empty(); } public static boolean isFileModified(Git git, String fileName) throws GitAPIException diff --git a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java index fbfa192d6e351f4d061aa17bff380e63810742a3..ccfa4d3eef9fecb014e4b66221500da3e7e59e4f 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java @@ -355,9 +355,16 @@ public class SettingsController extends BaseController } final CredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(autoBackupGitUserName, autoBackupGitToken); - final boolean isValidConnection = GitHelper.checkConnection(autoBackupGitUrl, credentialsProvider); + final Optional<String> checkConnectionOptional = GitHelper.checkConnection(autoBackupGitUrl, credentialsProvider); + final boolean isValidConnection = checkConnectionOptional.isEmpty(); + String errorText = ""; + if(checkConnectionOptional.isPresent()) + { + errorText = checkConnectionOptional.get(); + } + - String localizedMessage = Localization.getString("settings.backup.auto.git.test.fail"); + String localizedMessage = Localization.getString("settings.backup.auto.git.test.fail", errorText); if(isValidConnection) { localizedMessage = Localization.getString("settings.backup.auto.git.test.success"); diff --git a/src/main/resources/languages/base_de.properties b/src/main/resources/languages/base_de.properties index 45ce4ce36e60aa9ad3e074f417d1e26b6979fc24..3f2651f2f166b5cb4ef0e64fb3da97c112293c10 100644 --- a/src/main/resources/languages/base_de.properties +++ b/src/main/resources/languages/base_de.properties @@ -224,7 +224,7 @@ settings.backup.auto.git.user.name=Git Nutzername settings.backup.auto.git.token=Git Zugriffstoken settings.backup.auto.git.test=Verbindung testen settings.backup.auto.git.test.success=Verbindung erfolgreich! -settings.backup.auto.git.test.fail=Verbindung fehlgeschlagen! +settings.backup.auto.git.test.fail=Verbindung fehlgeschlagen!\n{0} settings.database.import=Importieren settings.database.export=Exportieren diff --git a/src/main/resources/languages/base_en.properties b/src/main/resources/languages/base_en.properties index 2d0802748de1594d1b8aa5547053cf2ba36d1999..d5e7145c0dd7d077dfbdc624bca9711c7fb59e4f 100644 --- a/src/main/resources/languages/base_en.properties +++ b/src/main/resources/languages/base_en.properties @@ -224,7 +224,7 @@ settings.backup.auto.git.user.name=Git user name settings.backup.auto.git.token=Git access token settings.backup.auto.git.test=Test connection settings.backup.auto.git.test.success=Connection successful! -settings.backup.auto.git.test.fail=Connection failed! +settings.backup.auto.git.test.fail=Connection failed!\n{0} settings.database.import=Import settings.database.export=Export