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.Goid;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.uddi.BusinessServicePublisher;
import com.l7tech.uddi.UDDIException;
import com.l7tech.uddi.UDDIInvalidKeyException;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.ResourceUtils;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;

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

   public x(PublishingUDDITaskFactory var1, Goid var2) {
      this.b = var1;
      this.c = var2;
   }

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

      try {
         UDDIProxiedServiceInfo var34 = (UDDIProxiedServiceInfo)this.b.b.findByPrimaryKey(this.c);
         if (var34 == null) {
            return;
         }

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

         label154: {
            try {
               if (var2.getPublishStatus() == PublishStatus.DELETE || var2.getPublishStatus() == PublishStatus.DELETE_FAILED) {
                  break label154;
               }
            } catch (UDDIException var26) {
               throw a(var26);
            }

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

         try {
            if (var34.getPublishType() != PublishType.ENDPOINT) {
               throw new IllegalStateException(d[0]);
            }
         } catch (UDDIException var27) {
            throw a(var27);
         }

         UDDIServiceControl var4 = this.b.f.findByPublishedServiceGoid(var34.getPublishedServiceGoid());

         try {
            if (var4 == null) {
               throw new IllegalStateException(d[6] + var34.getPublishedServiceGoid() + ")");
            }
         } catch (UDDIException var28) {
            throw a(var28);
         }

         UDDIRegistry var5 = (UDDIRegistry)this.b.a.findByPrimaryKey(var34.getUddiRegistryGoid());

         try {
            if (var5 == null) {
               throw new IllegalStateException(d[7] + var34.getUddiRegistryGoid() + d[12]);
            }
         } catch (UDDIException var25) {
            throw a(var25);
         }

         if (!var5.isEnabled()) {
            Logger var37 = a;
            Level var38 = Level.WARNING;
            String var39 = String.valueOf(var34.getUddiRegistryGoid());
            String[] var36 = d;
            var37.log(var38, var36[5] + var39 + var36[9]);
            return;
         }

         Logger var10000 = a;
         Level var10001 = Level.INFO;
         String var10002 = var4.getUddiServiceKey();
         String var10003 = String.valueOf(var34.getPublishedServiceGoid());
         String var10 = String.valueOf(var5.getGoid());
         String var11 = var10003;
         String var12 = var10002;
         String[] var35 = d;
         var10000.log(var10001, var35[8] + var12 + var35[11] + var11 + var35[3] + var10 + ")");
         PublishedService var6 = this.b.d.getCachedService(var34.getPublishedServiceGoid());
         BusinessServicePublisher var7 = null;

         label186: {
            try {
               var7 = new BusinessServicePublisher(var6.getGoid().toHexString(), this.b.e.newUDDIClientConfig(var5));
               var7.deleteGatewayBindingTemplates(
                  var4.getUddiServiceKey(),
                  (Set)var34.getProperty(UDDIProxiedServiceInfo.ALL_ENDPOINT_PAIRS_KEY),
                  (Set)var34.getProperty(UDDIProxiedServiceInfo.ALL_BINDING_TEMPLATE_KEYS)
               );
               a.log(Level.INFO, var35[13]);
               break label186;
            } catch (UDDIException var30) {
               UDDIException var8 = var30;

               try {
                  if (var8 instanceof UDDIInvalidKeyException) {
                     a.log(Level.INFO, d[4] + var4.getUddiServiceKey() + d[1]);
                     break label186;
                  }
               } catch (UDDIException var29) {
                  throw a(var29);
               }

               var1.logAndAudit(
                  SystemMessages.UDDI_PUBLISH_REMOVE_ENDPOINT_BINDING,
                  ExceptionUtils.getDebugException(var30),
                  var4.getUddiServiceKey(),
                  ExceptionUtils.getMessage(var30)
               );
               PublishingUDDITaskFactory.b(var2.getGoid(), var1, this.b.c);
            } finally {
               ResourceUtils.closeQuietly(var7);
            }

            return;
         }

         this.b.b.delete(var34.getGoid());
      } catch (ObjectModelException var32) {
         var1.logAndAudit(SystemMessages.UDDI_PUBLISH_REMOVE_ENDPOINT_FAILED, var32, d[10]);
         throw new UDDITaskFactory.UDDITaskException(ExceptionUtils.getMessage(var32), var32);
      } catch (RuntimeException var33) {
         RuntimeException var3 = var33;

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

   static {
      String[] var5 = new String[14];
      int var3 = 0;
      String var2 = "UMl\u007f/L\u000ex`MR,[\u0013v`KS6P\u0007o)AE_J\te)_D\u0010P\u0006 }QF\u001a\u0010AM|[B_\\\u0004 fN\u0016\u000bG\u0011e)mx;n.IG|$)'\bu\u001eP\u000fo}\bR\u001aR\u0004tl\bP\rQ\f \\lr6\u001e3enAE\u000bL\u0018.@UMl\u007f/L\u000ex`MR,[\u0013v`KS6P\u0007o)AE_P\u000et)AX_J\te)LS\u0013[\u0015e)[B\u001eJ\u0004.)fY\u000bV\bnn\bB\u0010\u001e\u0005o\u0018))AX_k%D@\bd\u001aY\bs}ZO_W\u0005 *\u0000AB|[_\u0011[\u0012sZMD\tW\u0002e)\\^\u001eJAegLF\u0010W\u000ftz\bA\u001aL\u0004 y]T\u0013W\u0012hlL\u0016\u000bQAwh[\u0016\u0011Q\u0015 oGC\u0011ZA#!$ChFX\u0010JAuyLW\u000b[AUMl\u007fQ\u001e4DMa\u0016-[\u0006iz\\D\u0006\u001eB(;Nf\bc;z(SlZ@\u0016]\u0004CfFB\rQ\r oGC\u0011ZAffZ\u0016/K\u0003l`[^\u001aZ2e{^_\u001c[Aw`\\^_W\u0005 *\u0000\u000fUMl\u007f_l\u0004g`[B\rGA#BDlDS\u000bW\u000fg)OW\u000b[\u0016ap\bS\u0011Z\u0011o`FB\f\u001e\u0007rfE\u0016=K\u0012igME\fm\u0004r\u007fAU\u001a\u001e\u0016i}@\u0016\f[\u0013v`KS4[\u0018 *\u0000\r))AE_Z\bshJZ\u001aZ,Dh\\W\u001d_\u0012e)MD\rQ\u0013 ~@S\u0011\u001e\u0005eeMB\u0016P\u0006 yZY\u0007GAegLF\u0010W\u000ft'\u001a))NY\r\u001e\u0011ukD_\fV\u0004d)[S\rH\bcl\b\u0015W";
      int var4 = "UMl\u007f/L\u000ex`MR,[\u0013v`KS6P\u0007o)AE_J\te)_D\u0010P\u0006 }QF\u001a\u0010AM|[B_\\\u0004 fN\u0016\u000bG\u0011e)mx;n.IG|$)'\bu\u001eP\u000fo}\bR\u001aR\u0004tl\bP\rQ\f \\lr6\u001e3enAE\u000bL\u0018.@UMl\u007f/L\u000ex`MR,[\u0013v`KS6P\u0007o)AE_P\u000et)AX_J\te)LS\u0013[\u0015e)[B\u001eJ\u0004.)fY\u000bV\bnn\bB\u0010\u001e\u0005o\u0018))AX_k%D@\bd\u001aY\bs}ZO_W\u0005 *\u0000AB|[_\u0011[\u0012sZMD\tW\u0002e)\\^\u001eJAegLF\u0010W\u000ftz\bA\u001aL\u0004 y]T\u0013W\u0012hlL\u0016\u000bQAwh[\u0016\u0011Q\u0015 oGC\u0011ZA#!$ChFX\u0010JAuyLW\u000b[AUMl\u007fQ\u001e4DMa\u0016-[\u0006iz\\D\u0006\u001eB(;Nf\bc;z(SlZ@\u0016]\u0004CfFB\rQ\r oGC\u0011ZAffZ\u0016/K\u0003l`[^\u001aZ2e{^_\u001c[Aw`\\^_W\u0005 *\u0000\u000fUMl\u007f_l\u0004g`[B\rGA#BDlDS\u000bW\u000fg)OW\u000b[\u0016ap\bS\u0011Z\u0011o`FB\f\u001e\u0007rfE\u0016=K\u0012igME\fm\u0004r\u007fAU\u001a\u001e\u0016i}@\u0016\f[\u0013v`KS4[\u0018 *\u0000\r))AE_Z\bshJZ\u001aZ,Dh\\W\u001d_\u0012e)MD\rQ\u0013 ~@S\u0011\u001e\u0005eeMB\u0016P\u0006 yZY\u0007GAegLF\u0010W\u000ft'\u001a))NY\r\u001e\u0011ukD_\fV\u0004d)[S\rH\bcl\b\u0015W"
         .length();
      char var1 = 'B';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 94;
         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(x.class.getName());
                     return;
                  }

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

                  var2 = "BL#<n{b\n\u0019#74\u001e \u0002)#u2j\u0011\u001fm o8g\u0000\u001f>5o7h\u001cL)6v>p\u0000\b";
                  var4 = "BL#<n{b\n\u0019#74\u001e \u0002)#u2j\u0011\u001fm o8g\u0000\u001f>5o7h\u001cL)6v>p\u0000\b".length();
                  var1 = '\f';
                  var7 = -1;
            }

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

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

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

      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 -> 94;
            case 1 -> 87;
            case 2 -> 118;
            case 3 -> 104;
            case 4 -> 33;
            case 5 -> 96;
            default -> 63;
         });
      }

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