/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.service.PublishedService
 *  com.l7tech.gateway.common.service.ServiceDocument
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.util.Config
 *  com.l7tech.wsdl.ResourceTrackingWSDLLocator$WSDLResource
 *  org.springframework.beans.factory.InitializingBean
 *  org.springframework.transaction.PlatformTransactionManager
 *  org.springframework.transaction.support.TransactionCallback
 *  org.springframework.transaction.support.TransactionTemplate
 */
package com.l7tech.server.service;

import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.gateway.common.service.ServiceDocument;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.server.service.ServiceDocumentManager;
import com.l7tech.server.service.ServiceManager;
import com.l7tech.server.service.ax;
import com.l7tech.util.Config;
import com.l7tech.wsdl.ResourceTrackingWSDLLocator;
import java.util.Collection;
import java.util.Collections;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionTemplate;

public class ServiceWsdlImportChecker
implements InitializingBean {
    private static final Logger a;
    private final Config b;
    private final PlatformTransactionManager c;
    private final ServiceManager d;
    private final ServiceDocumentManager e;
    private static final String[] f;

    public ServiceWsdlImportChecker(Config config, PlatformTransactionManager platformTransactionManager, ServiceManager serviceManager, ServiceDocumentManager serviceDocumentManager) {
        this.b = config;
        this.c = platformTransactionManager;
        this.d = serviceManager;
        this.e = serviceDocumentManager;
    }

    public void afterPropertiesSet() throws Exception {
        this.checkServiceWsdlImports();
    }

    public void checkServiceWsdlImports() {
        String[] stringArray = f;
        if (Boolean.valueOf(this.b.getProperty(stringArray[0])).booleanValue()) {
            a.info(stringArray[4]);
            Collection collection = Collections.EMPTY_LIST;
            try {
                collection = this.d.findAll();
            }
            catch (FindException findException) {
                a.log(Level.WARNING, f[1], findException);
            }
            for (PublishedService publishedService : collection) {
                if (publishedService.isDisabled()) continue;
                try {
                    if (!publishedService.isSoap()) {
                        continue;
                    }
                }
                catch (FindException findException) {
                    throw ServiceWsdlImportChecker.a(findException);
                }
                this.a(publishedService);
            }
        }
    }

    private ServiceDocument a(Goid goid, ResourceTrackingWSDLLocator.WSDLResource wSDLResource) {
        ServiceDocument serviceDocument = new ServiceDocument();
        serviceDocument.setServiceId(goid);
        serviceDocument.setUri(wSDLResource.getUri());
        String[] stringArray = f;
        serviceDocument.setContentType(stringArray[3]);
        serviceDocument.setType(stringArray[2]);
        serviceDocument.setContents(wSDLResource.getWsdl());
        return serviceDocument;
    }

    private void a(PublishedService publishedService) {
        new TransactionTemplate(this.c).execute((TransactionCallback)new ax(this, publishedService));
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[5];
                var3_1 = 0;
                var2_2 = "\u000f*h\u0012qw|\u0017+x8Qby\b\u001cb\u001fZvi\u001c4-7m\u001cT\u007f,\f6,\u0012W{hX*i\fNso\u001d* ^Kqe\b)e\u0010_:[+\u001d@^Qw|\u0017+x^[ri\u001b2\"\u000b/\nH2\u0015SA(\u0016^*";
                var4_3 = "\u000f*h\u0012qw|\u0017+x8Qby\b\u001cb\u001fZvi\u001c4-7m\u001cT\u007f,\f6,\u0012W{hX*i\fNso\u001d* ^Kqe\b)e\u0010_:[+\u001d@^Qw|\u0017+x^[ri\u001b2\"\u000b/\nH2\u0015SA(\u0016^*".length();
                var1_4 = 22;
                var0_5 = -1;
lbl7:
                // 2 sources

                while (true) {
                    v0 = 48;
                    v1 = ++var0_5;
                    v2 = var2_2.substring(v1, v1 + var1_4);
                    v3 = -1;
                    break block9;
                    break;
                }
lbl13:
                // 1 sources

                while (true) {
                    var5[var3_1++] = ServiceWsdlImportChecker.a(v0, ServiceWsdlImportChecker.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "=\rE;&SP%(\n\u0000X,bBS.Hj\u001cMg\u001d \u0005M {_Ni\u000eR=)xr\b8\u001d<lYK \u000bX<'";
                    var4_3 = "=\rE;&SP%(\n\u0000X,bBS.Hj\u001cMg\u001d \u0005M {_Ni\u000eR=)xr\b8\u001d<lYK \u000bX<'".length();
                    var1_4 = 8;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 1;
                        v4 = ++var0_5;
                        v2 = var2_2.substring(v4, v4 + var1_4);
                        v3 = 0;
                        break block9;
                        break;
                    }
                    break;
                }
lbl28:
                // 1 sources

                while (true) {
                    var5[var3_1++] = ServiceWsdlImportChecker.a(v0, ServiceWsdlImportChecker.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    break block10;
                    break;
                }
            }
            switch (v3) {
                default: {
                    ** continue;
                }
                ** case 0:
lbl39:
                // 1 sources

                ** continue;
            }
        }
        ServiceWsdlImportChecker.f = var5;
        ServiceWsdlImportChecker.a = Logger.getLogger(ServiceWsdlImportChecker.class.getName());
    }

    private static FindException a(FindException findException) {
        return findException;
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x3C);
        }
        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 -> 72;
                    case 1 -> 105;
                    case 2 -> 60;
                    case 3 -> 78;
                    case 4 -> 8;
                    case 5 -> 42;
                    default -> 60;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

