package com.l7tech.external.assertions.gatewaygraphql.server.error;

import com.l7tech.objectmodel.EntityType;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;

public enum GatewayEntityError {
   READ_ALL_QUERY,
   READ_QUERY,
   CREATE_MUTATION,
   UPDATE_MUTATION,
   CREATE_UPDATE_MUTATION,
   DELETE_MUTATION;

   private final String errorMessage;
   public static final String MISSING_SUB_ERROR;
   private static final String[] a;

   GatewayEntityError(String var3) {
      this.errorMessage = var3;
   }

   public String getBasicErrorMessage() {
      return this.errorMessage;
   }

   public static GatewayEntityMutationException newMutationException(EntityType var0, GatewayEntityError var1, String var2) {
      return newMutationException(var0, var1, var2, null);
   }

   public static GatewayEntityMutationException newMutationException(EntityType var0, GatewayEntityError var1, String var2, Throwable var3) {
      GatewayEntityMutationException var10000;
      GatewayEntityMutationException var10001;
      EntityType var10002;
      String var10003;
      Object[] var10004;
      Object[] var10005;
      byte var10006;
      String var10007;
      label16: {
         try {
            var10000 = new GatewayEntityMutationException;
            var10001 = var10000;
            var10002 = var0;
            var10003 = var1.getBasicErrorMessage();
            var10004 = new Object[]{var0.name(), null};
            var10005 = var10004;
            var10006 = 1;
            if (StringUtils.isNotEmpty(var2)) {
               var10007 = a[14] + var2;
               break label16;
            }
         } catch (GatewayEntityMutationException var4) {
            throw a(var4);
         }

         var10007 = "";
      }

      var10005[var10006] = var10007;
      var10001./* $VF: Unable to resugar constructor */<init>(var10002, String.format(var10003, var10004), var3);
      return var10000;
   }

   public static String getCauseMessage(@NotNull Throwable param0) {
      // $VF: Couldn't be decompiled
      // 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!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: ifnonnull 0f
      // 04: bipush 0
      // 05: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.$$$reportNull$$$0 (I)V
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a (Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;)Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;
      // 0e: athrow
      // 0f: aload 0
      // 10: instanceof org/springframework/dao/DataIntegrityViolationException
      // 13: ifeq 2f
      // 16: aload 0
      // 17: invokevirtual java/lang/Throwable.getCause ()Ljava/lang/Throwable;
      // 1a: instanceof org/hibernate/exception/ConstraintViolationException
      // 1d: ifeq 2f
      // 20: goto 27
      // 23: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a (Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;)Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;
      // 26: athrow
      // 27: bipush 1
      // 28: goto 30
      // 2b: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a (Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;)Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;
      // 2e: athrow
      // 2f: bipush 0
      // 30: istore 1
      // 31: aload 0
      // 32: invokevirtual java/lang/Throwable.getCause ()Ljava/lang/Throwable;
      // 35: instanceof org/springframework/dao/DataIntegrityViolationException
      // 38: ifeq 57
      // 3b: aload 0
      // 3c: invokevirtual java/lang/Throwable.getCause ()Ljava/lang/Throwable;
      // 3f: invokevirtual java/lang/Throwable.getCause ()Ljava/lang/Throwable;
      // 42: instanceof org/hibernate/exception/ConstraintViolationException
      // 45: ifeq 57
      // 48: goto 4f
      // 4b: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a (Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;)Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;
      // 4e: athrow
      // 4f: bipush 1
      // 50: goto 58
      // 53: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a (Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;)Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;
      // 56: athrow
      // 57: bipush 0
      // 58: istore 2
      // 59: iload 1
      // 5a: ifne 68
      // 5d: iload 2
      // 5e: ifeq 70
      // 61: goto 68
      // 64: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a (Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;)Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;
      // 67: athrow
      // 68: bipush 1
      // 69: goto 71
      // 6c: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a (Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;)Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;
      // 6f: athrow
      // 70: bipush 0
      // 71: istore 3
      // 72: iload 3
      // 73: ifeq a7
      // 76: iload 1
      // 77: ifeq 8f
      // 7a: goto 81
      // 7d: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a (Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;)Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;
      // 80: athrow
      // 81: aload 0
      // 82: invokevirtual java/lang/Throwable.getCause ()Ljava/lang/Throwable;
      // 85: invokevirtual java/lang/Throwable.getMessage ()Ljava/lang/String;
      // 88: goto 99
      // 8b: invokestatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a (Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;)Lcom/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException;
      // 8e: athrow
      // 8f: aload 0
      // 90: invokevirtual java/lang/Throwable.getCause ()Ljava/lang/Throwable;
      // 93: invokevirtual java/lang/Throwable.getCause ()Ljava/lang/Throwable;
      // 96: invokevirtual java/lang/Throwable.getMessage ()Ljava/lang/String;
      // 99: getstatic com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityError.a [Ljava/lang/String;
      // 9c: bipush 0
      // 9d: aaload
      // 9e: swap
      // 9f: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // a4: goto ab
      // a7: aload 0
      // a8: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // ab: areturn
      // try (0 -> 4): 5 com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException
      // try (7 -> 14): 15 com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException
      // try (10 -> 19): 19 com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException
      // try (23 -> 32): 33 com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException
      // try (27 -> 37): 37 com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException
      // try (41 -> 45): 46 com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException
      // try (43 -> 50): 50 com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException
      // try (54 -> 58): 59 com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException
      // try (56 -> 65): 65 com/l7tech/external/assertions/gatewaygraphql/server/error/GatewayEntityMutationException
   }

