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=db96d50a801516721a3994a9465486b3762b73da;hpb=fad7e682d0a0bbb8e218dabd9381634955ff80ad;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..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. @@ -21,34 +23,121 @@ 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 { + + 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) { + 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; + } + -public class NotifyCredBody extends AbsCredBody { - private final String explanation; - public NotifyCredBody(Access access, String name) throws IOException { - super(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."; - } - - @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"); - for(List row : rows.get(id)) { - - } - return sb.toString(); - } }