package com.l7tech.server.service;

import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.gateway.common.service.ServiceHeader;
import com.l7tech.objectmodel.DeleteException;
import com.l7tech.objectmodel.EntityHeaderSet;
import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.SaveException;
import com.l7tech.objectmodel.StaleUpdateException;
import com.l7tech.objectmodel.UpdateException;
import com.l7tech.objectmodel.EntityManager.UniqueType;
import com.l7tech.objectmodel.folder.Folder;
import com.l7tech.policy.Policy;
import com.l7tech.server.FolderSupportHibernateEntityManager;
import com.l7tech.server.event.system.ServiceCacheEvent;
import com.l7tech.server.security.rbac.RoleManager;
import com.l7tech.util.Config;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.ExceptionUtils;
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
import javax.wsdl.WSDLException;
import org.hibernate.StaleObjectStateException;
import org.jetbrains.annotations.NotNull;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ServiceManagerImp extends FolderSupportHibernateEntityManager<PublishedService, ServiceHeader> implements ServiceManager {
   private static final Logger n;
   private static final Pattern o;
   private final RoleManager p;
   private final ServiceAliasManager q;
   private final Config r;
   static final String s;
   private static final String[] t;

   public ServiceManagerImp(RoleManager var1, ServiceAliasManager var2, @NotNull Config var3) {
      if (var3 == null) {
         c(0);
      }

      super();
      this.p = var1;
      this.q = var2;
      this.r = var3;
   }

   protected ServiceHeader newHeader(PublishedService var1) {
      return new ServiceHeader(var1);
   }

   @Transactional(propagation = Propagation.SUPPORTS)
   @Override
   public String resolveWsdlTarget(String var1) {
      throw new UnsupportedOperationException();
   }

   @Override
   public Collection<ServiceHeader> findAllHeaders(boolean var1) throws FindException {
      EntityHeaderSet var2 = super.findAllHeaders();

      try {
         if (!var1) {
            return var2;
         }
      } catch (FindException var3) {
         throw a(var3);
      }

      return this.q.expandEntityWithAliases(var2);
   }

   @Override
   public Collection<PublishedService> findByRoutingUri(String var1) throws FindException {
      return this.findByPropertyMaybeNull(t[30], var1);
   }

   @Override
   public Collection<PublishedService> findByName(String var1) throws FindException {
      return this.findByPropertyMaybeNull(t[27], var1);
   }

   public Collection<ServiceHeader> findHeaders(int var1, int var2, Map<String, String> var3) throws FindException {
      Map var4 = var3;
      String[] var6 = t;
      String var5 = (String)var3.get(var6[5]);

      label18: {
         try {
            if (var5 == null || var5.isEmpty()) {
               break label18;
            }
         } catch (FindException var7) {
            throw a(var7);
         }

         var4 = new HashMap(var3);
         var6 = t;
         var4.put(var6[2], var5);
         var4.put(var6[11], var5);
      }

      var4.remove(t[4]);
      return this.doFindHeaders(var1, var2, var4, true);
   }

   public Goid save(PublishedService var1) throws SaveException {
      Policy var2 = var1.getPolicy();
      var1.setPolicy(null);
      Goid var3 = super.save(var1);

      label39: {
         WSDLException var4;
         try {
            n.info(t[22] + var3);
            var1.setGoid(var3);
            if (!var1.isSoap()) {
               break label39;
            }

            try {
               var1.parsedWsdl();
               break label39;
            } catch (WSDLException var9) {
               var4 = var9;
            }
         } catch (RuntimeException var10) {
            throw a(var10);
         }

         String var10002 = ExceptionUtils.getMessage(var4);
         String[] var6 = t;
         throw new SaveException(var6[1] + var10002);
      }

      try {
         this.a(var1, var2);
         this.b(var1, var2);
         Serializable var11 = this.getHibernateTemplate().save(var2);

         try {
            if (!(var11 instanceof Goid)) {
               throw new SaveException(t[20] + var11.getClass().getName() + t[9]);
            }
         } catch (WSDLException var7) {
            throw a(var7);
         }

         var2.setGoid((Goid)var11);
         var1.setPolicy(var2);
         this.getHibernateTemplate().update(var1);
      } catch (RuntimeException var8) {
         String var5 = t[19];
         n.log(Level.WARNING, var5, var8);
         throw new SaveException(var5, var8);
      }

      this.applicationContext.publishEvent(new ServiceCacheEvent.Updated(var1));
      return var1.getGoid();
   }

   public void update(PublishedService var1) throws UpdateException {
      label46: {
         WSDLException var2;
         try {
            if (!var1.isSoap()) {
               break label46;
            }

            try {
               var1.parsedWsdl();
               break label46;
            } catch (WSDLException var7) {
               var2 = var7;
            }
         } catch (UpdateException var8) {
            throw a(var8);
         }

         String var10002 = ExceptionUtils.getMessage(var2);
         String[] var3 = t;
         throw new UpdateException(var3[21] + var10002);
      }

      this.a(var1, var1.getPolicy());
      this.b(var1, var1.getPolicy());

      try {
         super.update(var1);
      } catch (UpdateException var6) {
         UpdateException var9 = var6;

         try {
            if (ExceptionUtils.causedBy(var9, StaleObjectStateException.class)) {
               throw new StaleUpdateException(t[6], var9);
            }
         } catch (WSDLException var5) {
            throw a(var5);
         }

         throw var6;
      }

      try {
         this.p.renameEntitySpecificRoles(EntityType.SERVICE, var1, o);
      } catch (FindException var4) {
         throw new UpdateException(t[0], var4);
      }

      this.applicationContext.publishEvent(new ServiceCacheEvent.Updated(var1));
   }

   public void updateFolder(Goid var1, Folder var2) throws UpdateException {
      this.setParentFolderForEntity(var1, var2);
   }

   public void updateFolder(PublishedService var1, Folder var2) throws UpdateException {
      try {
         if (var1 == null) {
            throw new UpdateException(t[29]);
         }
      } catch (UpdateException var3) {
         throw a(var3);
      }

      this.setParentFolderForEntity(var1.getGoid(), var2);
   }

   @Override
   public void delete(Goid var1) throws DeleteException, FindException {
      this.findAndDelete(var1);
   }

   public void delete(PublishedService var1) throws DeleteException {
      super.delete(var1);
      Logger var10000 = n;
      String var10001 = var1.getName();
      String var10002 = String.valueOf(var1.getGoid());
      String[] var2 = t;
      var10000.info(var2[17] + var10001 + var2[13] + var10002);
      this.applicationContext.publishEvent(new ServiceCacheEvent.Deleted(var1));
   }

   @Transactional(propagation = Propagation.SUPPORTS)
   public Class<PublishedService> getImpClass() {
      return PublishedService.class;
   }

   @Transactional(propagation = Propagation.SUPPORTS)
   @Override
   public Class<PublishedService> getInterfaceClass() {
      return PublishedService.class;
   }

   @Transactional(propagation = Propagation.SUPPORTS)
   @Override
   public String getTableName() {
      return t[26];
   }

   @Transactional(propagation = Propagation.SUPPORTS)
   @Override
   public EntityType getEntityType() {
      return EntityType.SERVICE;
   }

   @Override
   protected UniqueType getUniqueType() {
      return UniqueType.NONE;
   }

   public void createRoles(PublishedService var1) throws SaveException {
      try {
         if (this.r.getBooleanProperty(t[8], true)) {
            this.addManageServiceRole(var1);
         }
      } catch (SaveException var2) {
         throw a(var2);
      }
   }

   public void updateRoles(PublishedService var1) throws UpdateException {
   }

   @Override
   public void addManageServiceRole(PublishedService param1) throws SaveException {
      // $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: invokestatic com/l7tech/server/util/JaasUtils.getCurrentUser ()Lcom/l7tech/identity/User;
      // 003: astore 2
      // 004: aload 1
      // 005: invokevirtual com/l7tech/gateway/common/service/PublishedService.getName ()Ljava/lang/String;
      // 008: astore 3
      // 009: aload 3
      // 00a: bipush 50
      // 00c: invokestatic com/l7tech/util/TextUtils.truncStringMiddle (Ljava/lang/String;I)Ljava/lang/String;
      // 00f: astore 3
      // 010: getstatic com/l7tech/server/service/ServiceManagerImp.t [Ljava/lang/String;
      // 013: astore 8
      // 015: aload 8
      // 017: bipush 28
      // 019: aaload
      // 01a: bipush 2
      // 01b: anewarray 546
      // 01e: dup
      // 01f: bipush 0
      // 020: aload 3
      // 021: aastore
      // 022: dup
      // 023: bipush 1
      // 024: aload 1
      // 025: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 028: aastore
      // 029: invokestatic java/text/MessageFormat.format (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
      // 02c: astore 4
      // 02e: getstatic com/l7tech/server/service/ServiceManagerImp.n Ljava/util/logging/Logger;
      // 031: aload 4
      // 033: aload 8
      // 035: bipush 10
      // 037: aaload
      // 038: swap
      // 039: 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" ]
      // 03e: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 041: new com/l7tech/gateway/common/security/rbac/Role
      // 044: dup
      // 045: invokespecial com/l7tech/gateway/common/security/rbac/Role.<init> ()V
      // 048: astore 5
      // 04a: aload 5
      // 04c: aload 4
      // 04e: invokevirtual com/l7tech/gateway/common/security/rbac/Role.setName (Ljava/lang/String;)V
      // 051: aload 5
      // 053: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 056: getstatic com/l7tech/objectmodel/EntityType.SERVICE Lcom/l7tech/objectmodel/EntityType;
      // 059: aload 1
      // 05a: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 05d: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 060: aload 5
      // 062: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 065: getstatic com/l7tech/objectmodel/EntityType.SERVICE Lcom/l7tech/objectmodel/EntityType;
      // 068: aload 1
      // 069: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 06c: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 06f: aload 5
      // 071: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 074: getstatic com/l7tech/objectmodel/EntityType.SERVICE Lcom/l7tech/objectmodel/EntityType;
      // 077: aload 1
      // 078: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 07b: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 07e: aload 5
      // 080: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 083: getstatic com/l7tech/objectmodel/EntityType.POLICY Lcom/l7tech/objectmodel/EntityType;
      // 086: aload 1
      // 087: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 08a: invokevirtual com/l7tech/policy/Policy.getId ()Ljava/lang/String;
      // 08d: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 090: aload 5
      // 092: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 095: getstatic com/l7tech/objectmodel/EntityType.POLICY Lcom/l7tech/objectmodel/EntityType;
      // 098: aload 1
      // 099: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 09c: invokevirtual com/l7tech/policy/Policy.getId ()Ljava/lang/String;
      // 09f: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 0a2: aload 5
      // 0a4: getstatic com/l7tech/objectmodel/EntityType.POLICY Lcom/l7tech/objectmodel/EntityType;
      // 0a7: aload 1
      // 0a8: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 0ab: invokevirtual com/l7tech/policy/Policy.getId ()Ljava/lang/String;
      // 0ae: getstatic com/l7tech/gateway/common/security/rbac/OtherOperationName.DEBUGGER Lcom/l7tech/gateway/common/security/rbac/OtherOperationName;
      // 0b1: invokevirtual com/l7tech/gateway/common/security/rbac/OtherOperationName.getOperationName ()Ljava/lang/String;
      // 0b4: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityOtherPermission (Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 0b7: aload 5
      // 0b9: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 0bc: getstatic com/l7tech/objectmodel/EntityType.CLUSTER_INFO Lcom/l7tech/objectmodel/EntityType;
      // 0bf: aconst_null
      // 0c0: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 0c3: aload 5
      // 0c5: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 0c8: getstatic com/l7tech/objectmodel/EntityType.METRICS_BIN Lcom/l7tech/objectmodel/EntityType;
      // 0cb: getstatic com/l7tech/gateway/common/service/MetricsBin.ATTR_SERVICE_GOID Ljava/lang/String;
      // 0ce: aload 1
      // 0cf: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 0d2: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 0d5: aload 5
      // 0d7: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 0da: getstatic com/l7tech/objectmodel/EntityType.AUDIT_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 0dd: getstatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.ATTR_SERVICE_GOID Ljava/lang/String;
      // 0e0: aload 1
      // 0e1: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 0e4: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 0e7: aload 5
      // 0e9: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 0ec: getstatic com/l7tech/objectmodel/EntityType.SERVICE_USAGE Lcom/l7tech/objectmodel/EntityType;
      // 0ef: getstatic com/l7tech/gateway/common/cluster/ServiceUsage.ATTR_SERVICE_GOID Ljava/lang/String;
      // 0f2: aload 1
      // 0f3: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 0f6: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 0f9: aload 5
      // 0fb: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 0fe: getstatic com/l7tech/objectmodel/EntityType.SAMPLE_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 101: getstatic com/l7tech/gateway/common/service/SampleMessage.ATTR_SERVICE_GOID Ljava/lang/String;
      // 104: aload 1
      // 105: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 108: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 10b: aload 5
      // 10d: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 110: getstatic com/l7tech/objectmodel/EntityType.SAMPLE_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 113: getstatic com/l7tech/gateway/common/service/SampleMessage.ATTR_SERVICE_GOID Ljava/lang/String;
      // 116: aload 1
      // 117: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 11a: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 11d: aload 5
      // 11f: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 122: getstatic com/l7tech/objectmodel/EntityType.SAMPLE_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 125: getstatic com/l7tech/gateway/common/service/SampleMessage.ATTR_SERVICE_GOID Ljava/lang/String;
      // 128: aload 1
      // 129: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 12c: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 12f: aload 5
      // 131: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 134: getstatic com/l7tech/objectmodel/EntityType.SAMPLE_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 137: getstatic com/l7tech/gateway/common/service/SampleMessage.ATTR_SERVICE_GOID Ljava/lang/String;
      // 13a: aload 1
      // 13b: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 13e: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 141: aload 5
      // 143: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 146: getstatic com/l7tech/objectmodel/EntityType.ID_PROVIDER_CONFIG Lcom/l7tech/objectmodel/EntityType;
      // 149: aconst_null
      // 14a: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 14d: aload 5
      // 14f: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 152: getstatic com/l7tech/objectmodel/EntityType.USER Lcom/l7tech/objectmodel/EntityType;
      // 155: aconst_null
      // 156: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 159: aload 5
      // 15b: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 15e: getstatic com/l7tech/objectmodel/EntityType.GROUP Lcom/l7tech/objectmodel/EntityType;
      // 161: aconst_null
      // 162: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 165: aload 5
      // 167: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 16a: getstatic com/l7tech/objectmodel/EntityType.JMS_CONNECTION Lcom/l7tech/objectmodel/EntityType;
      // 16d: aconst_null
      // 16e: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 171: aload 5
      // 173: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 176: getstatic com/l7tech/objectmodel/EntityType.JMS_ENDPOINT Lcom/l7tech/objectmodel/EntityType;
      // 179: aconst_null
      // 17a: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 17d: aload 5
      // 17f: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 182: getstatic com/l7tech/objectmodel/EntityType.JDBC_CONNECTION Lcom/l7tech/objectmodel/EntityType;
      // 185: aconst_null
      // 186: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 189: aload 5
      // 18b: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 18e: getstatic com/l7tech/objectmodel/EntityType.HTTP_CONFIGURATION Lcom/l7tech/objectmodel/EntityType;
      // 191: aconst_null
      // 192: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 195: aload 5
      // 197: getstatic com/l7tech/objectmodel/EntityType.SERVICE Lcom/l7tech/objectmodel/EntityType;
      // 19a: aload 1
      // 19b: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 19e: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityFolderAncestryPermission (Lcom/l7tech/objectmodel/EntityType;Lcom/l7tech/objectmodel/Goid;)V
      // 1a1: aload 5
      // 1a3: getstatic com/l7tech/objectmodel/EntityType.SERVICE Lcom/l7tech/objectmodel/EntityType;
      // 1a6: invokevirtual com/l7tech/gateway/common/security/rbac/Role.setEntityType (Lcom/l7tech/objectmodel/EntityType;)V
      // 1a9: aload 5
      // 1ab: aload 1
      // 1ac: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 1af: invokevirtual com/l7tech/gateway/common/security/rbac/Role.setEntityGoid (Lcom/l7tech/objectmodel/Goid;)V
      // 1b2: aload 5
      // 1b4: aload 8
      // 1b6: bipush 15
      // 1b8: aaload
      // 1b9: invokevirtual com/l7tech/gateway/common/security/rbac/Role.setDescription (Ljava/lang/String;)V
      // 1bc: aload 5
      // 1be: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 1c1: getstatic com/l7tech/objectmodel/EntityType.UDDI_REGISTRY Lcom/l7tech/objectmodel/EntityType;
      // 1c4: aconst_null
      // 1c5: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 1c8: aload 5
      // 1ca: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 1cd: getstatic com/l7tech/objectmodel/EntityType.UDDI_PROXIED_SERVICE_INFO Lcom/l7tech/objectmodel/EntityType;
      // 1d0: getstatic com/l7tech/gateway/common/uddi/UDDIProxiedServiceInfo.ATTR_SERVICE_GOID Ljava/lang/String;
      // 1d3: aload 1
      // 1d4: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 1d7: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 1da: aload 5
      // 1dc: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 1df: getstatic com/l7tech/objectmodel/EntityType.UDDI_PROXIED_SERVICE_INFO Lcom/l7tech/objectmodel/EntityType;
      // 1e2: getstatic com/l7tech/gateway/common/uddi/UDDIProxiedServiceInfo.ATTR_SERVICE_GOID Ljava/lang/String;
      // 1e5: aload 1
      // 1e6: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 1e9: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 1ec: aload 5
      // 1ee: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 1f1: getstatic com/l7tech/objectmodel/EntityType.UDDI_PROXIED_SERVICE_INFO Lcom/l7tech/objectmodel/EntityType;
      // 1f4: getstatic com/l7tech/gateway/common/uddi/UDDIProxiedServiceInfo.ATTR_SERVICE_GOID Ljava/lang/String;
      // 1f7: aload 1
      // 1f8: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 1fb: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 1fe: aload 5
      // 200: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 203: getstatic com/l7tech/objectmodel/EntityType.UDDI_PROXIED_SERVICE_INFO Lcom/l7tech/objectmodel/EntityType;
      // 206: getstatic com/l7tech/gateway/common/uddi/UDDIProxiedServiceInfo.ATTR_SERVICE_GOID Ljava/lang/String;
      // 209: aload 1
      // 20a: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 20d: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 210: aload 5
      // 212: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 215: getstatic com/l7tech/objectmodel/EntityType.UDDI_SERVICE_CONTROL Lcom/l7tech/objectmodel/EntityType;
      // 218: getstatic com/l7tech/gateway/common/uddi/UDDIServiceControl.ATTR_SERVICE_GOID Ljava/lang/String;
      // 21b: aload 1
      // 21c: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 21f: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 222: aload 5
      // 224: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 227: getstatic com/l7tech/objectmodel/EntityType.UDDI_SERVICE_CONTROL Lcom/l7tech/objectmodel/EntityType;
      // 22a: getstatic com/l7tech/gateway/common/uddi/UDDIServiceControl.ATTR_SERVICE_GOID Ljava/lang/String;
      // 22d: aload 1
      // 22e: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 231: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 234: aload 5
      // 236: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 239: getstatic com/l7tech/objectmodel/EntityType.UDDI_SERVICE_CONTROL Lcom/l7tech/objectmodel/EntityType;
      // 23c: getstatic com/l7tech/gateway/common/uddi/UDDIServiceControl.ATTR_SERVICE_GOID Ljava/lang/String;
      // 23f: aload 1
      // 240: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 243: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 246: aload 5
      // 248: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 24b: getstatic com/l7tech/objectmodel/EntityType.UDDI_SERVICE_CONTROL Lcom/l7tech/objectmodel/EntityType;
      // 24e: getstatic com/l7tech/gateway/common/uddi/UDDIServiceControl.ATTR_SERVICE_GOID Ljava/lang/String;
      // 251: aload 1
      // 252: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 255: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAttributePermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 258: aload 5
      // 25a: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 25d: getstatic com/l7tech/objectmodel/EntityType.ENCAPSULATED_ASSERTION Lcom/l7tech/objectmodel/EntityType;
      // 260: aconst_null
      // 261: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 264: aload 5
      // 266: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 269: getstatic com/l7tech/objectmodel/EntityType.ASSERTION_ACCESS Lcom/l7tech/objectmodel/EntityType;
      // 26c: aconst_null
      // 26d: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addEntityPermission (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // 270: aload 2
      // 271: ifnull 46f
      // 274: aload 0
      // 275: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 278: aload 2
      // 279: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 27c: getstatic com/l7tech/objectmodel/EntityType.SERVICE Lcom/l7tech/objectmodel/EntityType;
      // 27f: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 284: istore 6
      // 286: iload 6
      // 288: aload 0
      // 289: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 28c: aload 2
      // 28d: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 290: getstatic com/l7tech/objectmodel/EntityType.SERVICE Lcom/l7tech/objectmodel/EntityType;
      // 293: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 298: iand
      // 299: istore 6
      // 29b: iload 6
      // 29d: aload 0
      // 29e: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 2a1: aload 2
      // 2a2: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 2a5: getstatic com/l7tech/objectmodel/EntityType.SERVICE Lcom/l7tech/objectmodel/EntityType;
      // 2a8: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 2ad: iand
      // 2ae: istore 6
      // 2b0: iload 6
      // 2b2: aload 0
      // 2b3: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 2b6: aload 2
      // 2b7: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 2ba: getstatic com/l7tech/objectmodel/EntityType.POLICY Lcom/l7tech/objectmodel/EntityType;
      // 2bd: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 2c2: iand
      // 2c3: istore 6
      // 2c5: iload 6
      // 2c7: aload 0
      // 2c8: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 2cb: aload 2
      // 2cc: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 2cf: getstatic com/l7tech/objectmodel/EntityType.POLICY Lcom/l7tech/objectmodel/EntityType;
      // 2d2: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 2d7: iand
      // 2d8: istore 6
      // 2da: iload 6
      // 2dc: aload 0
      // 2dd: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 2e0: aload 2
      // 2e1: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 2e4: getstatic com/l7tech/objectmodel/EntityType.METRICS_BIN Lcom/l7tech/objectmodel/EntityType;
      // 2e7: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 2ec: iand
      // 2ed: istore 6
      // 2ef: iload 6
      // 2f1: aload 0
      // 2f2: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 2f5: aload 2
      // 2f6: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 2f9: getstatic com/l7tech/objectmodel/EntityType.AUDIT_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 2fc: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 301: iand
      // 302: istore 6
      // 304: iload 6
      // 306: aload 0
      // 307: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 30a: aload 2
      // 30b: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 30e: getstatic com/l7tech/objectmodel/EntityType.ID_PROVIDER_CONFIG Lcom/l7tech/objectmodel/EntityType;
      // 311: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 316: iand
      // 317: istore 6
      // 319: iload 6
      // 31b: aload 0
      // 31c: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 31f: aload 2
      // 320: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 323: getstatic com/l7tech/objectmodel/EntityType.USER Lcom/l7tech/objectmodel/EntityType;
      // 326: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 32b: iand
      // 32c: istore 6
      // 32e: iload 6
      // 330: aload 0
      // 331: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 334: aload 2
      // 335: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 338: getstatic com/l7tech/objectmodel/EntityType.GROUP Lcom/l7tech/objectmodel/EntityType;
      // 33b: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 340: iand
      // 341: istore 6
      // 343: iload 6
      // 345: aload 0
      // 346: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 349: aload 2
      // 34a: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 34d: getstatic com/l7tech/objectmodel/EntityType.CLUSTER_INFO Lcom/l7tech/objectmodel/EntityType;
      // 350: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 355: iand
      // 356: istore 6
      // 358: iload 6
      // 35a: aload 0
      // 35b: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 35e: aload 2
      // 35f: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 362: getstatic com/l7tech/objectmodel/EntityType.SERVICE_USAGE Lcom/l7tech/objectmodel/EntityType;
      // 365: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 36a: iand
      // 36b: istore 6
      // 36d: iload 6
      // 36f: aload 0
      // 370: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 373: aload 2
      // 374: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 377: getstatic com/l7tech/objectmodel/EntityType.JMS_CONNECTION Lcom/l7tech/objectmodel/EntityType;
      // 37a: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 37f: iand
      // 380: istore 6
      // 382: iload 6
      // 384: aload 0
      // 385: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 388: aload 2
      // 389: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 38c: getstatic com/l7tech/objectmodel/EntityType.JMS_ENDPOINT Lcom/l7tech/objectmodel/EntityType;
      // 38f: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 394: iand
      // 395: istore 6
      // 397: iload 6
      // 399: aload 0
      // 39a: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 39d: aload 2
      // 39e: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 3a1: getstatic com/l7tech/objectmodel/EntityType.JDBC_CONNECTION Lcom/l7tech/objectmodel/EntityType;
      // 3a4: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 3a9: iand
      // 3aa: istore 6
      // 3ac: iload 6
      // 3ae: aload 0
      // 3af: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 3b2: aload 2
      // 3b3: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 3b6: getstatic com/l7tech/objectmodel/EntityType.SAMPLE_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 3b9: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 3be: iand
      // 3bf: istore 6
      // 3c1: iload 6
      // 3c3: aload 0
      // 3c4: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 3c7: aload 2
      // 3c8: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 3cb: getstatic com/l7tech/objectmodel/EntityType.SAMPLE_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 3ce: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 3d3: iand
      // 3d4: istore 6
      // 3d6: iload 6
      // 3d8: aload 0
      // 3d9: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 3dc: aload 2
      // 3dd: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 3e0: getstatic com/l7tech/objectmodel/EntityType.SAMPLE_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 3e3: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 3e8: iand
      // 3e9: istore 6
      // 3eb: iload 6
      // 3ed: aload 0
      // 3ee: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 3f1: aload 2
      // 3f2: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 3f5: getstatic com/l7tech/objectmodel/EntityType.SAMPLE_MESSAGE Lcom/l7tech/objectmodel/EntityType;
      // 3f8: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 3fd: iand
      // 3fe: istore 6
      // 400: iload 6
      // 402: aload 0
      // 403: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 406: aload 2
      // 407: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 40a: getstatic com/l7tech/objectmodel/EntityType.UDDI_REGISTRY Lcom/l7tech/objectmodel/EntityType;
      // 40d: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 412: iand
      // 413: istore 6
      // 415: iload 6
      // 417: aload 0
      // 418: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 41b: aload 2
      // 41c: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 41f: getstatic com/l7tech/objectmodel/EntityType.ENCAPSULATED_ASSERTION Lcom/l7tech/objectmodel/EntityType;
      // 422: invokeinterface com/l7tech/server/security/rbac/RoleManager.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 427: iand
      // 428: istore 6
      // 42a: goto 443
      // 42d: astore 7
      // 42f: new com/l7tech/objectmodel/SaveException
      // 432: dup
      // 433: getstatic com/l7tech/server/service/ServiceManagerImp.t [Ljava/lang/String;
      // 436: astore 8
      // 438: aload 8
      // 43a: bipush 25
      // 43c: aaload
      // 43d: aload 7
      // 43f: invokespecial com/l7tech/objectmodel/SaveException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 442: athrow
      // 443: iload 6
      // 445: ifne 46f
      // 448: aload 0
      // 449: invokevirtual com/l7tech/server/service/ServiceManagerImp.a ()Z
      // 44c: ifeq 46f
      // 44f: goto 456
      // 452: invokestatic com/l7tech/server/service/ServiceManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 455: athrow
      // 456: getstatic com/l7tech/server/service/ServiceManagerImp.n Ljava/util/logging/Logger;
      // 459: getstatic com/l7tech/server/service/ServiceManagerImp.t [Ljava/lang/String;
      // 45c: bipush 12
      // 45e: aaload
      // 45f: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 462: aload 5
      // 464: aload 2
      // 465: invokevirtual com/l7tech/gateway/common/security/rbac/Role.addAssignedUser (Lcom/l7tech/identity/User;)V
      // 468: goto 46f
      // 46b: invokestatic com/l7tech/server/service/ServiceManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 46e: athrow
      // 46f: aload 0
      // 470: getfield com/l7tech/server/service/ServiceManagerImp.p Lcom/l7tech/server/security/rbac/RoleManager;
      // 473: aload 5
      // 475: invokeinterface com/l7tech/server/security/rbac/RoleManager.save (Lcom/l7tech/objectmodel/PersistentEntity;)Lcom/l7tech/objectmodel/Goid; 2
      // 47a: pop
      // 47b: return
      // try (261 -> 448): 449 com/l7tech/objectmodel/FindException
      // try (460 -> 465): 466 com/l7tech/objectmodel/FindException
      // try (462 -> 476): 477 com/l7tech/objectmodel/FindException
   }

   private boolean a() {
      return ConfigFactory.getBooleanProperty(t[23], true);
   }

   private void a(PublishedService var1, Policy var2) {
      if (var2 != null) {
         String var3 = var1.generatePolicyName();
         var2.setName(var3);
      }
   }

   private void b(PublishedService var1, Policy var2) {
      try {
         if (var2 != null) {
            var2.setSecurityZone(var1.getSecurityZone());
         }
      } catch (UnsupportedOperationException var3) {
         throw a(var3);
      }
   }

   static {
      String[] var5 = new String[32];
      int var3 = 0;
      String var2 = "3+A\u0005\u0006}5\u0004dR\u0000\fw2\"+X\fBg}P6Q\u0007\u0003~w!56F\u0006\u00103s\u0013'Q\u001a\u0011z|\u0017dc:&_2\u0016+FI\u0011v`\u0006-W\fX\u0004\u001e%Y\f\u0006L-Z\u0000\u0016-\tL Q\u000f\u0003f~\u0004z\tL Q\u000f\u0003f~\u0004z\u0010\u0006!F\u001a\u000b||P)]\u001a\u000frf\u0013,+\u0013+YF\u000e$f\u0015'\\F\u0011v`\u0006!FF\u0011v`\u0006-W\fM@w\u00022]\n\u0007^s\u001e%S\f\u0010Z\u007f\u0000&\u0002&U\nLrg\u0004+f\u0006\u000ev<\u001d%Z\b\u0005vA\u00156B\u0000\u0001v<\u00111@\u0006!aw\u00110Q\f\\dZ\u0006\u00163sP\u0003[\u0000\u0006\u001336Q\b\u0016z|\u0017dZ\f\u00153@\u001f(QSB\n\u0002+A\u001d\u000b}u%6]\"17G\u0000\u0005}{\u001e#\u0014\n\u0017a`\u0015*@I7`w\u0002d@\u0006B}w\u0007df\u0006\u000ev\u0002Pg\u0006\u0013+Z\u000f\u000bt[%7Q\u001b\u00113s\u00037]\u000e\fvvP0[I\u0016{wP?\u0004\u0014Ba}\u001c!\u0014\u0001\u0003ewP0\\\fBrp\u0019(]\u001d\u001b3f\u001fdF\f\u0003w>P1D\r\u0003gwP%Z\rBww\u001c!@\fBgz\u0015dOX\u001f3a\u00156B\u0000\u0001v<=X{\bT<OeW?\u0013XN\" HcINB:<Z{\u001cV_3i@9\u00145J0I, o5\u0006?2-8o(OIs]>\u0004D[NOZ\u0018\u001dMK\u00104!X\f\u0016vvP7Q\u001b\u0014zq\u0015d\u0007#!F\u001f\u000bpw056F\u0006\u00103g\u0000 U\u001d\u000b}uP4[\u0005\u000bpkP*U\u0004\u00073s\u00160Q\u001bB`s\u0006-Z\u000eB`w\u00022]\n\u0007=\u0012 6]\u0004\u0003akP/Q\u0010Bds\u0003dUI!56F\u0006\u00103s\u0013'Q\u001a\u0011z|\u0017dc:&_2\u0016+FI\u0011v`\u0006-W\fX\u000f#%B\f\u00063a\u00156B\u0000\u0001v2S&\u0002&U\nLrg\u0004+f\u0006\u000ev<\u001d%Z\b\u0005vA\u00156B\u0000\u0001v<\u00111@\u0006#`a\u0019#Z&\u0002&U\nLrg\u0004+f\u0006\u000ev<\u001d%Z\b\u0005vA\u00156B\u0000\u0001v<\u00111@\u0006!aw\u00110Q!3+A\u0005\u0006}5\u0004dS\f\u00163w\b-G\u001d\u000b}uP4Q\u001b\u000fza\u0003-[\u0007\u0011\u0011\u00001V\u0005\u000b`z\u0015 k\u001a\u0007ad\u0019'Q\u0004\u001e%Y\f\u0019=%Z\b\u0005v2\u000btII1v`\u0006-W\fB;1\u000buI@ #!F\u001f\u000bpwP-GI\u0010vc\u0005-F\f\u00063p\u00050\u0014\u0004\u000b`a\u0019*SG";
      int var4 = "3+A\u0005\u0006}5\u0004dR\u0000\fw2\"+X\fBg}P6Q\u0007\u0003~w!56F\u0006\u00103s\u0013'Q\u001a\u0011z|\u0017dc:&_2\u0016+FI\u0011v`\u0006-W\fX\u0004\u001e%Y\f\u0006L-Z\u0000\u0016-\tL Q\u000f\u0003f~\u0004z\tL Q\u000f\u0003f~\u0004z\u0010\u0006!F\u001a\u000b||P)]\u001a\u000frf\u0013,+\u0013+YF\u000e$f\u0015'\\F\u0011v`\u0006!FF\u0011v`\u0006-W\fM@w\u00022]\n\u0007^s\u001e%S\f\u0010Z\u007f\u0000&\u0002&U\nLrg\u0004+f\u0006\u000ev<\u001d%Z\b\u0005vA\u00156B\u0000\u0001v<\u00111@\u0006!aw\u00110Q\f\\dZ\u0006\u00163sP\u0003[\u0000\u0006\u001336Q\b\u0016z|\u0017dZ\f\u00153@\u001f(QSB\n\u0002+A\u001d\u000b}u%6]\"17G\u0000\u0005}{\u001e#\u0014\n\u0017a`\u0015*@I7`w\u0002d@\u0006B}w\u0007df\u0006\u000ev\u0002Pg\u0006\u0013+Z\u000f\u000bt[%7Q\u001b\u00113s\u00037]\u000e\fvvP0[I\u0016{wP?\u0004\u0014Ba}\u001c!\u0014\u0001\u0003ewP0\\\fBrp\u0019(]\u001d\u001b3f\u001fdF\f\u0003w>P1D\r\u0003gwP%Z\rBww\u001c!@\fBgz\u0015dOX\u001f3a\u00156B\u0000\u0001v<=X{\bT<OeW?\u0013XN\" HcINB:<Z{\u001cV_3i@9\u00145J0I, o5\u0006?2-8o(OIs]>\u0004D[NOZ\u0018\u001dMK\u00104!X\f\u0016vvP7Q\u001b\u0014zq\u0015d\u0007#!F\u001f\u000bpw056F\u0006\u00103g\u0000 U\u001d\u000b}uP4[\u0005\u000bpkP*U\u0004\u00073s\u00160Q\u001bB`s\u0006-Z\u000eB`w\u00022]\n\u0007=\u0012 6]\u0004\u0003akP/Q\u0010Bds\u0003dUI!56F\u0006\u00103s\u0013'Q\u001a\u0011z|\u0017dc:&_2\u0016+FI\u0011v`\u0006-W\fX\u000f#%B\f\u00063a\u00156B\u0000\u0001v2S&\u0002&U\nLrg\u0004+f\u0006\u000ev<\u001d%Z\b\u0005vA\u00156B\u0000\u0001v<\u00111@\u0006#`a\u0019#Z&\u0002&U\nLrg\u0004+f\u0006\u000ev<\u001d%Z\b\u0005vA\u00156B\u0000\u0001v<\u00111@\u0006!aw\u00110Q!3+A\u0005\u0006}5\u0004dS\f\u00163w\b-G\u001d\u000b}uP4Q\u001b\u000fza\u0003-[\u0007\u0011\u0011\u00001V\u0005\u000b`z\u0015 k\u001a\u0007ad\u0019'Q\u0004\u001e%Y\f\u0019=%Z\b\u0005v2\u000btII1v`\u0006-W\fB;1\u000buI@ #!F\u001f\u000bpwP-GI\u0010vc\u0005-F\f\u00063p\u00050\u0014\u0004\u000b`a\u0019*SG"
         .length();
      char var1 = 28;
      int var7 = -1;

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

         while (true) {
            String var9 = c(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     t = var5;
                     s = t[24];
                     n = Logger.getLogger(ServiceManagerImp.class.getName());
                     String[] var8 = t;
                     o = Pattern.compile(MessageFormat.format(var8[16], var8[18]));
                     return;
                  }

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

                  var2 = "gN$xn\u0018\u0010@S8>TS6yj\u0013\u0019a\u00017cuV7[N%Br\u001a\u001b5Q0~f\u001b\u0012aD#, S\u00042\u0001>j'S\u0004;\u0004\",j\u0003\u0004a\u0001?csV\u0015p\u0001?yk\u001a";
                  var4 = "gN$xn\u0018\u0010@S8>TS6yj\u0013\u0019a\u00017cuV7[N%Br\u001a\u001b5Q0~f\u001b\u0012aD#, S\u00042\u0001>j'S\u0004;\u0004\",j\u0003\u0004a\u0001?csV\u0015p\u0001?yk\u001a"
                     .length();
                  var1 = '\n';
                  var7 = -1;
            }

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

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

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

      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 -> 41;
            case 1 -> 29;
            case 2 -> 109;
            case 3 -> 48;
            case 4 -> 59;
            case 5 -> 74;
            default -> 75;
         });
      }

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