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 am implements ResourceFactorySupport.TransactionalCallback<Either<ResourceFactory.ResourceNotFoundException, String>> {
   final Map val$selectorMap;
   final EntityManagerResourceFactory this$0;

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

   public Either<ResourceFactory.ResourceNotFoundException, String> execute() throws ObjectModelException {
      try {
         EntityManagerResourceFactory.EntityBag var1 = this.this$0.selectEntityBag(this.val$selectorMap);
         this.this$0.checkPermitted(OperationType.DELETE, null, var1.getEntity());
         this.this$0.beforeDeleteEntity(var1);
         this.this$0.n.delete(var1.getEntity());
         this.this$0.afterDeleteEntity(var1);
         return Either.right(var1.getEntity().getId());
      } catch (ResourceFactory.ResourceNotFoundException var2) {
         return Either.left(var2);
      }
   }
}
