
org.bdware.doip.audit.writer.ConfigurableAuditConfig Maven / Gradle / Ivy
package org.bdware.doip.audit.writer;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import org.apache.logging.log4j.core.appender.rolling.action.IfAll;
import org.bdware.doip.audit.OriginalAuditDB;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class ConfigurableAuditConfig extends AuditConfig {
private AuditConfig auditConfig;
ConfigurableLogWriter writer;
public ConfigurableAuditConfig(AuditConfig config) {
super(config.auditRepo);
this.auditConfig = config;
writer = new ConfigurableLogWriter();
}
public void changeAuditConfig(AuditConfig config) {
if (auditConfig instanceof OriginalAuditConfig){
((OriginalAuditConfig) auditConfig).clearPruner();
}
auditConfig = config;
writer.setWriter(config.createLogWriterInstance());
}
@Override
public LogWriter createLogWriterInstance() {
writer.setWriter(auditConfig.createLogWriterInstance());
return writer;
}
@Override
public AuditType getAuditType() {
return auditConfig.getAuditType();
}
public String toString() {
assert !(auditConfig instanceof ConfigurableAuditConfig);
return new Gson().toJson(auditConfig);
}
public List getOriginalLogByHash(String requestHash, String responseHash) {
if (auditConfig instanceof OriginalAuditConfig) {
OriginalAuditConfig oac = (OriginalAuditConfig) auditConfig;
return oac.getOriginalLogByHash(requestHash, responseHash);
}
return null;
}
public boolean isExist(String requestHash, String responseHash) {
if (auditConfig instanceof OriginalAuditConfig) {
OriginalAuditConfig oac = (OriginalAuditConfig) auditConfig;
return oac.isExist(requestHash, responseHash);
}
return false;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy