/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.audit.AuditDetailMessage
 *  com.l7tech.gateway.common.audit.SystemMessages
 *  com.l7tech.gateway.common.uddi.UDDIProxiedServiceInfo
 *  com.l7tech.gateway.common.uddi.UDDIProxiedServiceInfo$PublishType
 *  com.l7tech.gateway.common.uddi.UDDIPublishStatus$PublishStatus
 *  com.l7tech.gateway.common.uddi.UDDIRegistry
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.objectmodel.ObjectModelException
 *  com.l7tech.objectmodel.PersistentEntity
 *  com.l7tech.uddi.BusinessServicePublisher
 *  com.l7tech.uddi.UDDIException
 *  com.l7tech.util.ExceptionUtils
 *  com.l7tech.util.ResourceUtils
 *  javax.wsdl.WSDLException
 */
package com.l7tech.server.uddi;

import com.l7tech.gateway.common.audit.AuditDetailMessage;
import com.l7tech.gateway.common.audit.SystemMessages;
import com.l7tech.gateway.common.uddi.UDDIProxiedServiceInfo;
import com.l7tech.gateway.common.uddi.UDDIPublishStatus;
import com.l7tech.gateway.common.uddi.UDDIRegistry;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.objectmodel.PersistentEntity;
import com.l7tech.server.uddi.PublishingUDDITaskFactory;
import com.l7tech.server.uddi.UDDITaskFactory;
import com.l7tech.uddi.BusinessServicePublisher;
import com.l7tech.uddi.UDDIException;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.ResourceUtils;
import java.io.Closeable;
import java.util.Collection;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.wsdl.WSDLException;

