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

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

class bg implements ResourceFactorySupport.TransactionalCallback<Either<ResourceFactory.ResourceNotFoundException, PolicyExportResult>> {
   final Map val$selectorMap;
   final PolicyResourceFactory this$0;

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

   public Either<ResourceFactory.ResourceNotFoundException, PolicyExportResult> execute() throws ObjectModelException {
      try {
         Policy var1 = this.this$0.selectEntity(this.val$selectorMap);
         this.this$0.checkPermitted(OperationType.READ, null, var1);
         return Either.right(this.this$0.p.exportPolicy(var1));
      } catch (ResourceFactory.ResourceNotFoundException var2) {
         return Either.left(var2);
      }
   }
}
