X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FOrganisation.java;h=cb6601e68dffb2457dd42140b30f2372650ce675;hb=af932253d612fbbbf1dcead6107df6fc53896282;hp=9581f815f170d1ad4801ccc702e540c0267fbe6f;hpb=d65cca2357ffab506900a0fff0ee41caae0e742d;p=gigi.git diff --git a/src/org/cacert/gigi/dbObjects/Organisation.java b/src/org/cacert/gigi/dbObjects/Organisation.java index 9581f815..cb6601e6 100644 --- a/src/org/cacert/gigi/dbObjects/Organisation.java +++ b/src/org/cacert/gigi/dbObjects/Organisation.java @@ -10,6 +10,7 @@ import org.cacert.gigi.GigiApiException; import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.database.GigiResultSet; import org.cacert.gigi.dbObjects.Certificate.CertificateStatus; +import org.cacert.gigi.dbObjects.Country.CountryCodeType; import org.cacert.gigi.dbObjects.wrappers.DataContainer; public class Organisation extends CertificateOwner { @@ -53,7 +54,7 @@ public class Organisation extends CertificateOwner { private String name; - private String state; + private Country country; private String province; @@ -65,22 +66,25 @@ public class Organisation extends CertificateOwner { private String postalAddress; - public Organisation(String name, String state, String province, String city, String email, String optionalName, String postalAddress, User creator) throws GigiApiException { + public Organisation(String name, Country country, String province, String city, String email, String optionalName, String postalAddress, User creator) throws GigiApiException { if ( !creator.isInGroup(Group.ORGASSURER)) { throw new GigiApiException("Only Organisation RA Agents may create organisations."); } + if (country == null) { + throw new GigiApiException("Got country code of illegal type."); + } this.name = name; - this.state = state; + this.country = country; this.province = province; this.city = city; this.email = email; this.optionalName = optionalName; this.postalAddress = postalAddress; int id = getId(); - try (GigiPreparedStatement ps = new GigiPreparedStatement("INSERT INTO organisations SET id=?, name=?, state=?, province=?, city=?, contactEmail=?, optional_name=?, postal_address=?, creator=?")) { + try (GigiPreparedStatement ps = new GigiPreparedStatement("INSERT INTO organisations SET id=?, name=?, country=?, province=?, city=?, contactEmail=?, optional_name=?, postal_address=?, creator=?")) { ps.setInt(1, id); ps.setString(2, name); - ps.setString(3, state); + ps.setString(3, country.getCode()); ps.setString(4, province); ps.setString(5, city); ps.setString(6, email); @@ -93,10 +97,10 @@ public class Organisation extends CertificateOwner { } } - protected Organisation(GigiResultSet rs) { + protected Organisation(GigiResultSet rs) throws GigiApiException { super(rs.getInt("id")); name = rs.getString("name"); - state = rs.getString("state"); + country = Country.getCountryByCode(rs.getString("country"), CountryCodeType.CODE_2_CHARS); province = rs.getString("province"); city = rs.getString("city"); email = rs.getString("contactEmail"); @@ -108,8 +112,8 @@ public class Organisation extends CertificateOwner { return name; } - public String getState() { - return state; + public Country getCountry() { + return country; } public String getProvince() { @@ -206,22 +210,25 @@ public class Organisation extends CertificateOwner { } } - public void updateCertData(String o, String c, String st, String l) { + public void updateCertData(String o, Country c, String st, String l) throws GigiApiException { + if (c == null) { + throw new GigiApiException("Got country code of illegal type."); + } for (Certificate cert : getCertificates(false)) { if (cert.getStatus() == CertificateStatus.ISSUED) { cert.revoke(); } } - try (GigiPreparedStatement ps = new GigiPreparedStatement("UPDATE `organisations` SET `name`=?, `state`=?, `province`=?, `city`=? WHERE `id`=?")) { + try (GigiPreparedStatement ps = new GigiPreparedStatement("UPDATE `organisations` SET `name`=?, `country`=?, `province`=?, `city`=? WHERE `id`=?")) { ps.setString(1, o); - ps.setString(2, c); + ps.setString(2, c.getCode()); ps.setString(3, st); ps.setString(4, l); ps.setInt(5, getId()); ps.executeUpdate(); } name = o; - state = c; + country = c; province = st; city = l; }