package com.l7tech.server.uddi;

import com.l7tech.gateway.common.audit.SystemMessages;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.gateway.common.uddi.UDDIProxiedServiceInfo;
import com.l7tech.gateway.common.uddi.UDDIPublishStatus;
import com.l7tech.gateway.common.uddi.UDDIRegistry;
import com.l7tech.gateway.common.uddi.UDDIServiceControl;
import com.l7tech.gateway.common.uddi.UDDIProxiedServiceInfo.PublishType;
import com.l7tech.gateway.common.uddi.UDDIPublishStatus.PublishStatus;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.uddi.BusinessServicePublisher;
import com.l7tech.uddi.UDDIException;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.ResourceUtils;
import com.l7tech.wsdl.Wsdl;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.wsdl.WSDLException;

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

   public z(PublishingUDDITaskFactory var1, PublishedService var2) {
      this.b = var1;
      this.c = var2;
   }

   @Override
   public void apply(UDDITaskFactory.UDDITaskContext var1) throws UDDITaskFactory.UDDITaskException {
      UDDIPublishStatus var2 = null;

      try {
         UDDIProxiedServiceInfo var36 = this.b.b.findByPublishedServiceGoid(this.c.getGoid());
         if (var36 == null) {
            return;
         }

         var2 = this.b.c.findByProxiedSerivceInfoGoid(var36.getGoid());
         if (var2 == null) {
            return;
         }

         label171: {
            try {
               if (var2.getPublishStatus() == PublishStatus.PUBLISH_FAILED || var2.getPublishStatus() == PublishStatus.PUBLISH) {
                  break label171;
               }
            } catch (WSDLException var30) {
               throw a(var30);
            }

            String[] var13 = d;
            a.log(Level.FINER, var13[4]);
            return;
         }

         try {
            if (var36.getPublishType() != PublishType.OVERWRITE) {
               throw new IllegalStateException(d[6]);
            }
         } catch (WSDLException var31) {
            throw a(var31);
         }

         UDDIRegistry var4 = (UDDIRegistry)this.b.a.findByPrimaryKey(var36.getUddiRegistryGoid());

         try {
            if (var4 == null) {
               throw new IllegalStateException(d[0] + var36.getUddiRegistryGoid() + d[1]);
            }
         } catch (WSDLException var29) {
            throw a(var29);
         }

         if (!var4.isEnabled()) {
            Logger var43 = a;
            Level var45 = Level.WARNING;
            String var47 = String.valueOf(var36.getUddiRegistryGoid());
            String[] var41 = d;
            var43.log(var45, var41[11] + var47 + var41[7]);
            return;
         }

         PublishedService var5 = this.b.d.getCachedService(var36.getPublishedServiceGoid());
         UDDIServiceControl var6 = this.b.f.findByPublishedServiceGoid(var36.getPublishedServiceGoid());

         try {
            if (var6 == null) {
               throw new IllegalStateException(d[8] + var36.getPublishedServiceGoid() + ")");
            }
         } catch (WSDLException var28) {
            throw a(var28);
         }

         if (var6.isHasBeenOverwritten()) {
            String[] var40 = d;
            a.log(Level.FINER, var40[3]);
            return;
         }

         Logger var10000 = a;
         Level var10001 = Level.INFO;
         String var10002 = String.valueOf(var5.getGoid());
         String var10003 = String.valueOf(var4.getGoid());
         String[] var38 = d;
         var10000.log(var10001, var38[12] + var10002 + var38[10] + var10003 + ")");

         Wsdl var7;
         try {
            var7 = var5.parsedWsdl();
         } catch (WSDLException var27) {
            var10000 = a;
            var10001 = Level.WARNING;
            var10002 = var5.getName();
            var10003 = String.valueOf(var5.getGoid());
            var38 = d;
            var10000.log(var10001, var38[2] + var10002 + var38[5] + var10003 + var38[9], ExceptionUtils.getDebugException(var27));
            var2.setPublishStatus(PublishStatus.DELETE);
            this.b.c.update(var2);
            return;
         }

         Set var8 = this.b.e.getAllExternalEndpointAndWsdlUrls(var5.getGoid());
         BusinessServicePublisher var9 = null;

         Set var10;
         label195: {
            try {
               var9 = new BusinessServicePublisher(var7, var36.getPublishedServiceGoid().toHexString(), this.b.e.newUDDIClientConfig(var4));
               var10 = var9.overwriteServiceInUDDI(var6.getUddiServiceKey(), var6.getUddiBusinessKey(), var8);
               break label195;
            } catch (UDDIException var32) {
               PublishingUDDITaskFactory.a(var2.getGoid(), var1, this.b.c);
               var1.logAndAudit(SystemMessages.UDDI_PUBLISH_SERVICE_FAILED, ExceptionUtils.getDebugException(var32), ExceptionUtils.getMessage(var32));
            } finally {
               ResourceUtils.closeQuietly(var9);
            }

            return;
         }

         var2.setPublishStatus(PublishStatus.PUBLISHED);
         this.b.c.update(var2);
         var36.setProperty(UDDIProxiedServiceInfo.ALL_ENDPOINT_PAIRS_KEY, var8);
         var36.setProperty(UDDIProxiedServiceInfo.ALL_BINDING_TEMPLATE_KEYS, var10);
         this.b.b.update(var36);
         var6 = this.b.f.findByPublishedServiceGoid(var36.getPublishedServiceGoid());

         try {
            if (var6 != null) {
               var6.setHasBeenOverwritten(true);
               var6.setUnderUddiControl(false);
               this.b.f.update(var6);
            }
         } catch (WSDLException var26) {
            throw a(var26);
         }
      } catch (ObjectModelException var34) {
         var1.logAndAudit(SystemMessages.UDDI_PUBLISH_SERVICE_FAILED, var34, d[13]);
         throw new UDDITaskFactory.UDDITaskException(ExceptionUtils.getMessage(var34), var34);
      } catch (RuntimeException var35) {
         RuntimeException var3 = var35;

         try {
            var1.logAndAudit(SystemMessages.UDDI_PUBLISH_UNEXPECTED_ERROR, var3, ExceptionUtils.getMessage(var3));
            if (var2 != null) {
               PublishingUDDITaskFactory.a(var1, var3, var2.getGoid(), this.b, true);
            }
         } catch (WSDLException var25) {
            throw a(var25);
         }
      }
   }

   static {
      String[] var5 = new String[14];
      int var3 = 0;
      String var2 = "4qj\u001cD%\u001f\u0006\\]!\u0016\u000eZB\u001d\fH\u0015@:\u0010W\u001c\u000e@@1J!4[O7\b\u0012Z\u0015Z\u000e%\u0005\u0005\t\u0004\u0015y\u0006 ;Z\u0007Z\\u\u0017\u0012\b\u0017\\M0DY4qj\u001c4\u0005\u0015\u0019\\K17\u0012\b\u0017\\M0-\u0019\u001c\u000e\u0015F4\u0017W\u001b\rGK4\u0000\u000eZ\u000eCK'\u0013\u0005\u0013\u0015AK;D\u0003\u0012\u0004\u0015l \u0017\u001e\u0014\u0004F]\u0006\u0001\u0005\f\bVKu\r\u0019Z4qj\u001cJW4\u000eAF<\n\u0010Z\u0015Z\u000e1\u000bQ4qj\u001c4\u0005\u0015\u0019\\K17\u0012\b\u0017\\M0-\u0019\u001c\u000e\u0015G&D\u0019\u0015\u0015\u0015G;D\u0003\u0012\u0004\u0015^ \u0006\u001b\u0013\u0012]\u0002u\u0014\u0002\u0018\r\\]=;\u0011\u001b\bYK1D\u0004\u000e\u0000AK{D9\u0015\u0015]G;\u0003W\u000e\u000e\u0015J:\u0002I\u0016C4qj\u001c4\u0005\u0015\u0019\\K17\u0012\b\u0017\\M0-\u0019\u001c\u000e\u0015G&D\u0003\u0012\u0004\u0015Y'\u000b\u0019\u001dAAW%\u0001YZ,@]!D\u0015\u001fAZHu\u0010\u000e\n\u0004\u0015a\u0003!%-3|z\u0010\rH\u0015G&D\u0013\u0013\u0012TL9\u0001\u0013;/Z\u000e\u0000 332P\\#\r\u0014\u001f\"Z@!\u0016\u0018\u0016ASA \n\u0013Z\u0007Z\\u4\u0002\u0018\r\\]=\u0001\u0013)\u0004GX<\u0007\u0012Z\u0016\\Z=D\u001e\u001eA\u0016\u0006@H\u001b\u000e\u0014\n\u000eZ\u0011GK#\r\u0018\u000f\u0012YWu\u0014\u0002\u0018\r\\]=\u0001\u0013Z\b[H:\u0016\u001a\u001b\u0015\\A;D\u0000\u0013\rY\u000e7\u0001W\u001e\u0004YK!\u0001W\u001c\u0013ZCu13>(\u0018H\u0015Z:D\">%|\u000e'\u0001\u0010\u0013\u0012A\\,D\u001e\u001eA\u0016\u0006$\"T@;\u000b\u0003Z\u0014EJ4\u0010\u0012Z4qj\u001cJW/%qgu6\u0012\u001d\bFZ'\u001dWYI";
      int var4 = "4qj\u001cD%\u001f\u0006\\]!\u0016\u000eZB\u001d\fH\u0015@:\u0010W\u001c\u000e@@1J!4[O7\b\u0012Z\u0015Z\u000e%\u0005\u0005\t\u0004\u0015y\u0006 ;Z\u0007Z\\u\u0017\u0012\b\u0017\\M0DY4qj\u001c4\u0005\u0015\u0019\\K17\u0012\b\u0017\\M0-\u0019\u001c\u000e\u0015F4\u0017W\u001b\rGK4\u0000\u000eZ\u000eCK'\u0013\u0005\u0013\u0015AK;D\u0003\u0012\u0004\u0015l \u0017\u001e\u0014\u0004F]\u0006\u0001\u0005\f\bVKu\r\u0019Z4qj\u001cJW4\u000eAF<\n\u0010Z\u0015Z\u000e1\u000bQ4qj\u001c4\u0005\u0015\u0019\\K17\u0012\b\u0017\\M0-\u0019\u001c\u000e\u0015G&D\u0019\u0015\u0015\u0015G;D\u0003\u0012\u0004\u0015^ \u0006\u001b\u0013\u0012]\u0002u\u0014\u0002\u0018\r\\]=;\u0011\u001b\bYK1D\u0004\u000e\u0000AK{D9\u0015\u0015]G;\u0003W\u000e\u000e\u0015J:\u0002I\u0016C4qj\u001c4\u0005\u0015\u0019\\K17\u0012\b\u0017\\M0-\u0019\u001c\u000e\u0015G&D\u0003\u0012\u0004\u0015Y'\u000b\u0019\u001dAAW%\u0001YZ,@]!D\u0015\u001fAZHu\u0010\u000e\n\u0004\u0015a\u0003!%-3|z\u0010\rH\u0015G&D\u0013\u0013\u0012TL9\u0001\u0013;/Z\u000e\u0000 332P\\#\r\u0014\u001f\"Z@!\u0016\u0018\u0016ASA \n\u0013Z\u0007Z\\u4\u0002\u0018\r\\]=\u0001\u0013)\u0004GX<\u0007\u0012Z\u0016\\Z=D\u001e\u001eA\u0016\u0006@H\u001b\u000e\u0014\n\u000eZ\u0011GK#\r\u0018\u000f\u0012YWu\u0014\u0002\u0018\r\\]=\u0001\u0013Z\b[H:\u0016\u001a\u001b\u0015\\A;D\u0000\u0013\rY\u000e7\u0001W\u001e\u0004YK!\u0001W\u001c\u0013ZCu13>(\u0018H\u0015Z:D\">%|\u000e'\u0001\u0010\u0013\u0012A\\,D\u001e\u001eA\u0016\u0006$\"T@;\u000b\u0003Z\u0014EJ4\u0010\u0012Z4qj\u001cJW/%qgu6\u0012\u001d\bFZ'\u001dWYI"
         .length();
      char var1 = 16;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 57;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     d = var5;
                     a = Logger.getLogger(aa.class.getName());
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "`\r\u0005i]K][\u0012\u000e|\n{A\\\u0012\u000e~YJgJ\t\u0016rI\\\u0014X\u0012\u0014s\n~U[\u001e\u0017zS\u0019c|?,;LK[B[0nHU]\\\u0013\u0005\u007f\njQ]\r\txO\u0019]K[C3.k\u001a\u0014zHXGJ[\u0005iXVF\u000f\f\b~D\u0019DZ\u0019\frYQ]A\u001c@kXVLV[\u0013~XO]L\u001e\u00135";
                  var4 = "`\r\u0005i]K][\u0012\u000e|\n{A\\\u0012\u000e~YJgJ\t\u0016rI\\\u0014X\u0012\u0014s\n~U[\u001e\u0017zS\u0019c|?,;LK[B[0nHU]\\\u0013\u0005\u007f\njQ]\r\txO\u0019]K[C3.k\u001a\u0014zHXGJ[\u0005iXVF\u000f\f\b~D\u0019DZ\u0019\frYQ]A\u001c@kXVLV[\u0013~XO]L\u001e\u00135"
                     .length();
                  var1 = 'J';
                  var7 = -1;
            }

            var10000 = 119;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

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

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 67);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 88;
            case 1 -> 12;
            case 2 -> 23;
            case 3 -> 108;
            case 4 -> 93;
            case 5 -> 78;
            default -> 67;
         });
      }

      return new String(var10001).intern();
   }
}
