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

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

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

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

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