/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.audit.AuditRecord
 *  com.l7tech.gateway.common.audit.MessageSummaryAuditRecord
 *  com.l7tech.message.Message
 *  com.l7tech.policy.variable.NoSuchVariableException
 */
package com.l7tech.server.audit;

import com.l7tech.gateway.common.audit.AuditRecord;
import com.l7tech.gateway.common.audit.MessageSummaryAuditRecord;
import com.l7tech.message.Message;
import com.l7tech.policy.variable.NoSuchVariableException;
import com.l7tech.server.message.HasOriginalContext;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.message.PolicyEnforcementContextWrapper;

public class AuditSinkPolicyEnforcementContext
extends PolicyEnforcementContextWrapper
implements HasOriginalContext {
    private final AuditRecord b;
    private final PolicyEnforcementContext c;

    public AuditSinkPolicyEnforcementContext(AuditRecord auditRecord, PolicyEnforcementContext policyEnforcementContext, PolicyEnforcementContext policyEnforcementContext2) {
        super(policyEnforcementContext);
        this.b = auditRecord;
        this.c = policyEnforcementContext2;
    }

    public AuditRecord getAuditRecord() {
        return this.b;
    }

    @Override
    public Message getOriginalRequest() {
        return this.c == null ? null : this.c.getRequest();
    }

    @Override
    public Message getOriginalResponse() {
        return this.c == null ? null : this.c.getResponse();
    }

    @Override
    public Object getOriginalContextVariable(String string) throws NoSuchVariableException {
        Object object;
        try {
            object = this.c == null ? null : this.c.getVariable(string);
        }
        catch (NoSuchVariableException noSuchVariableException) {
            throw AuditSinkPolicyEnforcementContext.a(noSuchVariableException);
        }
        return object;
    }

    public String getAuditedRequest() {
        if (this.b instanceof MessageSummaryAuditRecord) {
            MessageSummaryAuditRecord messageSummaryAuditRecord = (MessageSummaryAuditRecord)this.b;
            return messageSummaryAuditRecord.getRequestXml();
        }
        return null;
    }

    public String getAuditedResponse() {
        if (this.b instanceof MessageSummaryAuditRecord) {
            MessageSummaryAuditRecord messageSummaryAuditRecord = (MessageSummaryAuditRecord)this.b;
            return messageSummaryAuditRecord.getResponseXml();
        }
        return null;
    }

    @Override
    public PolicyEnforcementContext getOriginalContext() {
        return this.c;
    }

    private static NoSuchVariableException a(NoSuchVariableException noSuchVariableException) {
        return noSuchVariableException;
    }
}

