Batch work and client
[aaf/authz.git] / auth / auth-batch / src / main / java / org / onap / aaf / auth / batch / reports / bodies / NotifyCredBody.java
index db96d50..e06be05 100644 (file)
 package org.onap.aaf.auth.batch.reports.bodies;
 
 import java.io.IOException;
+import java.util.GregorianCalendar;
 import java.util.List;
 
 import org.onap.aaf.auth.batch.reports.Notify;
 import org.onap.aaf.auth.env.AuthzTrans;
 import org.onap.aaf.cadi.Access;
+import org.onap.aaf.misc.env.util.Chrono;
+
+public abstract class NotifyCredBody extends NotifyBody {
 
-public class NotifyCredBody extends AbsCredBody {
        private final String explanation;
        public NotifyCredBody(Access access, String name) throws IOException {
-               super(name);
+               super("cred",name);
                
                // Default
                explanation = "The following Credentials are expiring on the dates shown. "
-                               + "Failure to act before the expiration date will cause your App's Authentications to fail.";
+                               + "Failure to act before the expiration date will cause your App's "
+                               + "Authentications to fail."
+                               + "<h3>Instructions for 'Password':</h3><ul>" 
+                               + "<li>Click on the Fully Qualified ID to ADD a new Password</li>"
+                               + "<li><b>REMEMBER!</b> You are not finished until you <ol>"
+                               + "<li><b>CHANGE <i>ALL</i></b> the configurations on <b><i>ALL</i></b> your processes!!</li>"
+                               + "<li><b>BOUNCE</b> them</li></ol>"
+                               + "<li>IF there is a WARNING, click the link for more information</li>"
+                               + "</ul>";
        }
 
        @Override
-       public String body(AuthzTrans trans, Notify n, String id) {
-               StringBuilder sb = new StringBuilder();
-               sb.append(explanation);
-               sb.append("<br>");
-               sb.append("<tr>\n" + 
-                               "<th>Role</th>\n" + 
-                               "<th>Expires</th>\n" + 
-                               "</tr>\n");
+       public boolean body(AuthzTrans trans, StringBuilder sb, int indent, Notify n, String id) {
+               println(sb,indent,explanation);
+               println(sb,indent,"<table>");
+               indent+=2;
+               println(sb,indent,"<tr>");
+               indent+=2;
+               println(sb,indent,"<th>Fully Qualified ID</th>");
+               println(sb,indent,"<th>Unique ID</th>");
+               println(sb,indent,"<th>Type</th>");
+               println(sb,indent,"<th>Expires</th>");
+               println(sb,indent,"<th>Warnings</th>");
+               indent-=2;
+               println(sb,indent,"</tr>");
+               String theid, type, info, expires, warnings;
+               GregorianCalendar gc = new GregorianCalendar();
                for(List<String> row : rows.get(id)) {
+                       theid=row.get(1);
+                       switch(row.get(3)) {
+                               case "1":
+                               case "2":
+                                       type = "Password";
+                                       break;
+                               case "200":
+                                       type = "x509 (Certificate)";
+                                       break;
+                               default:
+                                       type = "Unknown, see AAF GUI";
+                                       break;
+                       }
+                       theid = "<a href=\""+n.guiURL+"/creddetail?ns="+row.get(2)+"\">"+theid+"</a>";
+                       gc.setTimeInMillis(Long.parseLong(row.get(5)));
+                       expires = Chrono.niceUTCStamp(gc);
+                       info = row.get(6);
+                       //TODO get Warnings 
+                       warnings = "";
                        
+                       println(sb,indent,"<tr>");
+                       indent+=2;
+                       printCell(sb,indent,theid);
+                       printCell(sb,indent,info);
+                       printCell(sb,indent,type);
+                       printCell(sb,indent,expires);
+                       printCell(sb,indent,warnings);
+                       indent-=2;
+                       println(sb,indent,"</tr>");
+               }
+               indent-=2;
+               println(sb,indent,"</table>");
+               
+               return true;
+       }
+
+       @Override
+       public String user(List<String> row) {
+               if( (row != null) && row.size()>1) {
+                       return row.get(1);
                }
-               return sb.toString();
+               return null;
        }
+
+
 }