/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.util.Config
 *  com.l7tech.util.Resolver
 *  com.l7tech.util.ThreadPool
 *  com.l7tech.util.ThreadPool$ThreadPoolShutDownException
 *  com.l7tech.util.ValidatedConfig
 */
package com.l7tech.server.util;

import com.l7tech.server.util.r;
import com.l7tech.util.Config;
import com.l7tech.util.Resolver;
import com.l7tech.util.ThreadPool;
import com.l7tech.util.ValidatedConfig;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.logging.Level;
import java.util.logging.Logger;

public class ThreadPoolBean
implements PropertyChangeListener {
    private final Config a;
    private final ThreadPool b;
    private final String c;
    private final String d;
    private final String e;
    private final int f;
    private String g;
    private String h;
    private int i;
    private static final int j = 5;
    private static Logger k;
    private static final String[] l;

    public ThreadPoolBean(Config config, String string, String string2, String string3, int n2, String string4, String string5, int n3) {
        this(config, string, string2, string3, n2, string4, string5, n3, null);
    }

    public ThreadPoolBean(Config config, String string, String string2, String string3, int n2, String string4, String string5, int n3, RejectedExecutionHandler rejectedExecutionHandler) {
        this.c = string;
        this.d = string2;
        this.e = string3;
        this.f = n2;
        this.a = this.a(config);
        this.g = string4;
        this.h = string5;
        this.i = n3;
        this.b = new ThreadPool(string, this.b(), this.a(), rejectedExecutionHandler);
    }

    public ThreadPoolBean(Config config, String string, String string2, String string3, int n2) {
        this(config, string, string2, string3, n2, null);
    }

    public ThreadPoolBean(Config config, String string, String string2, String string3, int n2, RejectedExecutionHandler rejectedExecutionHandler) {
        this.c = string;
        this.d = string2;
        this.e = string3;
        this.f = n2;
        this.a = this.a(config);
        this.b = new ThreadPool(string, 5, this.a(), rejectedExecutionHandler);
    }

    public void start() {
        this.b.start();
    }

    public void shutdown() {
        this.b.shutdown();
    }

    public boolean isShutdown() {
        return this.b.isShutdown();
    }

    public int getActiveCount() {
        return this.b.getActiveCount();
    }

    public void submitTask(Runnable runnable) throws ThreadPool.ThreadPoolShutDownException {
        this.b.submitTask(runnable);
    }

    public <T> Future<T> submitTask(Callable<T> callable) throws ThreadPool.ThreadPoolShutDownException {
        return this.b.submitTask(callable);
    }

    @Override
    public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
        int n2;
        if (this.d.equals(propertyChangeEvent.getPropertyName())) {
            n2 = this.a();
            this.b.setMaxPoolSize(n2);
            String[] stringArray = l;
            k.log(Level.CONFIG, stringArray[0] + this.c + stringArray[2], n2);
        }
        if (this.g.equals(propertyChangeEvent.getPropertyName())) {
            n2 = this.b();
            this.b.setCorePoolSize(n2);
            k.log(Level.CONFIG, l[1], new Object[]{this.c, n2});
        }
    }

    private Config a(Config config) {
        ValidatedConfig validatedConfig = new ValidatedConfig(config, k, (Resolver)new r(this));
        validatedConfig.setMinimumValue(this.d, (Number)5);
        return validatedConfig;
    }

    private int a() {
        return this.a.getIntProperty(this.d, this.f);
    }

    private int b() {
        return this.a.getIntProperty(this.g, this.i);
    }

    /*
     * Enabled aggressive block sorting
     */
    static {
        String[] stringArray = new String[3];
        int n2 = 0;
        String string = "Ib4m/Y\u0011<!ib4m/Y\u0011<i`q{_\u001anwp|4S\u0019<a9v>\u001c\u0001s2+=&\r<a9v>\u001c\u0001s2+<&\u0012";
        int n3 = "Ib4m/Y\u0011<!ib4m/Y\u0011<i`q{_\u001anwp|4S\u0019<a9v>\u001c\u0001s2+=&\r<a9v>\u001c\u0001s2+<&\u0012".length();
        int n4 = 8;
        int n5 = -1;
        while (true) {
            int n6 = ++n5;
            stringArray[n2++] = ThreadPoolBean.a(113, ThreadPoolBean.a(string.substring(n6, n6 + n4)));
            if ((n5 += n4) >= n3) {
                l = stringArray;
                k = Logger.getLogger(ThreadPoolBean.class.getName());
                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] ^ 4);
        }
        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 -> 109;
                    case 1 -> 99;
                    case 2 -> 33;
                    case 3 -> 125;
                    case 4 -> 42;
                    case 5 -> 77;
                    default -> 4;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

