package com.l7tech.server.uddi;

import com.l7tech.gateway.common.audit.SystemMessages;
import com.l7tech.gateway.common.uddi.UDDIRegistry;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.uddi.UDDIClient;
import com.l7tech.uddi.UDDIException;
import com.l7tech.uddi.UDDIInvalidKeyException;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.ResourceUtils;
import java.util.Collection;
import java.util.logging.Logger;

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

   u(MetricsUDDITaskFactory var1, Goid var2) {
      this.b = var1;
      this.c = var2;
   }

   @Override
   public void apply(UDDITaskFactory.UDDITaskContext var1) {
      Logger var10000 = a;
      String var10001 = String.valueOf(this.c);
      String[] var13 = d;
      var10000.fine(var13[0] + var10001 + ")");

      try {
         UDDIRegistry var2 = (UDDIRegistry)this.b.a.findByPrimaryKey(this.c);

         label135: {
            try {
               if (var2 == null || !var2.isEnabled()) {
                  break label135;
               }
            } catch (UDDIInvalidKeyException var27) {
               throw a(var27);
            }

            UDDITemplate var3 = this.b.c.getUDDITemplate(var2.getUddiRegistryType());

            try {
               if (var3 == null) {
                  throw new UDDIException(d[1] + var2.getUddiRegistryType() + d[5]);
               }
            } catch (UDDIInvalidKeyException var24) {
               throw a(var24);
            }

            label114: {
               try {
                  if (var3.getServiceMetricsKeyedReference() == null) {
                     var33 = null;
                     break label114;
                  }
               } catch (UDDIInvalidKeyException var26) {
                  throw a(var26);
               }

               var33 = var3.getServiceMetricsKeyedReference().getKey();
            }

            String var4 = var33;
            if (var4 != null) {
               Collection var5 = this.b.d.findByRegistryAndMetricsStatus(this.c, UDDIBusinessServiceStatus.Status.DELETE);
               UDDIClient var6 = null;

               try {
                  var6 = this.b.b.newUDDIClient(var2);

                  for (UDDIBusinessServiceStatus var8 : var5) {
                     String var9 = var8.getUddiServiceKey();
                     String var10 = var8.getUddiMetricsTModelKey();

                     try {
                        var6.removeKeyedReference(var9, var4, null, var10);
                     } catch (UDDIInvalidKeyException var23) {
                        var13 = d;
                        a.fine(var13[3] + var9 + var13[8]);
                     }

                     try {
                        var6.deleteTModel(var10);
                     } catch (UDDIInvalidKeyException var22) {
                        var13 = d;
                        a.fine(var13[2] + var10 + var13[8]);
                     }

                     var8.setUddiMetricsReferenceStatus(UDDIBusinessServiceStatus.Status.NONE);
                     var8.setUddiMetricsTModelKey(null);
                     this.b.d.update(var8);
                  }
               } finally {
                  ResourceUtils.closeQuietly(var6);
               }
            }

            return;
         }

         var10000 = a;
         var10001 = String.valueOf(this.c);
         var13 = d;
         var10000.fine(var13[7] + var10001 + var13[6]);
      } catch (ObjectModelException var28) {
         var1.logAndAudit(SystemMessages.UDDI_METRICS_CLEANUP_FAILED, var28, d[4] + this.c + ".");
      } catch (UDDIException var29) {
         var1.logAndAudit(SystemMessages.UDDI_METRICS_CLEANUP_FAILED, ExceptionUtils.getDebugException(var29), ExceptionUtils.getMessage(var29));
      }
   }

   static {
      String[] var5 = new String[9];
      int var3 = 0;
      String var2 = "&;[];q\u0015E:[H'm\u0006\u0016wWRuQ!!\u001e\u001eZ:vE\u00172YU&p\u0017\u001cw\u0016\u001f+12SL9e\u0011\u0000wPS!$\u0003\n\"PXub\n\u0017wkx\u0011ME\u00172YU&p\u0017\u001cwJE%aEB%(2JN<g\u0016E\u0003sS1a\tE9QHub\n\u00109Z\u001c3k\u0017E3[P0p\u0000Ep362LJ<g\u0000E9QHub\n\u00109Z\u001c\"l\u0000\u000bwLY8k\u0013\f9Y\u001c8a\u0011\u0017>]Ouv\u0000\u00032LY;g\u0000Ep3!6J]7e\u0016\u0000w[N'k\u0017E VY;$\u0017\u0000:QJ<j\u0002E:[H'm\u0006\u0016wXS'$\u0017\u00000WO!v\u001cEt\u0002By%L{\u001eN0c\f\u0016#LEuj\n\u0011wXS j\u0001E8L\u001c<wE\u0001>M]7h\u0000\u0001y";
      int var4 = "&;[];q\u0015E:[H'm\u0006\u0016wWRuQ!!\u001e\u001eZ:vE\u00172YU&p\u0017\u001cw\u0016\u001f+12SL9e\u0011\u0000wPS!$\u0003\n\"PXub\n\u0017wkx\u0011ME\u00172YU&p\u0017\u001cwJE%aEB%(2JN<g\u0016E\u0003sS1a\tE9QHub\n\u00109Z\u001c3k\u0017E3[P0p\u0000Ep362LJ<g\u0000E9QHub\n\u00109Z\u001c\"l\u0000\u000bwLY8k\u0013\f9Y\u001c8a\u0011\u0017>]Ouv\u0000\u00032LY;g\u0000Ep3!6J]7e\u0016\u0000w[N'k\u0017E VY;$\u0017\u0000:QJ<j\u0002E:[H'm\u0006\u0016wXS'$\u0017\u00000WO!v\u001cEt\u0002By%L{\u001eN0c\f\u0016#LEuj\n\u0011wXS j\u0001E8L\u001c<wE\u0001>M]7h\u0000\u0001y"
         .length();
      char var1 = '\'';
      int var7 = -1;

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

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

                  var2 = "lp\u0010\u0013g-KB7\u0013\u0019a6LFd^\u0019c!KQ7\u0018\u0013gdpaS7\\g!BLd\n\u000eld\r\u0006\u0002\u00029";
                  var4 = "lp\u0010\u0013g-KB7\u0013\u0019a6LFd^\u0019c!KQ7\u0018\u0013gdpaS7\\g!BLd\n\u000eld\r\u0006\u0002\u00029".length();
                  var1 = '+';
                  var7 = -1;
            }

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

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

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

      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 -> 1;
            case 1 -> 51;
            case 2 -> 90;
            case 3 -> 88;
            case 4 -> 49;
            case 5 -> 96;
            default -> 1;
         });
      }

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