mirror of https://github.com/micromata/borgbackup-butler.git

WIP
Kai Reinhard
17.09.2021 dbc0a8433134a341f6a359234e62b744f1a9555c
borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt
@@ -1,6 +1,7 @@
package de.micromata.borgbutler.server
import de.micromata.borgbutler.cache.ButlerCache
import de.micromata.borgbutler.config.ConfigurationHandler
import de.micromata.borgbutler.config.ConfigurationHandler.Companion.init
import de.micromata.borgbutler.config.ConfigurationHandler.Companion.setConfigClazz
import de.micromata.borgbutler.server.user.SingleUserManager
@@ -42,13 +43,19 @@
            borgButlerHome = File(System.getProperty("user.home"), ".borgbutler").absolutePath
            System.setProperty("BorgButlerHome", borgButlerHome)
        }
        // Preread configuration to get setting development mode for WebConfig (logging not yet initialized, so
        // reread configuration later after logging is available for getting log information on errors etc.)
        val configuration = ConfigurationHandler.readJsonConfigfile(File(borgButlerHome))
        RunningMode.webDevelopment = RunningMode.runningInIDE || (configuration as? ServerConfiguration)?.webDevelopmentMode == true
        if (System.getProperty("LOG_PATH").isNullOrBlank()) {
            // Needed by logback-spring.xml
            System.setProperty("LOG_PATH", borgButlerHome)
        }
        SpringApplication.run(BorgButlerApplication::class.java, *args)
        if (borgButlerHome != null) {
            init(borgButlerHome)
        }
        SpringApplication.run(BorgButlerApplication::class.java, *args)
        // create Options object
        val options = Options()
        options.addOption(
@@ -89,11 +96,6 @@
                    return
                }
            }
            if (Desktop.isDesktopSupported()) {
                RunningMode.setServerType(RunningMode.ServerType.DESKTOP)
            } else {
                RunningMode.setServerType(RunningMode.ServerType.SERVER)
            }
            RunningMode.logMode()
            UserManager.setUserManager(SingleUserManager())
@@ -104,9 +106,7 @@
            val url = "http://$serverAddress:$serverPort/".replace("0.0.0.0", "127.0.0.1")
            val uri = URI.create(url)
            val quietMode = line.hasOption('q')
            val desktopSupportsBrowse = Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)
            val headlessMode = System.getProperty("java.awt.headless") == "true"
            if (!quietMode && desktopSupportsBrowse && headlessMode) {
            if (!quietMode && RunningMode.desktopSupportsBrowse && RunningMode.headlessMode) {
                try {
                    log.info { "Trying to open your local web browser: $uri" }
                    Desktop.getDesktop().browse(uri)
@@ -117,9 +117,9 @@
            } else {
                if (quietMode) {
                    log.info("Server started in quiet mode (option -q). Please open your browser manually: $uri")
                } else if (!desktopSupportsBrowse) {
                } else if (!RunningMode.desktopSupportsBrowse) {
                    log.info("Desktop not available. Please open your browser manually: $uri")
                } else if (headlessMode) {
                } else if (RunningMode.headlessMode) {
                    log.info("Desktop not available in headless mode. Please open your browser manually: $uri")
                }
            }