]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/Organisation.java
upd: use self-org name for CATS-API-test
[gigi.git] / src / org / cacert / gigi / dbObjects / Organisation.java
index 6b5b28f44234dd006ab6f3f8d3bef29edcc542e8..5da2506855d0c16a764bd26eb6a37b87a43f366c 100644 (file)
@@ -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<Affiliation> 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 = "CAcert";
+
+    public boolean isSelfOrganisation() {
+        return SELF_ORG_NAME.equals(getName());
+    }
 }