From 3433a72e55c78f7c90dd933720ce2fe16f64ae6b Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Wed, 19 Dec 2018 13:19:23 +0100
Subject: [PATCH] loading of log4j config fiexd

---
 frontend-js/package-lock.json                 |   6 +-
 .../web/config/WebAppInitializer.java         | 108 ++++++++++--------
 2 files changed, 61 insertions(+), 53 deletions(-)

diff --git a/frontend-js/package-lock.json b/frontend-js/package-lock.json
index 4341df5ed0..806db19df3 100644
--- a/frontend-js/package-lock.json
+++ b/frontend-js/package-lock.json
@@ -3526,9 +3526,9 @@
       }
     },
     "molart": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/molart/-/molart-1.1.0.tgz",
-      "integrity": "sha512-4pnDWDueNZSbCYE6MZDKbJhcnjdDc2akGr32N3Jv8t1mW59sPZB55S7ja9L818vi110qs0QI6OG38QnsjCCCcw==",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/molart/-/molart-1.2.1.tgz",
+      "integrity": "sha512-1cza/V1TRHBg5q4doCQ6+fqsAy8XhYeFxSPjNCLpxarOiiN+18lufxqIejj4KlhAF2vmxKGeggeRheKKb5iriQ==",
       "dev": true
     },
     "mold-source-map": {
diff --git a/web/src/main/java/lcsb/mapviewer/web/config/WebAppInitializer.java b/web/src/main/java/lcsb/mapviewer/web/config/WebAppInitializer.java
index 177a8450b2..61ee98c8bb 100644
--- a/web/src/main/java/lcsb/mapviewer/web/config/WebAppInitializer.java
+++ b/web/src/main/java/lcsb/mapviewer/web/config/WebAppInitializer.java
@@ -1,12 +1,21 @@
 package lcsb.mapviewer.web.config;
 
-import lcsb.mapviewer.annotation.SpringAnnotationConfig;
-import lcsb.mapviewer.api.SpringRestApiConfig;
-import lcsb.mapviewer.web.bean.utils.JsfAjaxAccessControlAllowFilter;
-import lcsb.mapviewer.web.bean.utils.XFrameAccessControlFilter;
-import lcsb.mapviewer.web.bean.utils.CssContentTypeFilter;
-import lcsb.mapviewer.persist.SpringPersistConfig;
-import lcsb.mapviewer.services.SpringServiceConfig;
+import java.io.InputStream;
+import java.util.Arrays;
+import java.util.EnumSet;
+import java.util.HashSet;
+import java.util.Properties;
+
+import javax.faces.webapp.FacesServlet;
+import javax.servlet.DispatcherType;
+import javax.servlet.FilterRegistration;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletRegistration;
+import javax.servlet.SessionCookieConfig;
+import javax.servlet.SessionTrackingMode;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.PropertyConfigurator;
 import org.primefaces.webapp.filter.FileUploadFilter;
 import org.springframework.security.web.session.HttpSessionEventPublisher;
 import org.springframework.web.WebApplicationInitializer;
@@ -15,23 +24,23 @@ import org.springframework.web.context.request.RequestContextListener;
 import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
 import org.springframework.web.filter.DelegatingFilterProxy;
 import org.springframework.web.servlet.DispatcherServlet;
-import org.springframework.web.util.Log4jConfigListener;
 
-import javax.faces.webapp.FacesServlet;
-import javax.servlet.*;
-import java.util.Arrays;
-import java.util.EnumSet;
-import java.util.HashSet;
+import lcsb.mapviewer.annotation.SpringAnnotationConfig;
+import lcsb.mapviewer.api.SpringRestApiConfig;
+import lcsb.mapviewer.persist.SpringPersistConfig;
+import lcsb.mapviewer.services.SpringServiceConfig;
+import lcsb.mapviewer.web.bean.utils.CssContentTypeFilter;
+import lcsb.mapviewer.web.bean.utils.JsfAjaxAccessControlAllowFilter;
+import lcsb.mapviewer.web.bean.utils.XFrameAccessControlFilter;
 
 public class WebAppInitializer implements WebApplicationInitializer {
+  Logger logger = Logger.getLogger(WebAppInitializer.class);
 
   @Override
-  public void onStartup(ServletContext container) throws ServletException {
+  public void onStartup(ServletContext container) {
 
     /*
-    ============
-    ROOT CONTEXT
-    ============
+     * ============ ROOT CONTEXT ============
      */
 
     AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
@@ -41,12 +50,10 @@ public class WebAppInitializer implements WebApplicationInitializer {
         SpringPersistConfig.class,
         SpringRestApiConfig.class,
         SpringServiceConfig.class,
-        SpringWebConfig.class
-    );
+        SpringWebConfig.class);
 
     container.addListener(new ContextLoaderListener(rootContext));
     container.addListener(SessionListener.class);
-    container.addListener(Log4jConfigListener.class);
     container.addListener(HttpSessionEventPublisher.class);
     container.addListener(RequestContextListener.class);
 
@@ -60,18 +67,26 @@ public class WebAppInitializer implements WebApplicationInitializer {
     assert container.setInitParameter("javax.faces.CONFIG_FILES", "/WEB-INF/faces-config.xml");
     assert container.setInitParameter("javax.faces.DEFAULT_SUFFIX", ".xhtml");
     assert container.setInitParameter("javax.faces.FACELETS_SKIP_COMMENTS", "true");
-    assert container.setInitParameter("log4jConfigLocation", "/WEB-INF/resources/log4j.properties");
+
+    String file = "/WEB-INF/resources/log4j.properties";
+    try {
+      Properties props = new Properties();
+      InputStream configStream = container.getResourceAsStream(file);
+      props.load(configStream);
+      configStream.close();
+      PropertyConfigurator.configure(props);
+    } catch (Exception e) {
+      logger.error("Problem with loading log4j configuration: " + file);
+    }
 
     /*
-    ===========
-    APP CONTEXT
-    ===========
+     * =========== APP CONTEXT ===========
      */
 
     AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
     appContext.setParent(rootContext);
-    ServletRegistration.Dynamic appDispatcher =
-        container.addServlet("App Servlet", new DispatcherServlet(appContext));
+
+    ServletRegistration.Dynamic appDispatcher = container.addServlet("App Servlet", new DispatcherServlet(appContext));
     appDispatcher.setLoadOnStartup(1);
     appDispatcher.addMapping(
         "*.css",
@@ -86,48 +101,40 @@ public class WebAppInitializer implements WebApplicationInitializer {
         "*.woff",
         "*.woff2",
         "/login",
-        "/j_spring_security_logout"
-    );
+        "/j_spring_security_logout");
 
     /*
-    =============
-    FACES CONTEXT
-    =============
+     * ============= FACES CONTEXT =============
      */
 
     AnnotationConfigWebApplicationContext facesContext = new AnnotationConfigWebApplicationContext();
     facesContext.setParent(rootContext);
-    ServletRegistration.Dynamic facesDispatcher =
-        container.addServlet("Faces Servlet", new FacesServlet());
+    ServletRegistration.Dynamic facesDispatcher = container.addServlet("Faces Servlet", new FacesServlet());
     facesDispatcher.setLoadOnStartup(1);
     facesDispatcher.addMapping(
         "*.xhtml",
         "*.jsf",
-        "*.faces"
-    );
+        "*.faces");
 
     /*
-    ================
-    REST API CONTEXT
-    ================
+     * ================ REST API CONTEXT ================
      */
 
     AnnotationConfigWebApplicationContext restApiContext = new AnnotationConfigWebApplicationContext();
     restApiContext.setParent(rootContext);
     restApiContext.register(SpringRestApiConfig.class);
-    ServletRegistration.Dynamic restApiDispatcher =
-        container.addServlet("REST API Servlet", new DispatcherServlet(restApiContext));
+    ServletRegistration.Dynamic restApiDispatcher = container.addServlet("REST API Servlet",
+        new DispatcherServlet(restApiContext));
     restApiDispatcher.setLoadOnStartup(1);
     restApiDispatcher.addMapping("/api/*");
 
     /*
-    =======
-    FILTERS
-    =======
+     * ======= FILTERS =======
      */
 
     FileUploadFilter fileUploadFilter = new FileUploadFilter();
-    FilterRegistration.Dynamic fileUploadFilterReg = container.addFilter("PrimeFaces FileUpload Filter", fileUploadFilter);
+    FilterRegistration.Dynamic fileUploadFilterReg = container.addFilter("PrimeFaces FileUpload Filter",
+        fileUploadFilter);
     fileUploadFilterReg.setInitParameter("thresholdSize", "51200");
     fileUploadFilterReg.addMappingForServletNames(null, true, "Faces Servlet");
 
@@ -140,17 +147,18 @@ public class WebAppInitializer implements WebApplicationInitializer {
     xFrameFilterReg.addMappingForUrlPatterns(null, true, "/*");
 
     JsfAjaxAccessControlAllowFilter jsfAjaxAccessControlAllowFilter = new JsfAjaxAccessControlAllowFilter();
-    FilterRegistration.Dynamic jsfAjaxAccessControlAllowFilterReg = container.addFilter("allowAjaxCrossSiteQueries", jsfAjaxAccessControlAllowFilter);
+    FilterRegistration.Dynamic jsfAjaxAccessControlAllowFilterReg = container.addFilter("allowAjaxCrossSiteQueries",
+        jsfAjaxAccessControlAllowFilter);
     jsfAjaxAccessControlAllowFilterReg.addMappingForUrlPatterns(null, true, "/*");
 
     DelegatingFilterProxy delegatingFilterProxy = new DelegatingFilterProxy();
-    FilterRegistration.Dynamic delegatingFilterProxyReg = container.addFilter("springSecurityFilterChain", delegatingFilterProxy);
-    delegatingFilterProxyReg.addMappingForUrlPatterns(EnumSet.of(DispatcherType.FORWARD, DispatcherType.REQUEST), false, "/*");
+    FilterRegistration.Dynamic delegatingFilterProxyReg = container.addFilter("springSecurityFilterChain",
+        delegatingFilterProxy);
+    delegatingFilterProxyReg.addMappingForUrlPatterns(EnumSet.of(DispatcherType.FORWARD, DispatcherType.REQUEST), false,
+        "/*");
 
     /*
-    ===============
-    COOKIE SETTINGS
-    ===============
+     * =============== COOKIE SETTINGS ===============
      */
     SessionCookieConfig cookieConfig = container.getSessionCookieConfig();
     cookieConfig.setName("MINERVA_AUTH_TOKEN");
-- 
GitLab