package com.l7tech.external.assertions.gatewaymanagement.server;

import com.l7tech.gateway.api.ManagedObjectFactory;
import com.l7tech.gateway.api.SecurityZoneMO;
import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.SecurityZone;
import com.l7tech.server.security.rbac.RbacServices;
import com.l7tech.server.security.rbac.SecurityFilter;
import com.l7tech.server.security.rbac.SecurityZoneManager;
import java.util.ArrayList;
import org.springframework.transaction.PlatformTransactionManager;

@ResourceFactory.ResourceType(type = SecurityZoneMO.class)
public class SecurityZoneResourceFactory extends EntityManagerResourceFactory<SecurityZoneMO, SecurityZone, EntityHeader> {
   private SecurityZoneManager o;
   private static final String[] p;

   public SecurityZoneResourceFactory(RbacServices var1, SecurityFilter var2, PlatformTransactionManager var3, SecurityZoneManager var4) {
      super(false, true, false, var1, var2, var3, var4);
      this.o = var4;
   }

   public SecurityZoneMO asResource(SecurityZone var1) {
      SecurityZoneMO var2 = ManagedObjectFactory.createSecurityZone();
      var2.setId(var1.getId());
      var2.setVersion(var1.getVersion());
      var2.setName(var1.getName());
      var2.setDescription(var1.getDescription());
      EntityType[] var3 = new EntityType[var1.getPermittedEntityTypes().size()];
      var3 = var1.getPermittedEntityTypes().toArray(var3);
      ArrayList var4 = new ArrayList();

      for (EntityType var8 : var3) {
         var4.add(var8.toString());
      }

      var2.setPermittedEntityTypes(var4);
      return var2;
   }

   public SecurityZone fromResource(Object param1, boolean param2) throws ResourceFactory.InvalidResourceException {
      // $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:
      // 000: aload 1
      // 001: instanceof com/l7tech/gateway/api/SecurityZoneMO
      // 004: ifne 01b
      // 007: new com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException
      // 00a: dup
      // 00b: getstatic com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType.UNEXPECTED_TYPE Lcom/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType;
      // 00e: getstatic com/l7tech/external/assertions/gatewaymanagement/server/SecurityZoneResourceFactory.p [Ljava/lang/String;
      // 011: bipush 1
      // 012: aaload
      // 013: invokespecial com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException.<init> (Lcom/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType;Ljava/lang/String;)V
      // 016: athrow
      // 017: invokestatic com/l7tech/external/assertions/gatewaymanagement/server/SecurityZoneResourceFactory.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 01a: athrow
      // 01b: aload 1
      // 01c: checkcast com/l7tech/gateway/api/SecurityZoneMO
      // 01f: astore 3
      // 020: new com/l7tech/objectmodel/SecurityZone
      // 023: dup
      // 024: invokespecial com/l7tech/objectmodel/SecurityZone.<init> ()V
      // 027: astore 4
      // 029: aload 4
      // 02b: aload 3
      // 02c: invokevirtual com/l7tech/gateway/api/SecurityZoneMO.getName ()Ljava/lang/String;
      // 02f: invokevirtual com/l7tech/objectmodel/SecurityZone.setName (Ljava/lang/String;)V
      // 032: aload 4
      // 034: aload 3
      // 035: invokevirtual com/l7tech/gateway/api/SecurityZoneMO.getDescription ()Ljava/lang/String;
      // 038: invokevirtual com/l7tech/objectmodel/SecurityZone.setDescription (Ljava/lang/String;)V
      // 03b: aload 3
      // 03c: invokevirtual com/l7tech/gateway/api/SecurityZoneMO.getPermittedEntityTypes ()Ljava/util/List;
      // 03f: ifnull 101
      // 042: aload 3
      // 043: invokevirtual com/l7tech/gateway/api/SecurityZoneMO.getPermittedEntityTypes ()Ljava/util/List;
      // 046: invokeinterface java/util/List.size ()I 1
      // 04b: ifle 101
      // 04e: goto 055
      // 051: invokestatic com/l7tech/external/assertions/gatewaymanagement/server/SecurityZoneResourceFactory.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 054: athrow
      // 055: new java/util/ArrayList
      // 058: dup
      // 059: invokespecial java/util/ArrayList.<init> ()V
      // 05c: astore 5
      // 05e: aload 3
      // 05f: invokevirtual com/l7tech/gateway/api/SecurityZoneMO.getPermittedEntityTypes ()Ljava/util/List;
      // 062: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 067: astore 6
      // 069: aload 6
      // 06b: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 070: ifeq 0f1
      // 073: aload 6
      // 075: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 07a: checkcast java/lang/String
      // 07d: astore 7
      // 07f: aload 7
      // 081: invokestatic com/l7tech/objectmodel/EntityType.valueOf (Ljava/lang/String;)Lcom/l7tech/objectmodel/EntityType;
      // 084: astore 8
      // 086: goto 0a7
      // 089: astore 9
      // 08b: new com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException
      // 08e: dup
      // 08f: getstatic com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType.INVALID_VALUES Lcom/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType;
      // 092: aload 7
      // 094: getstatic com/l7tech/external/assertions/gatewaymanagement/server/SecurityZoneResourceFactory.p [Ljava/lang/String;
      // 097: astore 10
      // 099: aload 10
      // 09b: bipush 3
      // 09c: aaload
      // 09d: swap
      // 09e: 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" ]
      // 0a3: invokespecial com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException.<init> (Lcom/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType;Ljava/lang/String;)V
      // 0a6: athrow
      // 0a7: aload 8
      // 0a9: invokevirtual com/l7tech/objectmodel/EntityType.isSecurityZoneable ()Z
      // 0ac: ifne 0c1
      // 0af: getstatic com/l7tech/objectmodel/EntityType.ANY Lcom/l7tech/objectmodel/EntityType;
      // 0b2: aload 8
      // 0b4: invokevirtual com/l7tech/objectmodel/EntityType.equals (Ljava/lang/Object;)Z
      // 0b7: ifeq 0d2
      // 0ba: goto 0c1
      // 0bd: invokestatic com/l7tech/external/assertions/gatewaymanagement/server/SecurityZoneResourceFactory.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0c0: athrow
      // 0c1: aload 5
      // 0c3: aload 8
      // 0c5: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 0ca: pop
      // 0cb: goto 0ee
      // 0ce: invokestatic com/l7tech/external/assertions/gatewaymanagement/server/SecurityZoneResourceFactory.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0d1: athrow
      // 0d2: new com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException
      // 0d5: dup
      // 0d6: getstatic com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType.INVALID_VALUES Lcom/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType;
      // 0d9: aload 7
      // 0db: getstatic com/l7tech/external/assertions/gatewaymanagement/server/SecurityZoneResourceFactory.p [Ljava/lang/String;
      // 0de: astore 10
      // 0e0: aload 10
      // 0e2: bipush 0
      // 0e3: aaload
      // 0e4: swap
      // 0e5: 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" ]
      // 0ea: invokespecial com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException.<init> (Lcom/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType;Ljava/lang/String;)V
      // 0ed: athrow
      // 0ee: goto 069
      // 0f1: aload 4
      // 0f3: invokevirtual com/l7tech/objectmodel/SecurityZone.getPermittedEntityTypes ()Ljava/util/Set;
      // 0f6: aload 5
      // 0f8: invokeinterface java/util/Set.addAll (Ljava/util/Collection;)Z 2
      // 0fd: pop
      // 0fe: goto 111
      // 101: new com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException
      // 104: dup
      // 105: getstatic com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType.INVALID_VALUES Lcom/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType;
      // 108: getstatic com/l7tech/external/assertions/gatewaymanagement/server/SecurityZoneResourceFactory.p [Ljava/lang/String;
      // 10b: bipush 2
      // 10c: aaload
      // 10d: invokespecial com/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException.<init> (Lcom/l7tech/external/assertions/gatewaymanagement/server/ResourceFactory$InvalidResourceException$ExceptionType;Ljava/lang/String;)V
      // 110: athrow
      // 111: aload 4
      // 113: areturn
      // try (20 -> 35): 36 java/lang/IllegalArgumentException
      // try (0 -> 11): 11 java/lang/IllegalArgumentException
      // try (53 -> 56): 57 java/lang/IllegalArgumentException
      // try (71 -> 78): 79 java/lang/IllegalArgumentException
      // try (74 -> 86): 86 java/lang/IllegalArgumentException
   }

