|
17 | 17 | */ |
18 | 18 | package it.eng.spagobi.commons.services; |
19 | 19 |
|
| 20 | +import java.lang.reflect.Method; |
| 21 | + |
20 | 22 | import javax.servlet.ServletConfig; |
21 | 23 | import javax.servlet.ServletException; |
22 | 24 | import javax.servlet.http.HttpServlet; |
23 | 25 |
|
24 | 26 | import org.apache.log4j.Logger; |
25 | 27 |
|
26 | 28 | import it.eng.knowage.encryption.DataEncryptionInitializer; |
| 29 | +import it.eng.spago.base.SourceBean; |
27 | 30 | import it.eng.spagobi.commons.initializers.caching.CachingInitializer; |
28 | 31 | import it.eng.spagobi.commons.initializers.metadata.CategoriesInitializer; |
29 | 32 | import it.eng.spagobi.commons.initializers.metadata.MetadataInitializer; |
@@ -78,6 +81,33 @@ public void init(ServletConfig config) throws ServletException { |
78 | 81 | CleanAuditQuartzInitializer cleanAuditQuartzInitializer = new CleanAuditQuartzInitializer(); |
79 | 82 | cleanAuditQuartzInitializer.init(null); |
80 | 83 |
|
| 84 | + this.invokeCockpitStatisticsInitializer("it.eng.spagobi.commons.initializers.metadata.CockpitStatisticsInitializer"); |
| 85 | + |
| 86 | + } |
| 87 | + |
| 88 | + private void invokeCockpitStatisticsInitializer(String fqcn) { |
| 89 | + ClassLoader cl = Thread.currentThread().getContextClassLoader(); |
| 90 | + |
| 91 | + try { |
| 92 | + |
| 93 | + Class<?> clazz = Class.forName(fqcn, true, cl); |
| 94 | + |
| 95 | + Object instance = clazz.getDeclaredConstructor().newInstance(); |
| 96 | + |
| 97 | + Method init = clazz.getMethod("init", SourceBean.class); |
| 98 | + |
| 99 | + init.invoke(instance, (Object) null); |
| 100 | + |
| 101 | + |
| 102 | + } catch (ClassNotFoundException | NoClassDefFoundError e) { |
| 103 | + logger.info(String.format("Class %s non found", fqcn)); |
| 104 | + } catch (NoSuchMethodException e) { |
| 105 | + logger.warn(String.format("Method init(Object) non found su %s.", fqcn)); |
| 106 | + } catch (ReflectiveOperationException e) { |
| 107 | + logger.error(String.format("Error invocation %s.init(null): %s", fqcn, e.getMessage())); |
| 108 | + } catch (Throwable t) { |
| 109 | + logger.error("Generic error reflection: " + t.getMessage()); |
| 110 | + } |
81 | 111 | } |
82 | 112 |
|
83 | 113 |
|
|
0 commit comments