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=7001c024b76a154c57ca18a87e01b507665d0eb4;hb=07fb3ece74a9aa1fad8e2a9fab73b4de3e36853b;hp=94502d9f042c2f79770f47accb108555d7de6bf6;hpb=a174f8ddbc5eb78a648fb68b33ef18cb64d81fda;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 94502d9f..7001c024 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 @@ -3,6 +3,8 @@ * org.onap.aaf * =========================================================================== * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * + * Modifications Copyright (C) 2019 IBM. * =========================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +26,7 @@ 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; @@ -31,84 +34,110 @@ import org.onap.aaf.misc.env.util.Chrono; public abstract class NotifyCredBody extends NotifyBody { - private final String explanation; - public NotifyCredBody(Access access, String name) throws IOException { - super(access,"cred",name); - - // Default - explanation = "The following Credentials that you are responsible for " - + "are expiring on the dates shown. " - + "Failure to act before the expiration date will cause your App's " - + "Authentications to fail." - + "

Instructions for 'Password':

"; - } + private final String explanation; + private final String instruction; + + public NotifyCredBody(Access access, String name) { + super(access,"cred",name); + + // Default + 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 boolean body(AuthzTrans trans, StringBuilder sb, int indent, Notify n, String id) { - println(sb,indent,explanation); - 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 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; + String type; + String info; + String expires; + String 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)); + } + } + } - @Override - public String user(List row) { - if( (row != null) && row.size()>1) { - return row.get(1); - } - return null; - } + @Override + public String user(List row) { + if( (row != null) && row.size()>1) { + return row.get(1); + } + return null; + } }