X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FOrganisation.java;h=f3bd822ba9f7a70ff4250c8d33e9b63e35bda215;hb=4ef7ef003efbb904af6d4bce0ea0ee1b5091b65f;hp=6b5b28f44234dd006ab6f3f8d3bef29edcc542e8;hpb=a0232b6e40e7e09767f0444d24e18bf12dafc362;p=gigi.git diff --git a/src/org/cacert/gigi/dbObjects/Organisation.java b/src/org/cacert/gigi/dbObjects/Organisation.java index 6b5b28f4..f3bd822b 100644 --- a/src/org/cacert/gigi/dbObjects/Organisation.java +++ b/src/org/cacert/gigi/dbObjects/Organisation.java @@ -7,10 +7,12 @@ 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.wrappers.DataContainer; public class Organisation extends CertificateOwner { - public class Affiliation { + @DataContainer + public static class Affiliation { private final User target; @@ -18,7 +20,10 @@ public class Organisation extends CertificateOwner { private final String fixedOU; - public Affiliation(User target, boolean master, String fixedOU) { + private Organisation o; + + public Affiliation(Organisation o, User target, boolean master, String fixedOU) { + this.o = o; this.target = target; this.master = master; this.fixedOU = fixedOU; @@ -37,7 +42,7 @@ public class Organisation extends CertificateOwner { } public Organisation getOrganisation() { - return Organisation.this; + return o; } } @@ -109,7 +114,7 @@ public class Organisation extends CertificateOwner { if (co instanceof Organisation) { return (Organisation) co; } - return null; + throw new IllegalArgumentException("Organisation not found."); } public synchronized void addAdmin(User admin, User actor, boolean master) throws GigiApiException { @@ -156,7 +161,7 @@ public class Organisation extends CertificateOwner { ArrayList al = new ArrayList<>(rs.getRow()); rs.beforeFirst(); while (rs.next()) { - al.add(new Affiliation(User.getById(rs.getInt(1)), rs.getString(2).equals("y"), null)); + al.add(new Affiliation(this, User.getById(rs.getInt(1)), rs.getString(2).equals("y"), null)); } return al; } @@ -212,4 +217,10 @@ public class Organisation extends CertificateOwner { public boolean isValidEmail(String email) { return isValidDomain(email.split("@", 2)[1]); } + + public static final String SELF_ORG_NAME = "SomeCA"; + + public boolean isSelfOrganisation() { + return SELF_ORG_NAME.equals(getName()); + } }