Batch, Remove unneeded Classes, refine, etc
[aaf/authz.git] / auth / auth-batch / src / main / java / org / onap / aaf / auth / batch / reports / bodies / NotifyURBody.java
index e2c04d7..20ba816 100644 (file)
 package org.onap.aaf.auth.batch.reports.bodies;
 
 import java.io.IOException;
+import java.util.Date;
 import java.util.List;
 
+import org.onap.aaf.auth.batch.helpers.LastNotified;
 import org.onap.aaf.auth.batch.reports.Notify;
 import org.onap.aaf.auth.env.AuthzTrans;
 import org.onap.aaf.auth.org.Organization.Identity;
 import org.onap.aaf.auth.org.OrganizationException;
 import org.onap.aaf.cadi.Access;
+import org.onap.aaf.misc.env.util.Chrono;
 
 public abstract class NotifyURBody extends NotifyBody {
 
        private final String explanation;
        public NotifyURBody(Access access, String name) throws IOException {
-               super("ur",name);
+               super(access,"ur",name);
                
                // Default
-               explanation = "The Roles for the IDs listed will expire on the dates shown. If "
-                               + "allowed to expire, the ID will no longer have access to the Permissions "
-                               + "associated with that Role.";
+               explanation = "The Roles for the IDs associated with you will expire on the dates shown. "
+                               + "If the role membership is allowed to expire, "
+                               + "the ID will no longer have the permissions associated with that role.<br><br>"
+                       + "It is the responsibility of the Designated Approvers to approve, but you can monitor "
+                       + "their progress by clicking the ID Link.";    
        }
 
        @Override
@@ -63,6 +68,7 @@ public abstract class NotifyURBody extends NotifyBody {
                        fullname = "n/a";
                }
                println(sb,indent,explanation);
+               println(sb,indent,"<br><br>");
                println(sb,indent,"<table>");
                indent+=2;
                println(sb,indent,"<tr>");
@@ -80,9 +86,12 @@ public abstract class NotifyURBody extends NotifyBody {
                        println(sb,indent,"<tr>");
                        indent+=2;
                        name = printCell(sb,indent,fullname,name);
-                       fqi = printCell(sb,indent,row.get(1),fqi);
-                       printCell(sb,indent,row.get(2)+'.'+row.get(3));
-                       printCell(sb,indent,row.get(4));
+                       String rid = row.get(1);
+                       String fqiCell = "<a href=\"" + gui_url + "/myrequests\">" + rid + "</a>";
+                       fqi = printCell(sb,indent,fqiCell,fqi);
+                       printCell(sb,indent,row.get(2));
+                       Date expires = new Date(Long.parseLong(row.get(6)));
+                       printCell(sb,indent,Chrono.niceUTCStamp(expires));
                        indent-=2;
                        println(sb,indent,"</tr>");
                }
@@ -91,6 +100,17 @@ public abstract class NotifyURBody extends NotifyBody {
                
                return true;
        }
+       
+       
+       @Override
+       public void record(AuthzTrans trans, StringBuilder query, String id, List<String> notified, LastNotified ln) {
+               for(List<String> row : rows.get(id)) {
+                       for(String n : notified) {
+                               // Need to match LastNotified Key ... ur.user() + '|'+ur.role();
+                               ln.update(query, n, row.get(0), row.get(1)+'|'+row.get(2));
+                       }
+               }
+       }
 
        @Override
        public String user(List<String> row) {