package com.l7tech.server.policy.assertion.xmlsec;

import com.l7tech.message.Message;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.xmlsec.AddWssTimestamp;
import com.l7tech.security.xml.decorator.DecorationRequirements;
import com.l7tech.server.message.AuthenticationContext;
import com.l7tech.server.message.PolicyEnforcementContext;
import org.springframework.context.ApplicationContext;
import org.w3c.dom.Document;

public class ServerAddWssTimestamp extends ServerAddWssSignature<AddWssTimestamp> {
   public ServerAddWssTimestamp(AddWssTimestamp var1, ApplicationContext var2) {
      super(var1, var2, false);
   }

   @Override
   protected int addDecorationRequirements(
      PolicyEnforcementContext param1, AuthenticationContext param2, Document param3, DecorationRequirements param4, Message param5
   ) throws PolicyAssertionException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: bipush 0
      // 01: istore 6
      // 03: aload 0
      // 04: getfield com/l7tech/server/policy/assertion/xmlsec/ServerAddWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 07: checkcast com/l7tech/policy/assertion/xmlsec/AddWssTimestamp
      // 0a: invokevirtual com/l7tech/policy/assertion/xmlsec/AddWssTimestamp.isSignatureRequired ()Z
      // 0d: ifeq 1c
      // 10: aload 4
      // 12: bipush 1
      // 13: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setSignTimestamp (Z)V
      // 16: bipush 1
      // 17: istore 6
      // 19: goto 22
      // 1c: aload 4
      // 1e: bipush 1
      // 1f: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setIncludeTimestamp (Z)V
      // 22: aload 0
      // 23: getfield com/l7tech/server/policy/assertion/xmlsec/ServerAddWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 26: checkcast com/l7tech/policy/assertion/xmlsec/AddWssTimestamp
      // 29: invokevirtual com/l7tech/policy/assertion/xmlsec/AddWssTimestamp.getResolution ()Lcom/l7tech/policy/assertion/xmlsec/AddWssTimestamp$Resolution;
      // 2c: ifnull 82
      // 2f: getstatic com/l7tech/server/policy/assertion/xmlsec/r.a [I
      // 32: aload 0
      // 33: getfield com/l7tech/server/policy/assertion/xmlsec/ServerAddWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 36: checkcast com/l7tech/policy/assertion/xmlsec/AddWssTimestamp
      // 39: invokevirtual com/l7tech/policy/assertion/xmlsec/AddWssTimestamp.getResolution ()Lcom/l7tech/policy/assertion/xmlsec/AddWssTimestamp$Resolution;
      // 3c: invokevirtual com/l7tech/policy/assertion/xmlsec/AddWssTimestamp$Resolution.ordinal ()I
      // 3f: iaload
      // 40: tableswitch 66 1 3 32 47 58
      // 5c: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerAddWssTimestamp.a (Lcom/l7tech/policy/assertion/PolicyAssertionException;)Lcom/l7tech/policy/assertion/PolicyAssertionException;
      // 5f: athrow
      // 60: aload 4
      // 62: getstatic com/l7tech/security/xml/decorator/DecorationRequirements$TimestampResolution.MILLISECONDS Lcom/l7tech/security/xml/decorator/DecorationRequirements$TimestampResolution;
      // 65: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setTimestampResolution (Lcom/l7tech/security/xml/decorator/DecorationRequirements$TimestampResolution;)V
      // 68: goto 82
      // 6b: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerAddWssTimestamp.a (Lcom/l7tech/policy/assertion/PolicyAssertionException;)Lcom/l7tech/policy/assertion/PolicyAssertionException;
      // 6e: athrow
      // 6f: aload 4
      // 71: getstatic com/l7tech/security/xml/decorator/DecorationRequirements$TimestampResolution.NANOSECONDS Lcom/l7tech/security/xml/decorator/DecorationRequirements$TimestampResolution;
      // 74: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setTimestampResolution (Lcom/l7tech/security/xml/decorator/DecorationRequirements$TimestampResolution;)V
      // 77: goto 82
      // 7a: aload 4
      // 7c: getstatic com/l7tech/security/xml/decorator/DecorationRequirements$TimestampResolution.SECONDS Lcom/l7tech/security/xml/decorator/DecorationRequirements$TimestampResolution;
      // 7f: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setTimestampResolution (Lcom/l7tech/security/xml/decorator/DecorationRequirements$TimestampResolution;)V
      // 82: aload 4
      // 84: aload 0
      // 85: getfield com/l7tech/server/policy/assertion/xmlsec/ServerAddWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 88: checkcast com/l7tech/policy/assertion/xmlsec/AddWssTimestamp
      // 8b: invokevirtual com/l7tech/policy/assertion/xmlsec/AddWssTimestamp.getExpiryMilliseconds ()J
      // 8e: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setTimestampTimeoutMillis (J)V
      // 91: iload 6
      // 93: ireturn
      // try (16 -> 29): 29 com/l7tech/policy/assertion/PolicyAssertionException
      // try (21 -> 35): 35 com/l7tech/policy/assertion/PolicyAssertionException
   }

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