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

import com.l7tech.gateway.common.cluster.ClusterProperty;
import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityManager;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.objectmodel.PersistentEntity;
import com.l7tech.util.Functions.UnaryThrows;

class k implements UnaryThrows<Goid, EntityManager<ClusterProperty, EntityHeader>, ObjectModelException> {
   final ClusterProperty val$property;

   k(ClusterPropertyBackedResourceFactory var1, ClusterProperty var2) {
      this.val$property = var2;
   }

   public Goid call(EntityManager<ClusterProperty, EntityHeader> var1) throws ObjectModelException {
      try {
         if (PersistentEntity.DEFAULT_GOID.equals(this.val$property.getGoid())) {
            return var1.save(this.val$property);
         }
      } catch (ObjectModelException var2) {
         throw a(var2);
      }

      var1.update(this.val$property);
      return this.val$property.getGoid();
   }

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