   public static String getErrorMessage(EntityType var0, GatewayEntityError var1, Throwable var2) {
      String var10000;
      Object[] var10001;
      Object[] var10002;
      byte var10003;
      String var10004;
      label16: {
         try {
            var10000 = var1.getBasicErrorMessage();
            var10001 = new Object[]{var0.name(), null};
            var10002 = var10001;
            var10003 = 1;
            if (var2 != null) {
               var10004 = a[9] + getCauseMessage(var2);
               break label16;
            }
         } catch (GatewayEntityMutationException var3) {
            throw a(var3);
         }

         var10004 = "";
      }

      var10002[var10003] = var10004;
      return String.format(var10000, var10001);
   }

   public static String getErrorMessage(EntityType var0, GatewayEntityError var1, String var2) {
      String var10000;
      Object[] var10001;
      Object[] var10002;
      byte var10003;
      String var10004;
      label16: {
         try {
            var10000 = var1.getBasicErrorMessage();
            var10001 = new Object[]{var0.name(), null};
            var10002 = var10001;
            var10003 = 1;
            if (var2 != null) {
               var10004 = a[14] + var2;
               break label16;
            }
         } catch (GatewayEntityMutationException var3) {
            throw a(var3);
         }

         var10004 = "";
      }

      var10002[var10003] = var10004;
      return String.format(var10000, var10001);
   }

   public static String getReadAllQueryErrorMessage(EntityType var0, Throwable var1) {
      return getErrorMessage(var0, READ_ALL_QUERY, var1);
   }

   public static String getReadAllQueryErrorMessage(EntityType var0, String var1) {
      return getErrorMessage(var0, READ_ALL_QUERY, var1);
   }

   public static String getReadQueryErrorMessage(EntityType var0, Throwable var1) {
      return getErrorMessage(var0, READ_QUERY, var1);
   }

   public static String getReadQueryErrorMessage(EntityType var0, String var1) {
      return getErrorMessage(var0, READ_QUERY, var1);
   }

   public static String getCreateMutationErrorMessage(EntityType var0, Throwable var1) {
      return getErrorMessage(var0, CREATE_MUTATION, var1);
   }

   public static GatewayEntityMutationException newCreateMutationException(EntityType var0, String var1) {
      return newMutationException(var0, CREATE_MUTATION, var1);
   }

   public static String getUpdateMutationErrorMessage(EntityType var0, Throwable var1) {
      return getErrorMessage(var0, UPDATE_MUTATION, var1);
   }

   public static String getCreateUpdateMutationErrorMessage(EntityType var0, Throwable var1) {
      return getErrorMessage(var0, CREATE_UPDATE_MUTATION, var1);
   }

   public static GatewayEntityMutationException newCreateUpdateMutationException(EntityType var0, String var1) {
      return newMutationException(var0, CREATE_UPDATE_MUTATION, var1);
   }

   public static String getDeleteMutationErrorMessage(EntityType var0, Throwable var1) {
      return getErrorMessage(var0, DELETE_MUTATION, var1);
   }