final class ab
extends UDDITaskFactory.UDDITask {
    private static final Logger a;
    private final PublishingUDDITaskFactory b;
    private final Goid c;
    private static final String[] d;

    private ab(PublishingUDDITaskFactory publishingUDDITaskFactory, Goid goid) {
        this.b = publishingUDDITaskFactory;
        this.c = goid;
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     * Unable to fully structure code
     */
    @Override
    public void apply(UDDITaskFactory.UDDITaskContext var1_1) throws UDDITaskFactory.UDDITaskException {
        block44: {
            var2_2 = null;
            try {
                block46: {
                    block51: {
                        block45: {
                            block49: {
                                block43: {
                                    block42: {
                                        var3_3 = (UDDIProxiedServiceInfo)this.b.b.findByPrimaryKey(this.c);
                                        if (var3_3 == null) {
                                            return;
                                        }
                                        var2_2 = this.b.c.findByProxiedSerivceInfoGoid(var3_3.getGoid());
                                        if (var2_2 == null) {
                                            return;
                                        }
                                        try {
                                            if (var2_2.getPublishStatus() == UDDIPublishStatus.PublishStatus.PUBLISH || var2_2.getPublishStatus() == UDDIPublishStatus.PublishStatus.PUBLISH_FAILED) break block42;
                                        }
                                        catch (WSDLException v0) {
                                            throw ab.a(v0);
                                        }
                                        var17_6 = ab.d;
                                        ab.a.log(Level.FINER, var17_6[14]);
                                        return;
                                    }
                                    try {
                                        if (var3_3.getPublishType() != UDDIProxiedServiceInfo.PublishType.ENDPOINT) {
                                            throw new IllegalStateException(ab.d[4]);
                                        }
                                    }
                                    catch (WSDLException v1) {
                                        throw ab.a(v1);
                                    }
                                    var4_9 = (UDDIRegistry)this.b.a.findByPrimaryKey(var3_3.getUddiRegistryGoid());
                                    try {
                                        if (var4_9 == null) {
                                            throw new IllegalStateException(ab.d[10] + String.valueOf(var3_3.getUddiRegistryGoid()) + ab.d[1]);
                                        }
                                    }
                                    catch (WSDLException v2) {
                                        throw ab.a(v2);
                                    }
                                    if (!var4_9.isEnabled()) {
                                        var17_7 = ab.d;
                                        ab.a.log(Level.WARNING, var17_7[5] + String.valueOf(var3_3.getUddiRegistryGoid()) + var17_7[8]);
                                        return;
                                    }
                                    var5_10 = this.b.d.getCachedService(var3_3.getPublishedServiceGoid());
                                    var6_11 = this.b.f.findByPublishedServiceGoid(var3_3.getPublishedServiceGoid());
                                    try {
                                        if (var6_11 == null) {
                                            throw new IllegalStateException(ab.d[9] + String.valueOf(var3_3.getPublishedServiceGoid()) + ")");
                                        }
                                    }
                                    catch (WSDLException v3) {
                                        throw ab.a(v3);
                                    }
                                    if (!var3_3.isRemoveOtherBindings()) break block43;
                                    try {
                                        block47: {
                                            if (!var6_11.isUnderUddiControl()) break block43;
                                            break block47;
                                            catch (WSDLException v4) {
                                                throw ab.a(v4);
                                            }
                                        }
                                        throw new IllegalStateException(ab.d[11]);
                                    }
                                    catch (WSDLException v5) {
                                        throw ab.a(v5);
                                    }
                                }
                                var17_8 = ab.d;
                                ab.a.log(Level.INFO, var17_8[3] + String.valueOf(var5_10.getGoid()) + var17_8[7] + String.valueOf(var4_9.getGoid()) + ")");
                                try {
                                    var7_12 = var5_10.parsedWsdl();
                                }
                                catch (WSDLException var8_13) {
                                    var17_8 = ab.d;
                                    ab.a.log(Level.WARNING, var17_8[6] + var5_10.getName() + var17_8[0] + String.valueOf(var5_10.getGoid()) + var17_8[13], ExceptionUtils.getDebugException((Throwable)var8_13));
                                    var2_2.setPublishStatus(UDDIPublishStatus.PublishStatus.DELETE);
                                    this.b.c.update((PersistentEntity)var2_2);
                                    return;
                                }
                                var8_14 = this.b.e.getAllExternalEndpointAndWsdlUrls(var5_10.getGoid());
                                var9_15 = (Set)var3_3.getProperty(UDDIProxiedServiceInfo.ALL_ENDPOINT_PAIRS_KEY);
                                var10_16 = (Set)var3_3.getProperty(UDDIProxiedServiceInfo.ALL_BINDING_TEMPLATE_KEYS);
                                var11_17 = (Set)var3_3.getProperty(UDDIProxiedServiceInfo.KEYED_REFERENCES_CONFIG);
                                var12_18 = (Set)var3_3.getProperty(UDDIProxiedServiceInfo.KEYED_REFERENCES_RUNTIME);
                                var14_19 = null;
                                try {
                                    var14_19 = new BusinessServicePublisher(var7_12, var5_10.getGoid().toHexString(), this.b.e.newUDDIClientConfig(var4_9));
                                    var13_20 = var14_19.publishBindingTemplate(var6_11.getUddiServiceKey(), var6_11.getWsdlPortName(), var6_11.getWsdlPortBinding(), var6_11.getWsdlPortBindingNamespace(), (Collection)var9_15, var8_14, var10_16, var3_3.isRemoveOtherBindings(), var11_17, var12_18);
                                }
                                catch (UDDIException var15_21) {
                                    try {
                                        PublishingUDDITaskFactory.a(var2_2.getGoid(), var1_1, this.b.c);
                                        var1_1.logAndAudit((AuditDetailMessage)SystemMessages.UDDI_PUBLISH_ENDPOINT_FAILED, var15_21, new String[]{ExceptionUtils.getMessage((Throwable)var15_21)});
                                    }
                                    catch (Throwable var16_22) {
                                        ResourceUtils.closeQuietly(var14_19);
                                        throw var16_22;
                                    }
                                    ResourceUtils.closeQuietly((Closeable)var14_19);
                                    return;
                                }
                                ResourceUtils.closeQuietly((Closeable)var14_19);
                                var2_2.setPublishStatus(UDDIPublishStatus.PublishStatus.PUBLISHED);
                                this.b.c.update((PersistentEntity)var2_2);
                                var3_3 = (UDDIProxiedServiceInfo)this.b.b.findByPrimaryKey(this.c);
                                if (var3_3 == null) break block44;
                                var3_3.setProperty(UDDIProxiedServiceInfo.ALL_ENDPOINT_PAIRS_KEY, var8_14);
                                if (var10_16 == null) ** GOTO lbl106
                                break block49;
                                catch (WSDLException v6) {
                                    throw ab.a(v6);
                                }
                            }
                            try {
                                block50: {
                                    if (var10_16.equals(var13_20)) break block45;
                                    break block50;
                                    catch (WSDLException v7) {
                                        throw ab.a(v7);
                                    }
                                }
                                var3_3.setProperty(UDDIProxiedServiceInfo.ALL_BINDING_TEMPLATE_KEYS, (Object)var13_20);
                            }
                            catch (WSDLException v8) {
                                throw ab.a(v8);
                            }
                        }
                        var3_3.setProperty(UDDIProxiedServiceInfo.KEYED_REFERENCES_RUNTIME, (Object)var11_17);
                        this.b.b.update((PersistentEntity)var3_3);
                        if (!var3_3.isRemoveOtherBindings()) break block44;
                        var6_11 = this.b.f.findByPublishedServiceGoid(var3_3.getPublishedServiceGoid());
                        if (var6_11 == null) break block44;
                        if (var6_11.isHasHadEndpointRemoved()) break block44;
                        break block51;
                        catch (WSDLException v9) {
                            throw ab.a(v9);
                        }
                    }
                    try {
                        block52: {
                            if (!var6_11.isUnderUddiControl()) break block46;
                            break block52;
                            catch (WSDLException v10) {
                                throw ab.a(v10);
                            }
                        }
                        var6_11.setUnderUddiControl(false);
                        ab.a.log(Level.WARNING, ab.d[12]);
                    }
                    catch (WSDLException v11) {
                        throw ab.a(v11);
                    }
                }
                var6_11.setHasHadEndpointRemoved(true);
                this.b.f.update((PersistentEntity)var6_11);
            }
            catch (ObjectModelException var3_4) {
                var1_1.logAndAudit((AuditDetailMessage)SystemMessages.UDDI_PUBLISH_ENDPOINT_FAILED, var3_4, new String[]{ab.d[2]});
                throw new UDDITaskFactory.UDDITaskException(ExceptionUtils.getMessage((Throwable)var3_4), var3_4);
            }
            catch (RuntimeException var3_5) {
                try {
                    var1_1.logAndAudit((AuditDetailMessage)SystemMessages.UDDI_PUBLISH_UNEXPECTED_ERROR, var3_5, new String[]{ExceptionUtils.getMessage((Throwable)var3_5)});
                    if (var2_2 != null) {
                        PublishingUDDITaskFactory.a(var1_1, var3_5, var2_2.getGoid(), this.b, true);
                    }
                }
                catch (WSDLException v12) {
                    throw ab.a(v12);
                }
            }
        }
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[15];
                var3_1 = 0;
                var2_2 = "b\u0004\fc\u0007#?,/=%R#4v.\u000eF91:n(/\u0007(\"*`)jP%56/+?E!9+g2$@m *`#3\u0007(><\u007f4#I9~0\u001aR/<1|3#I*p=a?:H$>,/=8H p\bz9&N>8=k{\u0019B?&1l>jN)p{'B\u001fc\t\u0019\b}42N(4\u000bj)<N.5\u0011a=%\u0007$#x{3/\u0007:\"7a<jS4 =!{\u0007R>$xm>jH+p,v+/\u0007\b\u001e\u001c_\u0014\u0003i\u0019$\tF#>7{{?W)1,j{\u001fc\t\u0019v/\u000e\u000ec\u0004p\nj<#T9\"!/xb!\u001fI,24j{>Hm 9}(/\u0007\u001a\u0003\u001cC{,H?p+j)<N.5x\u0018c\u00079?xZ\u001f\u000enm\"=h29S?)xf?j\u0004e\rc\u0007$#xk29F/<=k;\u0004Hm\u0005\u001cK\u0012\u0019B?&1l>\tH#$*`7jA\"%6k{,H?p\bz9&N>8=k\b/U;9;j{=N98xf?j\u0004e\u0010\u001fc\t\u0019x]>-N>$*v{i\u000f@\tF#>7{{8B ?.j{%S%5*/9#I)96h(jP%56//\"Bm\u0007\u000bK\u0017jN>p-a?/Um\u0005\u001cK\u0012jD\">,}4&5\u0019B9p\rK\u001f\u0003t(\".f8/d\">,}4&\u0007$#\ra?/U\u0018\u0014\u001cF\u0018%I9\"7c{>Hm2=/=+K>5";
                var4_3 = "b\u0004\fc\u0007#?,/=%R#4v.\u000eF91:n(/\u0007(\"*`)jP%56/+?E!9+g2$@m *`#3\u0007(><\u007f4#I9~0\u001aR/<1|3#I*p=a?:H$>,/=8H p\bz9&N>8=k{\u0019B?&1l>jN)p{'B\u001fc\t\u0019\b}42N(4\u000bj)<N.5\u0011a=%\u0007$#x{3/\u0007:\"7a<jS4 =!{\u0007R>$xm>jH+p,v+/\u0007\b\u001e\u001c_\u0014\u0003i\u0019$\tF#>7{{?W)1,j{\u001fc\t\u0019v/\u000e\u000ec\u0004p\nj<#T9\"!/xb!\u001fI,24j{>Hm 9}(/\u0007\u001a\u0003\u001cC{,H?p+j)<N.5x\u0018c\u00079?xZ\u001f\u000enm\"=h29S?)xf?j\u0004e\rc\u0007$#xk29F/<=k;\u0004Hm\u0005\u001cK\u0012\u0019B?&1l>\tH#$*`7jA\"%6k{,H?p\bz9&N>8=k\b/U;9;j{=N98xf?j\u0004e\u0010\u001fc\t\u0019x]>-N>$*v{i\u000f@\tF#>7{{8B ?.j{%S%5*/9#I)96h(jP%56//\"Bm\u0007\u000bK\u0017jN>p-a?/Um\u0005\u001cK\u0012jD\">,}4&5\u0019B9p\rK\u001f\u0003t(\".f8/d\">,}4&\u0007$#\ra?/U\u0018\u0014\u001cF\u0018%I9\"7c{>Hm2=/=+K>5".length();
                var1_4 = 2;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = ab.a(v0, ab.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "t\u001ez\u0006!al-B?1&w9.\\#g?m.1Y)/*|l4^<(=u-)Y5)oo%1\\z%*8(8\\?3*8*/_7g\u001a\\\b\u0014A\bt\u001e\u000e\u001fj#%Y?#\u001c}>+Y9\"\u0006v*2\u001034ov#)\u00103)ol$8\u0010*2-t%.Xz4;y88\u001ez\t l$4^=g;wl9_";
                    var4_3 = "t\u001ez\u0006!al-B?1&w9.\\#g?m.1Y)/*|l4^<(=u-)Y5)oo%1\\z%*8(8\\?3*8*/_7g\u001a\\\b\u0014A\bt\u001e\u000e\u001fj#%Y?#\u001c}>+Y9\"\u0006v*2\u001034ov#)\u00103)ol$8\u0010*2-t%.Xz4;y88\u001ez\t l$4^=g;wl9_".length();
                    var1_4 = 64;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 14;
                        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++] = ab.a(v0, ab.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;
            }
        }
        ab.d = var5;
        ab.a = Logger.getLogger(ab.class.getName());
    }

    private static WSDLException a(WSDLException wSDLException) {
        return wSDLException;
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x42);
        }
        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 -> 62;
                    case 2 -> 84;
                    case 3 -> 73;
                    case 4 -> 65;
                    case 5 -> 22;
                    default -> 66;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

