/* * Copyright (C) 2012 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.as.controller; import com.intel.mtwilson.as.controller.exceptions.ASDataException; import com.intel.mtwilson.as.controller.exceptions.NonexistentEntityException; import com.intel.mtwilson.as.data.MwCertificateX509; import com.intel.dcsg.cpg.jpa.GenericJpaController; import java.io.Serializable; import java.util.Date; import java.util.HashMap; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Query; import javax.persistence.EntityNotFoundException; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; /** * * @author jbuhacoff */ public class MwCertificateX509JpaController extends GenericJpaController<MwCertificateX509> implements Serializable { public MwCertificateX509JpaController(EntityManagerFactory emf) { super(MwCertificateX509.class); this.emf = emf; } private EntityManagerFactory emf = null; @Override public EntityManager getEntityManager() { return emf.createEntityManager(); } public void create(MwCertificateX509 mwCertificateX509) { EntityManager em = getEntityManager(); try { em.getTransaction().begin(); em.persist(mwCertificateX509); em.getTransaction().commit(); } finally { em.close(); } } public void edit(MwCertificateX509 mwCertificateX509) throws NonexistentEntityException, ASDataException { EntityManager em = getEntityManager(); try { em.getTransaction().begin(); em.merge(mwCertificateX509); em.getTransaction().commit(); } catch (Exception ex) { String msg = ex.getLocalizedMessage(); if (msg == null || msg.length() == 0) { Integer id = mwCertificateX509.getId(); if (findMwCertificateX509(id) == null) { throw new NonexistentEntityException("The mwCertificateX509 with id " + id + " no longer exists."); } } throw new ASDataException(ex); } finally { em.close(); } } public void destroy(Integer id) throws NonexistentEntityException { EntityManager em = getEntityManager(); try { em.getTransaction().begin(); MwCertificateX509 mwCertificateX509; try { mwCertificateX509 = em.getReference(MwCertificateX509.class, id); mwCertificateX509.getId(); } catch (EntityNotFoundException enfe) { throw new NonexistentEntityException("The mwCertificateX509 with id " + id + " no longer exists.", enfe); } em.remove(mwCertificateX509); em.getTransaction().commit(); } finally { em.close(); } } public List<MwCertificateX509> findMwCertificateX509Entities() { return findMwCertificateX509Entities(true, -1, -1); } public List<MwCertificateX509> findMwCertificateX509Entities(int maxResults, int firstResult) { return findMwCertificateX509Entities(false, maxResults, firstResult); } private List<MwCertificateX509> findMwCertificateX509Entities(boolean all, int maxResults, int firstResult) { EntityManager em = getEntityManager(); try { CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); cq.select(cq.from(MwCertificateX509.class)); Query q = em.createQuery(cq); if (!all) { q.setMaxResults(maxResults); q.setFirstResult(firstResult); } return q.getResultList(); } finally { em.close(); } } public MwCertificateX509 findMwCertificateX509(Integer id) { EntityManager em = getEntityManager(); try { return em.find(MwCertificateX509.class, id); } finally { em.close(); } } public int getMwCertificateX509Count() { EntityManager em = getEntityManager(); try { CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); Root<MwCertificateX509> rt = cq.from(MwCertificateX509.class); cq.select(em.getCriteriaBuilder().count(rt)); Query q = em.createQuery(cq); return ((Long) q.getSingleResult()).intValue(); } finally { em.close(); } } public List<MwCertificateX509> findAllCertificates() { return searchByNamedQuery("findAll"); } public List<MwCertificateX509> findCertificateByName(String name) { return searchByNamedQuery("findByName", "name", name); } public List<MwCertificateX509> findCertificateByNameLike(String name) { return searchByNamedQuery("findByNameLike", "name", "%"+name+"%"); } public List<MwCertificateX509> findCertificateByMD5(String md5_hash) { return searchByNamedQuery("findByMD5", "md5_hash", md5_hash); } public List<MwCertificateX509> findCertificateByMD5Enabled(String md5_hash, Boolean enabled) { HashMap<String,Object> parameters = new HashMap<String,Object>(); parameters.put("md5_hash", md5_hash); parameters.put("enabled", enabled); return searchByNamedQuery("findByMD5Enabled", parameters); } public List<MwCertificateX509> findCertificateBySHA1(String sha1_hash) { return searchByNamedQuery("findBySHA1", "sha1_hash", sha1_hash); } public List<MwCertificateX509> findCertificateBySHA1Enabled(String sha1_hash, Boolean enabled) { HashMap<String,Object> parameters = new HashMap<String,Object>(); parameters.put("sha1_hash", sha1_hash); parameters.put("enabled", enabled); return searchByNamedQuery("findBySHA1Enabled", parameters); } public List<MwCertificateX509> findCertificateByIssuer(String issuer) { return searchByNamedQuery("findByIssuer", "issuer", issuer); } public List<MwCertificateX509> findCertificateByCommentLike(String comment) { return searchByNamedQuery("findByCommentLike", "comment", "%"+comment+"%"); } public List<MwCertificateX509> findCertificateByExpiresAfter(Date expiresAfter) { return searchByNamedQuery("findByExpiresAfter", "expires", expiresAfter); } public List<MwCertificateX509> findCertificateByExpiresBefore(Date expiresBefore) { return searchByNamedQuery("findByExpiresBefore", "expires", expiresBefore); } public List<MwCertificateX509> findCertificateByEnabled(Boolean enabled) { return searchByNamedQuery("findByEnabled", "enabled", enabled); } public List<MwCertificateX509> findCertificateByStatus(String status) { return searchByNamedQuery("findByStatus", "status", status); } public List<MwCertificateX509> findCertificateByEnabledStatus(Boolean enabled, String status) { HashMap<String,Object> parameters = new HashMap<String,Object>(); parameters.put("enabled", enabled); parameters.put("status", status); return searchByNamedQuery("findByEnabledStatus", parameters); } }