X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FCATS.java;h=cac16694d81a83954b3d12288edbd9d7c36124d7;hb=f3854f902e8c2c14bcc3c16baf82134ca5147494;hp=7268d7048a1627f20386bec4f137f078ecabe084;hpb=e1d51eb65683b9847b1dc7261495369130ab61ef;p=gigi.git diff --git a/src/org/cacert/gigi/dbObjects/CATS.java b/src/org/cacert/gigi/dbObjects/CATS.java index 7268d704..cac16694 100644 --- a/src/org/cacert/gigi/dbObjects/CATS.java +++ b/src/org/cacert/gigi/dbObjects/CATS.java @@ -9,11 +9,40 @@ import org.cacert.gigi.database.GigiResultSet; public class CATS { - private static HashMap names = new HashMap<>(); + public enum CATSType { + ASSURER_CHALLENGE("Agent Qualifying Challenge"), + + ORG_AGENT_CHALLENGE("Organisation Agent Qualifying Challenge"), + + TTP_AGENT_CHALLENGE("TTP Agent Qualifying Challenge"), + + TTP_TOPUP_AGENT_CHALLENGE_NAME("TTP TOPUP Agent Qualifying Challenge"), + + CODE_SIGNING_CHALLENGE_NAME("Code Signing Challenge"), + + ORG_ADMIN_DP_CHALLENGE_NAME("Organisation Administrator Data Protection Challenge"), - public static final String ASSURER_CHALLANGE_NAME = "Assurer's Challenge"; + SUPPORT_DP_CHALLENGE_NAME("Support Data Protection Challenge"); - public static final int ASSURER_CHALLANGE_ID; + private final String displayName; + + private final int id; + + private CATSType(String displayName) { + this.displayName = displayName; + id = getID(displayName); + } + + public String getDisplayName() { + return displayName; + } + + public int getId() { + return id; + } + } + + private static HashMap names = new HashMap<>(); private CATS() { @@ -26,7 +55,6 @@ public class CATS { names.put(res.getString(2), res.getInt(1)); } } - ASSURER_CHALLANGE_ID = getID(ASSURER_CHALLANGE_NAME); } public static synchronized int getID(String name) { @@ -42,11 +70,22 @@ public class CATS { return i; } - public static void enterResult(User user, String testType, Date passDate) { - try (GigiPreparedStatement ps = new GigiPreparedStatement("INSERT INTO `cats_passed` SET `user_id`=?, `variant_id`=?, `pass_date`=?")) { + public static void enterResult(User user, CATSType testType, Date passDate, String language, String version) { + enterResult(user, testType.id, passDate, language, version); + } + + public static void enterResult(User user, String testType, Date passDate, String language, String version) { + enterResult(user, getID(testType), passDate, language, version); + } + + private static void enterResult(User user, int testTypeId, Date passDate, String language, String version) { + + try (GigiPreparedStatement ps = new GigiPreparedStatement("INSERT INTO `cats_passed` SET `user_id`=?, `variant_id`=?, `pass_date`=?, `language`=?, `version`=?")) { ps.setInt(1, user.getId()); - ps.setInt(2, getID(testType)); + ps.setInt(2, testTypeId); ps.setTimestamp(3, new Timestamp(passDate.getTime())); + ps.setString(4, language); + ps.setString(5, version); ps.execute(); } }