/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.policy.assertion.Assertion
 *  com.l7tech.security.token.SecurityToken
 *  com.l7tech.security.token.UsernameToken
 *  com.l7tech.xml.saml.SamlAssertion
 */
package com.l7tech.server.policy.assertion.credential;

import com.l7tech.policy.assertion.Assertion;
import com.l7tech.security.token.SecurityToken;
import com.l7tech.security.token.UsernameToken;
import com.l7tech.server.message.PolicyContextCache;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.assertion.AbstractServerAssertion;
import com.l7tech.server.policy.assertion.ServerAssertion;
import com.l7tech.server.policy.assertion.credential.a;
import com.l7tech.xml.saml.SamlAssertion;
import java.util.logging.Level;
import java.util.logging.Logger;

public abstract class AbstractServerCachedSecurityTokenAssertion<AT extends Assertion>
extends AbstractServerAssertion<AT>
implements ServerAssertion<AT> {
    private static final long d = 30000L;
    private static final long e = 300000L;
    private final String f;
    private static final String m = AbstractServerCachedSecurityTokenAssertion.b(95, AbstractServerCachedSecurityTokenAssertion.a("4=\f\u001a| ?\u0015e/\u001a|!(\u00181\u0005+p??\u001fe\u0015\u0011?7;\u0012-\u0019"));

    protected AbstractServerCachedSecurityTokenAssertion(AT AT, String string) {
        super(AT);
        this.f = string;
    }

    protected SecurityToken getCachedSecurityToken(PolicyContextCache policyContextCache) {
        SecurityToken securityToken = null;
        if (policyContextCache != null) {
            try {
                SecurityToken securityToken2 = (SecurityToken)policyContextCache.get(this.f);
                if (securityToken2 != null) {
                    securityToken = securityToken2;
                }
            }
            catch (ClassCastException classCastException) {
                this.logger.log(Level.SEVERE, m, classCastException);
            }
        }
        return securityToken;
    }

    protected void setCachedSecurityToken(PolicyContextCache policyContextCache, SecurityToken securityToken, long l2) {
        try {
            if (policyContextCache != null) {
                policyContextCache.put(this.f, securityToken, new PolicyContextCache.Info(l2));
            }
        }
        catch (ClassCastException classCastException) {
            throw AbstractServerCachedSecurityTokenAssertion.a(classCastException);
        }
    }

    protected long getSamlAssertionExpiry(SamlAssertion samlAssertion) {
        long l2 = samlAssertion.getExpires() != null ? samlAssertion.getExpires().getTimeInMillis() - 30000L : System.currentTimeMillis() + 300000L;
        return l2;
    }

    protected long getUsernameTokenExpiry(UsernameToken usernameToken) {
        return this.getDefaultExpiry();
    }

    protected long getDefaultExpiry() {
        return System.currentTimeMillis() + 300000L;
    }

    protected void addCacheInvalidator(PolicyEnforcementContext policyEnforcementContext) {
        policyEnforcementContext.addRoutingResultListener(new a(this, policyEnforcementContext));
    }

    static /* synthetic */ Logger access$000(AbstractServerCachedSecurityTokenAssertion abstractServerCachedSecurityTokenAssertion) {
        return abstractServerCachedSecurityTokenAssertion.logger;
    }

    static /* synthetic */ Logger access$100(AbstractServerCachedSecurityTokenAssertion abstractServerCachedSecurityTokenAssertion) {
        return abstractServerCachedSecurityTokenAssertion.logger;
    }

    static /* synthetic */ Logger access$200(AbstractServerCachedSecurityTokenAssertion abstractServerCachedSecurityTokenAssertion) {
        return abstractServerCachedSecurityTokenAssertion.logger;
    }

    static /* synthetic */ Logger access$300(AbstractServerCachedSecurityTokenAssertion abstractServerCachedSecurityTokenAssertion) {
        return abstractServerCachedSecurityTokenAssertion.logger;
    }

    private static ClassCastException a(ClassCastException classCastException) {
        return classCastException;
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 5);
        }
        return cArray;
    }

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String b(int n2, char[] cArray) {
        char[] cArray2;
        block11: {
            int n3;
            int n4;
            int n5;
            block10: {
                n5 = n2;
                cArray2 = cArray;
                n4 = cArray.length;
                n3 = 0;
                if (!true) break block10;
                n4 = n4;
                if (n4 <= n3) break block11;
            }
            do {
                n5 = n5;
                cArray2 = cArray2;
                int n6 = n3;
                cArray2[n6] = (char)(cArray2[n6] ^ (n5 ^ (switch (n3 % 7) {
                    case 0 -> 46;
                    case 1 -> 26;
                    case 2 -> 35;
                    case 3 -> 32;
                    case 4 -> 64;
                    case 5 -> 11;
                    default -> 5;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

