* 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.
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;
public abstract class NotifyCredBody extends NotifyBody {
private final String explanation;
- public NotifyCredBody(Access access, String name) throws IOException {
+ 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. "
- + "Failure to act before the expiration date will cause your App's "
- + "Authentications to fail."
- + "<h3>Instructions for 'Password':</h3><ul>"
+ + "are expiring on the dates shown. <br><br>"
+ ;
+
+ instruction = "<br><h3>Instructions for 'Password':</h3><ul>"
+ "<li><b><i>Click</i></b> 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>IF there is a WARNING, click the link for more information</li>"
+ "</ul>";
}
+
+ /**
+ * 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);
+ print(sb,indent,explanation);
+ print(sb,indent,dynamic());
+ println(sb,indent,instruction);
println(sb,indent,"<table>");
indent+=2;
println(sb,indent,"<tr>");
println(sb,indent,"<th>Warnings</th>");
indent-=2;
println(sb,indent,"</tr>");
- String theid, type, info, expires, warnings;
+ String theid;
+ String type;
+ String info;
+ String expires;
+ String warnings;
GregorianCalendar gc = new GregorianCalendar();
for(List<String> row : rows.get(id)) {
theid=row.get(1);
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 ... 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<String> row) {