Skip to content

Commit c99ff9d

Browse files
committed
DISABLED AuditLoggerEjb.
To make this work: - Enable AuditLogger and make it use legacy sormas.properties file - Make descriptions work for newly added - EmptyString instead of null because vaading textboxes doesn't like i.
1 parent 40ff465 commit c99ff9d

4 files changed

Lines changed: 59 additions & 46 deletions

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/audit/AuditLoggerEjb.java

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@
7575
import de.symeda.sormas.api.audit.AuditLoggerFacade;
7676
import de.symeda.sormas.api.audit.AuditedClass;
7777
import de.symeda.sormas.api.utils.DataHelper;
78-
import de.symeda.sormas.backend.common.ConfigFacadeEjb;
7978
import de.symeda.sormas.backend.user.CurrentUserService;
8079
import de.symeda.sormas.backend.user.User;
8180

@@ -116,9 +115,9 @@ public class AuditLoggerEjb implements AuditLoggerFacade {
116115

117116
private final Map<Class<?>, List<Field>> cachedAnnotatedFields = new HashMap<>();
118117
private final Map<Class<?>, List<Method>> cachedAnnotatedMethods = new HashMap<>();
119-
120-
@EJB
121-
private ConfigFacadeEjb.ConfigFacadeEjbLocal configFacade;
118+
//
119+
// @EJB
120+
// private ConfigFacadeEjb.ConfigFacadeEjbLocal configFacade;
122121
@EJB
123122
private LogSink auditLogger;
124123
@EJB
@@ -138,16 +137,20 @@ public static boolean isLoggingDisabled() {
138137

139138
@PostConstruct
140139
private void setup() {
141-
String sourceSite = configFacade.getAuditSourceSite();
142-
if (sourceSite.equals("")) {
143-
logger.warn("audit.source.site is empty! Please configure it for more expedient audit trail analysis.");
144-
sourceSite = "NOT CONFIGURED";
145-
}
146-
this.auditSourceSite = sourceSite;
147140

148-
if (configFacade.getAuditLoggerConfig().equals("")) {
149-
loggingDisabled = true;
150-
}
141+
auditSourceSite = "NOT CONFIGURED";
142+
loggingDisabled = true;
143+
144+
// String sourceSite = configFacade.getAuditSourceSite();
145+
// if (sourceSite.equals("")) {
146+
// logger.warn("audit.source.site is empty! Please configure it for more expedient audit trail analysis.");
147+
// sourceSite = "NOT CONFIGURED";
148+
// }
149+
// this.auditSourceSite = sourceSite;
150+
//
151+
// if (configFacade.getAuditLoggerConfig().equals("")) {
152+
// loggingDisabled = true;
153+
// }
151154

152155
actionBackendMap = new HashMap<>();
153156

sormas-backend/src/main/java/de/symeda/sormas/backend/audit/LogSink.java

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -15,31 +15,23 @@
1515

1616
package de.symeda.sormas.backend.audit;
1717

18-
import java.io.File;
19-
2018
import javax.annotation.PostConstruct;
21-
import javax.ejb.EJB;
2219
import javax.ejb.LocalBean;
2320
import javax.ejb.Singleton;
2421

2522
import org.slf4j.Logger;
2623
import org.slf4j.LoggerFactory;
2724
import org.slf4j.helpers.NOPLogger;
2825

29-
import ch.qos.logback.classic.LoggerContext;
30-
import ch.qos.logback.classic.joran.JoranConfigurator;
31-
import ch.qos.logback.core.joran.spi.JoranException;
32-
import de.symeda.sormas.backend.common.ConfigFacadeEjb;
33-
3426
/**
3527
* Provides a configurable log sink for the SORMAS audit trail.
3628
*/
3729
@Singleton
3830
@LocalBean
3931
public class LogSink {
4032

41-
@EJB
42-
ConfigFacadeEjb.ConfigFacadeEjbLocal configFacade;
33+
// @EJB
34+
// ConfigFacadeEjb.ConfigFacadeEjbLocal configFacade;
4335

4436
private static final Logger logger = LoggerFactory.getLogger(LogSink.class);
4537

@@ -55,26 +47,27 @@ private void setupNopLogger() {
5547

5648
@PostConstruct
5749
private void setup() {
58-
String fileName = configFacade.getAuditLoggerConfig();
59-
60-
if (fileName == null || fileName.equals("")) {
61-
setupNopLogger();
62-
return;
63-
}
64-
65-
File file = new File(fileName);
66-
JoranConfigurator configurator = new JoranConfigurator();
67-
LoggerContext context = new LoggerContext();
68-
configurator.setContext(context);
69-
70-
try {
71-
configurator.doConfigure(file);
72-
} catch (JoranException e) {
73-
logger.error("Could not setup audit logger: ", e);
74-
setupNopLogger();
75-
return;
76-
}
77-
auditLogger = context.getLogger("Audit");
50+
setupNopLogger();
51+
// String fileName = configFacade.getAuditLoggerConfig();
52+
//
53+
// if (fileName == null || fileName.equals("")) {
54+
// setupNopLogger();
55+
// return;
56+
// }
57+
//
58+
// File file = new File(fileName);
59+
// JoranConfigurator configurator = new JoranConfigurator();
60+
// LoggerContext context = new LoggerContext();
61+
// configurator.setContext(context);
62+
//
63+
// try {
64+
// configurator.doConfigure(file);
65+
// } catch (JoranException e) {
66+
// logger.error("Could not setup audit logger: ", e);
67+
// setupNopLogger();
68+
// return;
69+
// }
70+
// auditLogger = context.getLogger("Audit");
7871
}
7972

8073
public Logger getAuditLogger() {

sormas-backend/src/main/java/de/symeda/sormas/backend/common/ConfigFacadeEjb.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.stream.Collectors;
2323

2424
import javax.ejb.DependsOn;
25-
import javax.ejb.EJB;
2625
import javax.ejb.LocalBean;
2726
import javax.ejb.Stateless;
2827

@@ -39,6 +38,7 @@
3938
import de.symeda.sormas.api.systemconfiguration.Config;
4039
import de.symeda.sormas.api.systemconfiguration.SystemConfigurationValueFacade;
4140
import de.symeda.sormas.backend.systemconfiguration.SystemConfigurationValueEjb;
41+
import de.symeda.sormas.backend.util.BackendFacadeProvider;
4242

4343
@AuditIgnore
4444
@Stateless(name = "ConfigFacade")
@@ -48,7 +48,6 @@ public class ConfigFacadeEjb implements ConfigFacade {
4848
public static final String COUNTRY_SEPARATION_CHAR = "-";
4949
private final Logger logger = LoggerFactory.getLogger(getClass());
5050

51-
@EJB
5251
private SystemConfigurationValueFacade systemConfigurationValueEjb;
5352

5453
@Override
@@ -62,7 +61,7 @@ public Optional<Integer> getAsInteger(Config config) {
6261
}
6362

6463
private <T> Optional<T> getTypedValueFor(Config config, Function<String, T> parsingFct) {
65-
return Optional.ofNullable(systemConfigurationValueEjb.getValue(config)).map(value -> {
64+
return Optional.ofNullable(getSystemConfigurationValueEjb().getValue(config)).map(value -> {
6665
logger.debug("Value [{}] for config [{}]", value, config);
6766
T result = parsingFct.apply(value);
6867

@@ -72,6 +71,14 @@ private <T> Optional<T> getTypedValueFor(Config config, Function<String, T> pars
7271
});
7372
}
7473

74+
private SystemConfigurationValueFacade getSystemConfigurationValueEjb() {
75+
if (systemConfigurationValueEjb == null) {
76+
systemConfigurationValueEjb = BackendFacadeProvider.getSystemConfigurationValueFacade();
77+
}
78+
79+
return systemConfigurationValueEjb;
80+
}
81+
7582
@Override
7683
public Optional<Double> getAsDouble(Config config) {
7784
return getTypedValueFor(config, Double::parseDouble);

sormas-backend/src/main/java/de/symeda/sormas/backend/util/BackendFacadeProvider.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.slf4j.Logger;
88
import org.slf4j.LoggerFactory;
99

10+
import de.symeda.sormas.api.systemconfiguration.SystemConfigurationValueFacade;
1011
import de.symeda.sormas.backend.audit.AuditLoggerEjb;
1112
import de.symeda.sormas.backend.common.ConfigFacadeEjb;
1213
import de.symeda.sormas.backend.user.CurrentUserService;
@@ -69,6 +70,15 @@ public static CurrentUserService getCurrentUserService() {
6970
}
7071
}
7172

73+
public static SystemConfigurationValueFacade getSystemConfigurationValueFacade() {
74+
try {
75+
// Use java:module for LOCAL lookup within same EJB module
76+
return (SystemConfigurationValueFacade) getInstance().ic.lookup("java:module/SystemConfigurationValueFacade");
77+
} catch (NamingException e) {
78+
throw new RuntimeException("Failed to lookup AuditLoggerEjb: " + e.getMessage(), e);
79+
}
80+
}
81+
7282
public static SessionContext getSessionContextSafely() {
7383
try {
7484
// Use java:module for LOCAL lookup within same EJB module

0 commit comments

Comments
 (0)