]> WPIA git - gigi.git/blob - src/org/cacert/gigi/dbObjects/CertificateProfile.java
Filter certificate profiles in the issue form.
[gigi.git] / src / org / cacert / gigi / dbObjects / CertificateProfile.java
1 package org.cacert.gigi.dbObjects;
2
3 import java.util.HashMap;
4
5 import org.cacert.gigi.database.DatabaseConnection;
6 import org.cacert.gigi.database.GigiPreparedStatement;
7 import org.cacert.gigi.database.GigiResultSet;
8
9 public class CertificateProfile {
10
11     private final int id;
12
13     private final String keyName;
14
15     private final String visibleName;
16
17     private final int caId;
18
19     private static HashMap<String, CertificateProfile> byName = new HashMap<>();
20
21     private static HashMap<Integer, CertificateProfile> byId = new HashMap<>();
22
23     private CertificateProfile(int id, String keyName, String visibleName, int caId) {
24         this.id = id;
25         this.keyName = keyName;
26         this.visibleName = visibleName;
27         this.caId = caId;
28     }
29
30     public int getId() {
31         return id;
32     }
33
34     public String getKeyName() {
35         return keyName;
36     }
37
38     public String getVisibleName() {
39         return visibleName;
40     }
41
42     public int getCAId() {
43         return caId;
44     }
45
46     static {
47         GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT id, keyname, name, rootcert FROM `profiles`");
48         GigiResultSet rs = ps.executeQuery();
49         while (rs.next()) {
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);
53         }
54
55     }
56
57     public static CertificateProfile getById(int id) {
58         return byId.get(id);
59     }
60
61     public static CertificateProfile getByName(String name) {
62         return byName.get(name);
63     }
64
65 }