   // $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[] var5 = new String[19];
      int var3 = 0;
      String var2 = "<[\u0006 9W\u00066Z\u001cs;L\b3U\u001c:\"KGr\u0014\u000f\u001bq$\u0016\u0019`8\u0012a<\u0012\u0019l(\u0011\u000e\rq)\u0017\u0012d+\u0013k9\u0006\bw>\u001a\u001aF\u001a<?\u0005\u0004-Q\t'$K\u0000\u007f\u0011\u001bs(K\u00136@\u0011v>\u000f\u001cf-\u0012\u0019`8\u0012a<\u0012\u0019l(\u0011\u001a\u001aF\u001a<?\u0005\u0012/P\t'$K\u0000\u007f\u0011\u001bs(K\u00136@\u0011v>\u000f8Q\u001c\u0010,P\u0014:y\r >D\u0000:>\u001eF\u000f& @\t+\u0014\u000e<?\u0005'\u0011[\u001c\u001d8I\u000b\u007fD\t!,H\u0002+Q\u001asj\u0000\u0014x\u0014\u00075m\u0000\u0014q\u0011\u001bs P\u0014+\u0014\u0006<9\u0005\u0005:\u0014\u0006&!IM<[\u0005|!\u0012\u0013:W\u0000|(]\u0013:F\u00062!\n\u0006,G\r!9L\b1GG4,Q\u0002(U\u00114?D\u00177E\u0004|>@\u0015)Q\u001a|(W\u00150FG\u0014,Q\u0002(U\u0011\u0016#Q\u000e+M-!?J\u0015\u0002s\u0014\u001c\u001aF\u001a<?\u0005\u0015:@\u001a:(S\u000e1SHv>\u0005\u00021@\u0001'4\u0000\u0014\u000f\nd,\u0012\u0019`8\u0012a<\u0012\u0019l(\u0011&\u001aF\u001a<?\u0005\u0004-Q\t'$K\u0000\u007f[\u001as8U\u0003>@\u0001=*\u0005B,\u0014\r=9L\u0013&\u0011\u001b\u001e\u001aF\u001a<?\u0005\u0015:@\u001a:(S\u000e1SHv>\u0005\u00021@\u0001'$@\u0014zG\u0002s\u0014\u0016\u001cf-\u0012\u0019`8\nd,\u0012\u0019`8\u0012a<\u0012\u0019l(\u0011\n\rq)\u0017\u0012t2\u001af1";
      int var4 = "<[\u0006 9W\u00066Z\u001cs;L\b3U\u001c:\"KGr\u0014\u000f\u001bq$\u0016\u0019`8\u0012a<\u0012\u0019l(\u0011\u000e\rq)\u0017\u0012d+\u0013k9\u0006\bw>\u001a\u001aF\u001a<?\u0005\u0004-Q\t'$K\u0000\u007f\u0011\u001bs(K\u00136@\u0011v>\u000f\u001cf-\u0012\u0019`8\u0012a<\u0012\u0019l(\u0011\u001a\u001aF\u001a<?\u0005\u0012/P\t'$K\u0000\u007f\u0011\u001bs(K\u00136@\u0011v>\u000f8Q\u001c\u0010,P\u0014:y\r >D\u0000:>\u001eF\u000f& @\t+\u0014\u000e<?\u0005'\u0011[\u001c\u001d8I\u000b\u007fD\t!,H\u0002+Q\u001asj\u0000\u0014x\u0014\u00075m\u0000\u0014q\u0011\u001bs P\u0014+\u0014\u0006<9\u0005\u0005:\u0014\u0006&!IM<[\u0005|!\u0012\u0013:W\u0000|(]\u0013:F\u00062!\n\u0006,G\r!9L\b1GG4,Q\u0002(U\u00114?D\u00177E\u0004|>@\u0015)Q\u001a|(W\u00150FG\u0014,Q\u0002(U\u0011\u0016#Q\u000e+M-!?J\u0015\u0002s\u0014\u001c\u001aF\u001a<?\u0005\u0015:@\u001a:(S\u000e1SHv>\u0005\u00021@\u0001'4\u0000\u0014\u000f\nd,\u0012\u0019`8\u0012a<\u0012\u0019l(\u0011&\u001aF\u001a<?\u0005\u0004-Q\t'$K\u0000\u007f[\u001as8U\u0003>@\u0001=*\u0005B,\u0014\r=9L\u0013&\u0011\u001b\u001e\u001aF\u001a<?\u0005\u0015:@\u001a:(S\u000e1SHv>\u0005\u00021@\u0001'$@\u0014zG\u0002s\u0014\u0016\u001cf-\u0012\u0019`8\nd,\u0012\u0019`8\u0012a<\u0012\u0019l(\u0011\n\rq)\u0017\u0012t2\u001af1"
         .length();
      char var1 = 23;
      int var7 = -1;

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

         while (true) {
            String var9 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     a = var5;
                     MISSING_SUB_ERROR = a[17];
                     String[] var8 = a;
                     READ_ALL_QUERY = new GatewayEntityError(var8[13]);
                     READ_QUERY = new GatewayEntityError(var8[10]);
                     CREATE_MUTATION = new GatewayEntityError(var8[3]);
                     UPDATE_MUTATION = new GatewayEntityError(var8[5]);
                     CREATE_UPDATE_MUTATION = new GatewayEntityError(var8[12]);
                     DELETE_MUTATION = new GatewayEntityError(var8[18]);
                     return;
                  }

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

                  var2 = "<\\\u001a<?ZA=]\u000b&kM\u000e-\u0012\u000b-\"P\u0015\u001a\u001c@\u001c:9\u0003\u0005<^\u000b!\"M\u0006y\u0017\u001du.M\u00150F\u0017p8";
                  var4 = "<\\\u001a<?ZA=]\u000b&kM\u000e-\u0012\u000b-\"P\u0015\u001a\u001c@\u001c:9\u0003\u0005<^\u000b!\"M\u0006y\u0017\u001du.M\u00150F\u0017p8"
                     .length();
                  var1 = 21;
                  var7 = -1;
            }

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

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

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

      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 -> 34;
            case 1 -> 73;
            case 2 -> 21;
            case 3 -> 46;
            case 4 -> 48;
            case 5 -> 88;
            default -> 26;
         });
      }

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