X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-batch%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fbatch%2Freports%2Fbodies%2FNotifyCredBody.java;h=1f8d978234a249afab00d7422d8ed678352cddfc;hb=d86e3224e6a5af2bd2b713f93bea5e6677d3ebc2;hp=db96d50a801516721a3994a9465486b3762b73da;hpb=8eff612c7c03471951be68687501d96c337a70df;p=aaf%2Fauthz.git diff --git a/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/reports/bodies/NotifyCredBody.java b/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/reports/bodies/NotifyCredBody.java index db96d50a..1f8d9782 100644 --- a/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/reports/bodies/NotifyCredBody.java +++ b/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/reports/bodies/NotifyCredBody.java @@ -21,34 +21,117 @@ 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.helpers.LastNotified; 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; + private final String instruction; + public NotifyCredBody(Access access, String name) throws IOException { - super(name); + super(access,"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."; + explanation = "The following Credentials that you are responsible for " + + "are expiring on the dates shown.

" + ; + + instruction = "

Instructions for 'Password':

"; + } + + /** + * Default Dynamic Text. Override is expected + * @return + */ + protected String dynamic() { + return "Failure to act before the expiration date will cause your App's Authentications to fail."; } @Override - public String body(AuthzTrans trans, Notify n, String id) { - StringBuilder sb = new StringBuilder(); - sb.append(explanation); - sb.append("
"); - sb.append("\n" + - "Role\n" + - "Expires\n" + - "\n"); + public boolean body(AuthzTrans trans, StringBuilder sb, int indent, Notify n, String id) { + print(sb,indent,explanation); + print(sb,indent,dynamic()); + println(sb,indent,instruction); + println(sb,indent,""); + indent+=2; + println(sb,indent,""); + indent+=2; + println(sb,indent,""); + println(sb,indent,""); + println(sb,indent,""); + println(sb,indent,""); + println(sb,indent,""); + indent-=2; + println(sb,indent,""); + String theid, type, info, expires, warnings; + GregorianCalendar gc = new GregorianCalendar(); for(List 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 = ""+theid+""; + gc.setTimeInMillis(Long.parseLong(row.get(5))); + expires = Chrono.niceUTCStamp(gc); + info = row.get(6); + //TODO get Warnings + warnings = ""; + println(sb,indent,""); + 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,""); + } + indent-=2; + println(sb,indent,"
Fully Qualified IDUnique IDTypeExpiresWarnings
"); + + return true; + } + + @Override + public void record(AuthzTrans trans, StringBuilder query, String id, List notified, LastNotified ln) { + for(List row : rows.get(id)) { + for(String n : notified) { + // Need to match LastNotified Key ... cred.id + '|' + inst.type + '|' + inst.tag; + ln.update(query, n, row.get(0), row.get(1)+'|'+row.get(3)+'|'+row.get(6)); + } } - return sb.toString(); } + + @Override + public String user(List row) { + if( (row != null) && row.size()>1) { + return row.get(1); + } + return null; + } + + }