package com.l7tech.server.uddi;

import com.l7tech.server.cluster.ClusterPropertyCache;
import com.l7tech.server.wsdm.Aggregator;

public class MetricsUDDITaskFactory extends UDDITaskFactory {
   private final UDDIRegistryManager a;
   private final UDDIHelper b;
   private final UDDITemplateManager c;
   private final UDDIBusinessServiceStatusManager d;
   private final Aggregator e;
   private final ClusterPropertyCache f;

   public MetricsUDDITaskFactory(
      UDDIRegistryManager var1, UDDIHelper var2, UDDITemplateManager var3, UDDIBusinessServiceStatusManager var4, Aggregator var5, ClusterPropertyCache var6
   ) {
      this.a = var1;
      this.b = var2;
      this.c = var3;
      this.d = var4;
      this.e = var5;
      this.f = var6;
   }

   @Override
   public UDDITaskFactory.UDDITask buildUDDITask(o var1) {
      UDDITaskFactory.UDDITask var2 = null;
      if (var1 instanceof TimerUDDIEvent var3) {
         if (var3.b() == TimerUDDIEvent.Type.METRICS_PUBLISH) {
            var2 = new v(this, var3.a());
         } else if (var3.b() == TimerUDDIEvent.Type.METRICS_CLEANUP) {
            var2 = new u(this, var3.a());
         }
      }

      return var2;
   }

   enum Metric {
      CLUSTER,
      SERVICE_KEY,
      START_TIME,
      END_TIME,
      TOTAL_REQUEST_COUNT,
      SUCCESS_REQUEST_COUNT,
      FAILURE_REQUEST_COUNT,
      AVERAGE_RESPONSE_TIME,
      MINIMUM_RESPONSE_TIME,
      MAXIMUM_RESPONSE_TIME,
      AVAILABILITY;

      // $VF: Failed to inline enum fields
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      static {
         String[] var0 = new String[11];
         int var4 = 0;
         String var3 = "Zllu4\bPHwgo)\u0012SD`}h0\u0010X\u0013Cjv}5\u0002ORtwy*\tBTjwr-\fVscu5\u001c_^ikh \u0007Tiwo-\u0018O\u0015Vsgn8\u001aXHwgo)\u0012SD`}h0\u0010X\nDqcn-\u0002I^hg\u0015Dpa\u007f<\u000eNHwgm,\u0018NCzas,\u0013I\u0015Zdzu4\bPHwgo)\u0012SD`}h0\u0010X\bRkfc-\u0014PR";
         int var5 = "Zllu4\bPHwgo)\u0012SD`}h0\u0010X\u0013Cjv}5\u0002ORtwy*\tBTjwr-\fVscu5\u001c_^ikh \u0007Tiwo-\u0018O\u0015Vsgn8\u001aXHwgo)\u0012SD`}h0\u0010X\nDqcn-\u0002I^hg\u0015Dpa\u007f<\u000eNHwgm,\u0018NCzas,\u0013I\u0015Zdzu4\bPHwgo)\u0012SD`}h0\u0010X\bRkfc-\u0014PR"
            .length();
         char var2 = 21;
         int var7 = -1;

         label25:
         while (true) {
            byte var10000 = 40;
            String var10001 = var3.substring(++var7, var7 + var2);
            byte var10002 = -1;

            while (true) {
               String var8 = a(var10000, a(var10001));
               switch (var10002) {
                  case 0:
                     var0[var4++] = var8;
                     if ((var7 += var2) >= var5) {
                        CLUSTER = new MetricsUDDITaskFactory.Metric();
                        SERVICE_KEY = new MetricsUDDITaskFactory.Metric();
                        START_TIME = new MetricsUDDITaskFactory.Metric();
                        END_TIME = new MetricsUDDITaskFactory.Metric();
                        TOTAL_REQUEST_COUNT = new MetricsUDDITaskFactory.Metric();
                        SUCCESS_REQUEST_COUNT = new MetricsUDDITaskFactory.Metric();
                        FAILURE_REQUEST_COUNT = new MetricsUDDITaskFactory.Metric();
                        AVERAGE_RESPONSE_TIME = new MetricsUDDITaskFactory.Metric();
                        MINIMUM_RESPONSE_TIME = new MetricsUDDITaskFactory.Metric();
                        MAXIMUM_RESPONSE_TIME = new MetricsUDDITaskFactory.Metric();
                        AVAILABILITY = new MetricsUDDITaskFactory.Metric();
                        return;
                     }

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

                     var3 = "\u0003'7-wY\u001f\u000f) \"\u0015\u0016#,7kH\u001f\u000f0 *k_\t\u0004=&4kT\u000e";
                     var5 = "\u0003'7-wY\u001f\u000f) \"\u0015\u0016#,7kH\u001f\u000f0 *k_\t\u0004=&4kT\u000e".length();
                     var2 = 11;
                     var7 = -1;
               }

               var10000 = 111;
               var10001 = var3.substring(++var7, var7 + var2);
               var10002 = 0;
            }
         }
      }

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

         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 -> 63;
               case 1 -> 13;
               case 2 -> 10;
               case 3 -> 20;
               case 4 -> 81;
               case 5 -> 117;
               default -> 53;
            });
         }

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

   private static final class ValueException extends Exception {
      static final long serialVersionUID = 8635401207380239417L;

      public ValueException(String var1) {
         super(var1);
      }
   }
}
