1 package org.cacert.gigi.dbObjects;
3 import java.util.HashMap;
5 import org.cacert.gigi.database.DatabaseConnection;
6 import org.cacert.gigi.database.GigiPreparedStatement;
7 import org.cacert.gigi.database.GigiResultSet;
9 public class CertificateProfile {
13 private final String keyName;
15 private final String visibleName;
17 private final int caId;
19 private static HashMap<String, CertificateProfile> byName = new HashMap<>();
21 private static HashMap<Integer, CertificateProfile> byId = new HashMap<>();
23 private CertificateProfile(int id, String keyName, String visibleName, int caId) {
25 this.keyName = keyName;
26 this.visibleName = visibleName;
34 public String getKeyName() {
38 public String getVisibleName() {
42 public int getCAId() {
47 GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT id, keyname, name, rootcert FROM `profiles`");
48 GigiResultSet rs = ps.executeQuery();
50 CertificateProfile cp = new CertificateProfile(rs.getInt("id"), rs.getString("keyName"), rs.getString("name"), rs.getInt("rootcert"));
51 byId.put(cp.getId(), cp);
52 byName.put(cp.getKeyName(), cp);
57 public static CertificateProfile getById(int id) {
61 public static CertificateProfile getByName(String name) {
62 return byName.get(name);