All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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