   protected void updateEntity(SecurityZone var1, SecurityZone var2) throws ResourceFactory.InvalidResourceException {
      var1.setName(var2.getName());
      var1.setDescription(var2.getDescription());
      var1.setPermittedEntityTypes(var2.getPermittedEntityTypes());
   }

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

   static {
      String[] var5 = new String[4];
      int var3 = 0;
      String var2 = "v\u0017@Q&Td?\nSS?Oik\u0000\u0016J%Se~\u001bZUjXnk\u0010BIj\u0016z\u0001FU)Ie{YEU)Hrv\rO\u00100Rnz";
      int var4 = "v\u0017@Q&Td?\nSS?Oik\u0000\u0016J%Se~\u001bZUjXnk\u0010BIj\u0016z\u0001FU)Ie{YEU)Hrv\rO\u00100Rnz".length();
      char var1 = '!';
      int var7 = -1;

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

         while (true) {
            String var8 = c(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     p = var5;
                     return;
                  }

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

                  var2 = "L\"pr\u0005+FL=mo\b\u007fSMoeh\bbBPot\u007f\fnE!@!vg\u0010bR\t<ee\ty_]6 |\u0013eSH-lc\\nX]&t\u007f\\";
                  var4 = "L\"pr\u0005+FL=mo\b\u007fSMoeh\bbBPot\u007f\fnE!@!vg\u0010bR\t<ee\ty_]6 |\u0013eSH-lc\\nX]&t\u007f\\".length();
                  var1 = 28;
                  var7 = -1;
            }

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

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

      return var10000;
   }

   private static String c(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 -> 9;
            case 1 -> 111;
            case 2 -> 32;
            case 3 -> 38;
            case 4 -> 92;
            case 5 -> 43;
            default -> 22;
         });
      }

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