]> WPIA git - gigi.git/blobdiff - util-testing/org/cacert/gigi/pages/Manager.java
add: residence country for user account
[gigi.git] / util-testing / org / cacert / gigi / pages / Manager.java
index 2bc7bdea20d182dc50b1220a013bd0dcf728aea6..52d25be6f1f92ef1a51d00e002ec0dc41d660e33 100644 (file)
@@ -34,6 +34,8 @@ import org.cacert.gigi.dbObjects.CATS.CATSType;
 import org.cacert.gigi.dbObjects.Certificate;
 import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
 import org.cacert.gigi.dbObjects.CertificateOwner;
+import org.cacert.gigi.dbObjects.CountryCode;
+import org.cacert.gigi.dbObjects.CountryCode.CountryCodeType;
 import org.cacert.gigi.dbObjects.Digest;
 import org.cacert.gigi.dbObjects.Domain;
 import org.cacert.gigi.dbObjects.DomainPingType;
@@ -142,8 +144,20 @@ public class Manager extends Page {
 
     public static class MailFetcher extends DelegateMailProvider {
 
+        Pattern[] toForward;
+
         public MailFetcher(Properties props) {
             super(props, props.getProperty("emailProvider.manager.target"));
+            String str = props.getProperty("emailProvider.manager.filter");
+            if (str == null) {
+                toForward = new Pattern[0];
+            } else {
+                String[] parts = str.split(" ");
+                toForward = new Pattern[parts.length];
+                for (int i = 0; i < parts.length; i++) {
+                    toForward[i] = Pattern.compile(parts[i]);
+                }
+            }
         }
 
         @Override
@@ -152,14 +166,19 @@ public class Manager extends Page {
         }
 
         @Override
-        public synchronized void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException {
+        public synchronized void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException {
             HashMap<String, LinkedList<String>> mails = Manager.getInstance().emails;
             LinkedList<String> hismails = mails.get(to);
             if (hismails == null) {
                 mails.put(to, hismails = new LinkedList<>());
             }
             hismails.addFirst(subject + "\n" + message);
-            super.sendMail(to, subject, message, from, replyto, toname, fromname, errorsto, extra);
+            for (int i = 0; i < toForward.length; i++) {
+                if (toForward[i].matcher(to).matches()) {
+                    super.sendMail(to, subject, message, replyto, toname, fromname, errorsto, extra);
+                    return;
+                }
+            }
         }
 
     }
@@ -208,7 +227,7 @@ public class Manager extends Page {
         Calendar gc = GregorianCalendar.getInstance();
         gc.setTimeInMillis(0);
         gc.set(1990, 0, 1);
-        User u = new User(email, "xvXV12°§", new DayDate(gc.getTime().getTime()), Locale.ENGLISH, //
+        User u = new User(email, "xvXV12°§", new DayDate(gc.getTime().getTime()), Locale.ENGLISH, null, //
                 new NamePart(NamePartType.FIRST_NAME, "Först"), new NamePart(NamePartType.FIRST_NAME, "Müddle"),//
                 new NamePart(NamePartType.LAST_NAME, "Läst"), new NamePart(NamePartType.SUFFIX, "Süffix"));
         EmailAddress ea = u.getEmails()[0];
@@ -296,7 +315,7 @@ public class Manager extends Page {
                     if (vp < 10) {
                         currentVP = vp;
                     }
-                    Notary.assure(getAssurer(agentNumber), byEmail, byEmail.getPreferredName(), byEmail.getDoB(), currentVP, "Testmanager Verify up code", "2014-11-06", AssuranceType.FACE_TO_FACE);
+                    Notary.assure(getAssurer(agentNumber), byEmail, byEmail.getPreferredName(), byEmail.getDoB(), currentVP, "Testmanager Verify up code", "2014-11-06", AssuranceType.FACE_TO_FACE, CountryCode.getCountryCode("DE", CountryCodeType.CODE_2_CHARS));
                     agentNumber += 1;
                     vp -= currentVP;
                 }
@@ -313,7 +332,7 @@ public class Manager extends Page {
             try {
                 for (int i = 0; i < 25; i++) {
                     User a = getAssurer(i);
-                    Notary.assure(byEmail, a, a.getNames()[0], a.getDoB(), 10, "Testmanager exp up code", "2014-11-06", AssuranceType.FACE_TO_FACE);
+                    Notary.assure(byEmail, a, a.getNames()[0], a.getDoB(), 10, "Testmanager exp up code", "2014-11-06", AssuranceType.FACE_TO_FACE, CountryCode.getCountryCode("DE", CountryCodeType.CODE_2_CHARS));
                 }
             } catch (GigiApiException e) {
                 throw new Error(e);