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.uddi.UDDIUnpublishException;
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 y extends UDDITaskFactory.UDDITask {
   private static final Logger a;
   private final PublishingUDDITaskFactory b;
   private final Goid c;
   private static final String[] d;

   private y(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 var37 = (UDDIProxiedServiceInfo)this.b.b.findByPrimaryKey(this.c);
         if (var37 == null) {
            return;
         }

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

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

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

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

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

         try {
            if (var4 == null) {
               throw new IllegalStateException(d[5] + var37.getPublishedServiceGoid() + ")");
            }
         } catch (UDDIException var30) {
            throw a(var30);
         }

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

         try {
            if (var5 == null) {
               throw new IllegalStateException(d[3] + var37.getUddiRegistryGoid() + d[9]);
            }
         } catch (UDDIException var27) {
            throw a(var27);
         }

         if (!var5.isEnabled()) {
            Logger var41 = a;
            Level var42 = Level.WARNING;
            String var43 = String.valueOf(var37.getUddiRegistryGoid());
            String[] var40 = d;
            var41.log(var42, var40[12] + var43 + var40[13]);
            return;
         }

         Logger var10000 = a;
         Level var10001 = Level.INFO;
         String var10002 = var4.getUddiServiceKey();
         String var10003 = String.valueOf(var37.getPublishedServiceGoid());
         String var11 = String.valueOf(var5.getGoid());
         String var12 = var10003;
         String var13 = var10002;
         String[] var39 = d;
         var10000.log(var10001, var39[7] + var13 + var39[14] + var12 + var39[6] + var11 + ")");
         PublishedService var6 = this.b.d.getCachedService(var37.getPublishedServiceGoid());
         BusinessServicePublisher var7 = null;

         label197: {
            try {
               var7 = new BusinessServicePublisher(var6.getGoid().toHexString(), this.b.e.newUDDIClientConfig(var5));
               Set var38 = (Set)var37.getProperty(UDDIProxiedServiceInfo.ALL_BINDING_TEMPLATE_KEYS);
               String var9 = (String)var37.getProperty(UDDIProxiedServiceInfo.FUNCTIONAL_ENDPOINT_KEY);
               var7.deleteGatewayGifBindingTemplates(var4.getUddiServiceKey(), (String)var38.iterator().next(), var9);
               a.log(Level.INFO, var39[2]);
               break label197;
            } catch (UDDIException var33) {
               UDDIException var8 = var33;

               try {
                  if (var8 instanceof UDDIInvalidKeyException) {
                     a.log(Level.INFO, d[10] + var4.getUddiServiceKey() + d[8]);
                     break label197;
                  }
               } catch (UDDIException var31) {
                  throw a(var31);
               }

               try {
                  if (var8 instanceof UDDIUnpublishException) {
                     a.log(Level.INFO, var8.getMessage() + d[4]);
                     break label197;
                  }
               } catch (UDDIException var32) {
                  throw a(var32);
               }

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

            return;
         }

         this.b.b.delete(var37.getGoid());
      } catch (ObjectModelException var35) {
         var1.logAndAudit(SystemMessages.UDDI_PUBLISH_REMOVE_ENDPOINT_FAILED, var35, d[11]);
         throw new UDDITaskFactory.UDDITaskException(ExceptionUtils.getMessage(var35), var35);
      } catch (RuntimeException var36) {
         RuntimeException var3 = var36;

         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 var26) {
            throw a(var26);
         }
      }
   }

   static {
      String[] var5 = new String[15];
      int var3 = 0;
      String var2 = "\u0012Zt4g:;?wU\u0019d-&1wS\u0018~&2(>Y\u000e\u0017<<\">G\u000fX&3gjI\rRft\nkC\t\u0017*1gqV]C1$\">u3s\u0018\u001b\u000ePd@\u0012Zt4g:;?wU\u0019d-&1wS\u0018~&2(>Y\u000e\u0017&;3>Y\u0013\u0017<<\">T\u0018[- \">C\tV<1i>~\u0012C =)y\u0010\tXh0(!\u0000Wv]R&07qY\u0013Ch'2}S\u0018D;22r\\\u0004\u0017,1+{D\u0018S\u000f\u0012Zt4\u0017\u001a1 wC\tE1td\u0019g]Q\u0013Y' gk^\u0019Xh\u0013\u000eX\u0010\rB*8.mXS;\tq\u0010(s\f\u001d\u0014{B\u000b^+1\u0004q^\tE'8gx_\bY,t!qB]g=6+wC\u0015R,\u0007\"lF\u0014T-t0wD\u0015\u0017!0g=\u0018\u0018n>Y\u0013\u0017\u001d\u0010\u0003W\u0010/R/=4jB\u0004\u0017!0g=\u0018E\u0003{\\\u0018C!: >W\u001cC-#&g\u0010:~\u000et\"pT\rX!:3>V\u000fX%t\u0005kC\u0014Y-'4MU\u000fA!7\">G\u0014C t4{B\u000b^+1\f{I]\u0014`$n0\u0010>V&:(j\u0010\u0019R$13{\u0010\u001bE'9gKt9~h\u0006\"yY\u000eC:-i\f`>^\u0012Ch2(k^\u0019\u0019A\u0005kC\u0014Y-'4MU\u000fA!7\">D\u0015V<t\"pT\rX!:3m\u0010\nR:1gnE\u001f[!'/{T]C't0\u007fC]Y' gx_\bY,td60\u0003\u007fD\u001cU)'\">U\u000fE'&giX\u0018Yh0\"rU\t^&3gYy;\u00178&(fI]R&07qY\u0013Cf$\u0004\u007f^\u0013X<t2nT\u001cC-t\u0012Zt4\u0019h\u0001\u0003Zy]e-3.mD\u000fNhwo";
      int var4 = "\u0012Zt4g:;?wU\u0019d-&1wS\u0018~&2(>Y\u000e\u0017<<\">G\u000fX&3gjI\rRft\nkC\t\u0017*1gqV]C1$\">u3s\u0018\u001b\u000ePd@\u0012Zt4g:;?wU\u0019d-&1wS\u0018~&2(>Y\u000e\u0017&;3>Y\u0013\u0017<<\">T\u0018[- \">C\tV<1i>~\u0012C =)y\u0010\tXh0(!\u0000Wv]R&07qY\u0013Ch'2}S\u0018D;22r\\\u0004\u0017,1+{D\u0018S\u000f\u0012Zt4\u0017\u001a1 wC\tE1td\u0019g]Q\u0013Y' gk^\u0019Xh\u0013\u000eX\u0010\rB*8.mXS;\tq\u0010(s\f\u001d\u0014{B\u000b^+1\u0004q^\tE'8gx_\bY,t!qB]g=6+wC\u0015R,\u0007\"lF\u0014T-t0wD\u0015\u0017!0g=\u0018\u0018n>Y\u0013\u0017\u001d\u0010\u0003W\u0010/R/=4jB\u0004\u0017!0g=\u0018E\u0003{\\\u0018C!: >W\u001cC-#&g\u0010:~\u000et\"pT\rX!:3>V\u000fX%t\u0005kC\u0014Y-'4MU\u000fA!7\">G\u0014C t4{B\u000b^+1\f{I]\u0014`$n0\u0010>V&:(j\u0010\u0019R$13{\u0010\u001bE'9gKt9~h\u0006\"yY\u000eC:-i\f`>^\u0012Ch2(k^\u0019\u0019A\u0005kC\u0014Y-'4MU\u000fA!7\">D\u0015V<t\"pT\rX!:3m\u0010\nR:1gnE\u001f[!'/{T]C't0\u007fC]Y' gx_\bY,td60\u0003\u007fD\u001cU)'\">U\u000fE'&giX\u0018Yh0\"rU\t^&3gYy;\u00178&(fI]R&07qY\u0013Cf$\u0004\u007f^\u0013X<t2nT\u001cC-t\u0012Zt4\u0019h\u0001\u0003Zy]e-3.mD\u000fNhwo"
         .length();
      char var1 = 'B';
      int var7 = -1;

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

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

                  var2 = "1a\u0006QHsbk \rN\rs\u001a1a\tM\u001a7{m#\u0003K\u001b\u007fn|a\u001cG\u001aab{$O\u0001@";
                  var4 = "1a\u0006QHsbk \rN\rs\u001a1a\tM\u001a7{m#\u0003K\u001b\u007fn|a\u001cG\u001aab{$O\u0001@".length();
                  var1 = '\r';
                  var7 = -1;
            }

            var10000 = 43;
            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] ^ 32);
      }

      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 -> 51;
            case 1 -> 106;
            case 2 -> 68;
            case 3 -> 9;
            case 4 -> 67;
            case 5 -> 60;
            default -> 32;
         });
      }

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