public static int revokeOnHoldPermanently(EntityManager entityManager, String issuerDN) {
final Query query = entityManager.createQuery("UPDATE CertificateData a SET a.status=:status1 WHERE a.issuerDN=:issuerDN AND a.status=:status2");
query.setParameter("status1", SecConst.CERT_REVOKED);
query.setParameter("issuerDN", issuerDN);
query.setParameter("status2", SecConst.CERT_TEMP_REVOKED);
return query.executeUpdate();
}
/** @return the number of certificates that had their status changed from On Hold to Revoked for this issuer. */
public static int revokeAllNonRevokedCertificates(EntityManager entityManager, String issuerDN, int reason) {
final Query query = entityManager.createQuery("UPDATE CertificateData SET status=:status1, revocationDate=:revocationDate, revocationReason=:revocationReason WHERE issuerDN=:issuerDN AND status <> :status2");