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