From d9c5b66f41794bf77ca3a273cd64afd2d8f1401b Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Tue, 13 Oct 2020 14:51:59 +0200
Subject: [PATCH] LoggingDAO bugfix

---
 .../java/it/inaf/ia2/gms/persistence/LoggingDAO.java  | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gms/src/main/java/it/inaf/ia2/gms/persistence/LoggingDAO.java b/gms/src/main/java/it/inaf/ia2/gms/persistence/LoggingDAO.java
index b04b810..cf7cf8d 100644
--- a/gms/src/main/java/it/inaf/ia2/gms/persistence/LoggingDAO.java
+++ b/gms/src/main/java/it/inaf/ia2/gms/persistence/LoggingDAO.java
@@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.sql.DataSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.BeanCreationException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Component;
@@ -51,7 +52,7 @@ public class LoggingDAO {
 
     private String getStackTraceString(Exception ex) {
         StringWriter sw = new StringWriter();
-        try (PrintWriter pw = new PrintWriter(sw)) {
+        try ( PrintWriter pw = new PrintWriter(sw)) {
             ex.printStackTrace(pw);
         }
         return sw.toString();
@@ -91,9 +92,11 @@ public class LoggingDAO {
         if (request.getUserPrincipal() != null && request.getUserPrincipal() instanceof RapPrincipal) {
             return request.getUserPrincipal().getName();
         } else if (request.getSession(false) != null) {
-            return sessionData.getUserId();
-        } else {
-            return null;
+            try {
+                return sessionData.getUserId();
+            } catch (BeanCreationException ex) {
+            }
         }
+        return null;
     }
 }
-- 
GitLab