X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FName.java;h=dc1c0376177a7147084fa59d773b2daf70663024;hp=eb4c7afb5989385f9c136ba1a8e062f296ba8777;hb=0b86fb147b4a61f315770fa5bba4466ca18ddfa8;hpb=d7c0f42f9a60ae6dfff83d1f01e547bbf5681c0d diff --git a/src/org/cacert/gigi/dbObjects/Name.java b/src/org/cacert/gigi/dbObjects/Name.java index eb4c7afb..dc1c0376 100644 --- a/src/org/cacert/gigi/dbObjects/Name.java +++ b/src/org/cacert/gigi/dbObjects/Name.java @@ -4,6 +4,7 @@ import java.io.PrintWriter; import java.util.Map; import org.cacert.gigi.GigiApiException; +import org.cacert.gigi.database.DBEnum; import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.database.GigiResultSet; import org.cacert.gigi.dbObjects.NamePart.NamePartType; @@ -13,6 +14,16 @@ import org.cacert.gigi.util.HTMLEncoder; public class Name implements Outputable, IdCachable { + public static enum NameSchemaType implements DBEnum { + SINGLE, WESTERN; + + @Override + public String getDBName() { + return toString().toLowerCase(); + } + + } + private abstract static class SchemedName { /** @@ -27,7 +38,7 @@ public class Name implements Outputable, IdCachable { */ public abstract String toAbbreviatedString(); - public abstract String getSchemeName(); + public abstract NameSchemaType getSchemeName(); /** * @see Name#output(PrintWriter, Language, Map) @@ -60,8 +71,8 @@ public class Name implements Outputable, IdCachable { } @Override - public String getSchemeName() { - return "single"; + public NameSchemaType getSchemeName() { + return NameSchemaType.SINGLE; } @Override @@ -201,8 +212,8 @@ public class Name implements Outputable, IdCachable { } @Override - public String getSchemeName() { - return "western"; + public NameSchemaType getSchemeName() { + return NameSchemaType.WESTERN; } @Override @@ -260,7 +271,7 @@ public class Name implements Outputable, IdCachable { } try (GigiPreparedStatement inserter = new GigiPreparedStatement("INSERT INTO `names` SET `uid`=?, `type`=?::`nameSchemaType`")) { inserter.setInt(1, u.getId()); - inserter.setString(2, scheme.getSchemeName()); + inserter.setEnum(2, scheme.getSchemeName()); inserter.execute(); id = inserter.lastInsertId(); } @@ -268,7 +279,7 @@ public class Name implements Outputable, IdCachable { inserter.setInt(1, id); for (int i = 0; i < np.length; i++) { inserter.setInt(2, i); - inserter.setString(3, np[i].getType().getDbValue()); + inserter.setEnum(3, np[i].getType()); inserter.setString(4, np[i].getValue()); inserter.execute(); }