[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / common / openecomp-common-configuration-management / openecomp-configuration-management-core / src / main / java / org / openecomp / config / impl / ContextListener.java
1 package org.openecomp.config.impl;
2
3 import static org.openecomp.config.Constants.MBEAN_NAME;
4
5 import org.apache.commons.beanutils.FluentPropertyBeanIntrospector;
6 import org.openecomp.config.api.ConfigurationManager;
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
9
10 import java.lang.management.ManagementFactory;
11 import java.lang.reflect.Field;
12 import java.lang.reflect.Method;
13 import javax.management.ObjectName;
14 import javax.servlet.ServletContextEvent;
15 import javax.servlet.ServletContextListener;
16 import javax.servlet.annotation.WebListener;
17
18 @WebListener
19 public class ContextListener implements ServletContextListener {
20
21   @Override
22   public void contextDestroyed(ServletContextEvent arg0) {
23     try {
24       ManagementFactory.getPlatformMBeanServer().unregisterMBean(new ObjectName(MBEAN_NAME));
25     } catch (Exception exception) {
26       exception.printStackTrace();
27     }
28   }
29
30   @Override
31   public void contextInitialized(ServletContextEvent arg0) {
32     try {
33       ConfigurationManager.lookup();
34       Logger logger = LoggerFactory.getLogger(FluentPropertyBeanIntrospector.class);
35       Method method = logger.getClass().getDeclaredMethod("getLevel");
36       method.setAccessible(true);
37       Object object = method.invoke(logger);
38       method = logger.getClass().getDeclaredMethod("setLevel", object.getClass());
39       method.setAccessible(true);
40       Field field = object.getClass().getDeclaredField("ERROR");
41       field.setAccessible(true);
42       method.invoke(logger, field.get(logger));
43     } catch (Exception exception) {
44       exception.printStackTrace();
45     }
46   }
47
48 }