From 1c9178997dd15d65b5f84b4870b3e54caa30ff61 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 17 Apr 2021 00:24:12 +0000
Subject: [PATCH] WIP: Springboot

---
 borgbutler-docker/app/entrypoint.sh                                                       |    2 +-
 borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt |   17 ++++++++++++-----
 borgbutler-server/build.gradle                                                            |    2 ++
 borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/UserFilter.java       |    4 +---
 borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt             |    2 +-
 borgbutler-server/src/main/resources/logback-spring.xml                                   |   10 ++++------
 6 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/borgbutler-docker/app/entrypoint.sh b/borgbutler-docker/app/entrypoint.sh
index 0d6e59a..889bfd7 100644
--- a/borgbutler-docker/app/entrypoint.sh
+++ b/borgbutler-docker/app/entrypoint.sh
@@ -47,7 +47,7 @@
 #Trap SIGTERM
 trap cleanup INT SIGTERM
 
-echo "Starting java ${JAVA_OPTS} -cp app/web/*:app/lib/* -DborgbutlerHome=/BorgButler/ -DapplicationHome=/app -DbindAddress=0.0.0.0 -DallowedClientIps=172.17. de.micromata.borgbutler.server.Main -q ${JAVA_ARGS}"
+echo "Starting java ${JAVA_OPTS} -cp app/web/*:app/lib/* -DBorgButlerHome=/BorgButler/ -DapplicationHome=/app -DbindAddress=0.0.0.0 -DallowedClientIps=172.17. de.micromata.borgbutler.server.Main -q ${JAVA_ARGS}"
 
 java $JAVA_OPTS -cp app/web/*:app/lib/* -DborgbutlerHome=/BorgButler/ -DapplicationHome=/app -DbindAddress=0.0.0.0 -DallowedClientIps=172.17. de.micromata.borgbutler.server.Main -q $JAVA_ARGS &
 
diff --git a/borgbutler-server/build.gradle b/borgbutler-server/build.gradle
index 470ee6f..49922c7 100644
--- a/borgbutler-server/build.gradle
+++ b/borgbutler-server/build.gradle
@@ -25,6 +25,8 @@
 
     // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web
     implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.4.5'
+    implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: '2.12.3'
+
     implementation 'io.github.microutils:kotlin-logging-jvm:2.0.6'
 
     // https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient
diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/UserFilter.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/UserFilter.java
index 87ae77e..638bf5b 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/UserFilter.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/UserFilter.java
@@ -1,12 +1,10 @@
 package de.micromata.borgbutler.server.user;
 
-import de.micromata.borgbutler.server.rest.RequestLog;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 
 /**
@@ -45,7 +43,7 @@
             userData = UserManager.instance().getUser("dummy");
             UserUtils.setUser(userData, request.getLocale());
             if (log.isDebugEnabled()) log.debug("Request for user: " + userData);
-            log.info("Request for user: " + userData + ": " + RequestLog.asString((HttpServletRequest) request));
+            //log.info("Request for user: " + userData + ": " + RequestLog.asString((HttpServletRequest) request));
             chain.doFilter(request, response);
         } finally {
             UserUtils.removeUser();
diff --git a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt
index f261fcd..f41eefa 100644
--- a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt
+++ b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt
@@ -37,6 +37,18 @@
 
     private fun _start(args: Array<out String>) {
         setConfigClazz(ServerConfiguration::class.java)
+        var borgButlerHome = System.getProperty("BorgButlerHome")
+        if (borgButlerHome.isNullOrBlank()) {
+            borgButlerHome = File(System.getProperty("user.home"), ".borgbutler").absolutePath
+            System.setProperty("BorgButlerHome", borgButlerHome)
+        }
+        if (System.getProperty("LOG_PATH").isNullOrBlank()) {
+            System.setProperty("LOG_PATH", borgButlerHome)
+        }
+        if (borgButlerHome != null) {
+            init(borgButlerHome)
+        }
+        SpringApplication.run(BorgButlerApplication::class.java, *args)
         // create Options object
         val options = Options()
         options.addOption(
@@ -77,10 +89,6 @@
                     return
                 }
             }
-            val applicationHome = System.getProperty("borgbutlerHome")
-            if (applicationHome != null) {
-                init(applicationHome)
-            }
             if (Desktop.isDesktopSupported()) {
                 RunningMode.setServerType(RunningMode.ServerType.DESKTOP)
             } else {
@@ -126,7 +134,6 @@
         @JvmStatic
         fun main(vararg args: String) {
             main._start(args)
-            SpringApplication.run(BorgButlerApplication::class.java, *args)
         }
 
         private fun printHelp(options: Options) {
diff --git a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt
index b24752a..9b8b4f1 100644
--- a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt
+++ b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt
@@ -14,7 +14,7 @@
 @EnableWebMvc
 open class WebConfig : WebMvcConfigurer {
     override fun addCorsMappings(registry: CorsRegistry) {
-        if (ServerConfiguration.get().isWebDevelopmentMode) {
+        if (RunningMode.isDevelopmentMode() || ServerConfiguration.get().isWebDevelopmentMode) {
             log.warn("*********************************")
             log.warn("***********            **********")
             log.warn("*********** ATTENTION! **********")
diff --git a/borgbutler-server/src/main/resources/logback-spring.xml b/borgbutler-server/src/main/resources/logback-spring.xml
index ddf1bbf..562c892 100644
--- a/borgbutler-server/src/main/resources/logback-spring.xml
+++ b/borgbutler-server/src/main/resources/logback-spring.xml
@@ -1,19 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
-    <property name="LOG_HOME" value="${borgbutlerHome:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}}"/>
+    <property name="LOG_HOME" value="${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}"/>
     <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
 
     <appender name="ROLLING-FILE-ALL"
               class="ch.qos.logback.core.rolling.RollingFileAppender">
         <encoder>
-            <pattern>%d{MM-dd-yy HH:mm:ss} %-5level %mdc %logger{60}::%M:%line -
-                %msg%n
-            </pattern>
+            <pattern>%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} %X{user}@%X{ip} %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}</pattern>
         </encoder>
-        <file>${LOG_HOME}borgbutler.log</file>
+        <file>${LOG_HOME}/borgbutler.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-            <fileNamePattern>${LOG_HOME}/borgbutler.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
+            <fileNamePattern>borgbutler.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
             <minIndex>1</minIndex>
             <maxIndex>10</maxIndex>
         </rollingPolicy>

--
Gitblit v1.10.0