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

import com.l7tech.gateway.common.security.rbac.OperationType;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.util.Either;
import java.util.Map;

class ai implements ResourceFactorySupport.TransactionalCallback<Either<ResourceFactory.ResourceNotFoundException, R>> {
   final Map val$selectorMap;
   final EntityManagerResourceFactory this$0;

   ai(EntityManagerResourceFactory var1, Map var2) {
      this.this$0 = var1;
      this.val$selectorMap = var2;
   }

   public Either<ResourceFactory.ResourceNotFoundException, R> execute() throws ObjectModelException {
      try {
         EntityManagerResourceFactory.EntityBag var1 = this.this$0.selectEntityBag(this.val$selectorMap);
         this.this$0.checkPermitted(OperationType.READ, null, var1.getEntity());
         return Either.right(this.this$0.identify(this.this$0.asResource(var1), var1.getEntity()));
      } catch (ResourceFactory.ResourceNotFoundException var2) {
         return Either.left(var2);
      }
   }
}
