package com.l7tech.server.identity.cert;

import com.l7tech.identity.cert.CertEntryRow;
import com.l7tech.server.util.ReadOnlyHibernateCallback;
import com.l7tech.util.Pair;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.CriteriaQuery;
import jakarta.persistence.criteria.Predicate;
import jakarta.persistence.criteria.Root;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;

class e extends ReadOnlyHibernateCallback<List<CertEntryRow>> {
   final Pair[] val$nvps;

   e(ClientCertManagerImp var1, Pair[] var2) {
      this.val$nvps = var2;
   }

   public List<CertEntryRow> doInHibernateReadOnly(Session var1) throws HibernateException, SQLException {
      CriteriaBuilder var2 = var1.getCriteriaBuilder();
      CriteriaQuery var3 = var2.createQuery(CertEntryRow.class);
      Root var4 = var3.from(CertEntryRow.class);
      Predicate var5 = var2.conjunction();

      for (Pair var9 : this.val$nvps) {
         String var10 = (String)var9.left;
         Object var11 = var9.right;

         CriteriaBuilder var10000;
         Predicate var10001;
         Predicate var10002;
         label23: {
            try {
               var10000 = var2;
               var10001 = var5;
               if (var11 == null) {
                  var10002 = var2.isNull(var4.get(var10));
                  break label23;
               }
            } catch (HibernateException var12) {
               throw a(var12);
            }

            var10002 = var2.equal(var4.get(var10), var11);
         }

         var5 = var10000.and(var10001, var10002);
      }

      var3.select(var4).where(var5);
      return var1.createQuery(var3).getResultList();
   }

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