/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.audit.Audit
 *  com.l7tech.gateway.common.audit.AuditDetailMessage
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.uddi.UDDIException
 *  com.l7tech.uddi.UDDINetworkException
 *  com.l7tech.util.Config
 *  org.springframework.orm.hibernate5.HibernateCallback
 *  org.springframework.orm.hibernate5.HibernateTemplate
 */
package com.l7tech.server.uddi;

import com.l7tech.gateway.common.audit.Audit;
import com.l7tech.gateway.common.audit.AuditDetailMessage;
import com.l7tech.objectmodel.Goid;
import com.l7tech.server.uddi.UDDICoordinator;
import com.l7tech.server.uddi.UDDITaskFactory;
import com.l7tech.server.uddi.l;
import com.l7tech.server.uddi.o;
import com.l7tech.uddi.UDDIException;
import com.l7tech.uddi.UDDINetworkException;
import com.l7tech.util.Config;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateTemplate;

final class k
implements UDDITaskFactory.UDDITaskContext {
    private final UDDICoordinator a;
    private final Config b;
    private static final String c;
    private static final String[] d;

    k(UDDICoordinator uDDICoordinator, Config config) {
        this.a = uDDICoordinator;
        this.b = config;
    }

    @Override
    public String getSubscriptionNotificationURL(Goid goid) {
        return this.a.b(goid);
    }

    @Override
    public String getSubscriptionBindingKey(Goid goid) {
        return this.a.c(goid);
    }

    @Override
    public void notifyEvent(o o2) {
        this.a.notifyEvent(o2);
    }

    @Override
    public void logAndAudit(AuditDetailMessage auditDetailMessage, Throwable throwable, String ... stringArray) {
        Audit audit = this.a.t;
        if (audit != null) {
            Throwable throwable2 = throwable;
            if (throwable2 instanceof UDDINetworkException) {
                throwable2 = null;
            } else if (throwable2 instanceof UDDIException && throwable2.getCause() == null) {
                throwable2 = null;
            }
            audit.logAndAudit(auditDetailMessage, stringArray, throwable2);
        }
    }

    @Override
    public void logAndAudit(AuditDetailMessage auditDetailMessage, String ... stringArray) {
        Audit audit = this.a.t;
        if (audit != null) {
            audit.logAndAudit(auditDetailMessage, stringArray);
        }
    }

    @Override
    public void logAndAudit(AuditDetailMessage auditDetailMessage) {
        Audit audit = this.a.t;
        if (audit != null) {
            audit.logAndAudit(auditDetailMessage);
        }
    }

    @Override
    public int getMaxRetryAttempts() {
        return this.b.getIntProperty(d[0], 3) - 1;
    }

    @Override
    public void flushSession() {
        new HibernateTemplate(this.a.q).execute((HibernateCallback)new l(this));
    }

    /*
     * Enabled aggressive block sorting
     */
    static {
        String[] stringArray = new String[2];
        int n2 = 0;
        String string = "\u0007&Fm@\u0005T\u0016.Rq\f\u001eN\u0001*\fi\u000f\nU\u00176Pm\u000b\u0001\u001b\u0007&Fm@\u0005T\u0016.Rq\f\u001eN\u0001*\fi\u000f\nU\u00176Pm\u000b\u0001";
        int n3 = "\u0007&Fm@\u0005T\u0016.Rq\f\u001eN\u0001*\fi\u000f\nU\u00176Pm\u000b\u0001\u001b\u0007&Fm@\u0005T\u0016.Rq\f\u001eN\u0001*\fi\u000f\nU\u00176Pm\u000b\u0001".length();
        int n4 = 27;
        int n5 = -1;
        while (true) {
            int n6 = ++n5;
            stringArray[n2++] = k.a(33, k.a(string.substring(n6, n6 + n4)));
            if ((n5 += n4) >= n3) {
                d = stringArray;
                c = d[1];
                return;
            }
            n4 = string.charAt(n5);
        }
    }

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

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String a(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 -> 83;
                    case 1 -> 99;
                    case 2 -> 3;
                    case 3 -> 37;
                    case 4 -> 79;
                    case 5 -> 83;
                    default -> 6;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

