package com.l7tech.server.policy.assertion;

import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.AuditAssertion;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.server.message.PolicyEnforcementContext;
import java.io.IOException;
import java.util.logging.Level;

public class ServerAuditAssertion extends AbstractServerAssertion implements ServerAssertion {
   private AuditAssertion d;
   private Level e;

   public ServerAuditAssertion(AuditAssertion var1) {
      super(var1);
      this.d = var1;
      this.e = Level.parse(var1.getLevel());
   }

   @Override
   public AssertionStatus checkRequest(PolicyEnforcementContext var1) throws IOException, PolicyAssertionException {
      try {
         var1.setAuditLevel(this.e);
         if (this.d.isChangeSaveRequest()) {
            var1.setAuditSaveRequest(this.d.isSaveRequest());
         }
      } catch (IOException var2) {
         throw a(var2);
      }

      try {
         if (this.d.isChangeSaveResponse()) {
            var1.setAuditSaveResponse(this.d.isSaveResponse());
         }
      } catch (IOException var3) {
         throw a(var3);
      }

      return AssertionStatus.NONE;
   }

   private static IOException a(IOException var0) {
      return var0;
   }
}
