X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-batch%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fbatch%2Fhelpers%2FUserRole.java;h=d5c0d771d22ccc7e292588b31e558e93a1d39745;hb=3d1706fcbe7f95830ff6fd23cf679ee55c6d0595;hp=343a0e2ba918cafd7174a1e72daa2df0c4fc297a;hpb=da6154df2951bbdedea753f588d41153e3582ef5;p=aaf%2Fauthz.git diff --git a/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/helpers/UserRole.java b/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/helpers/UserRole.java index 343a0e2b..d5c0d771 100644 --- a/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/helpers/UserRole.java +++ b/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/helpers/UserRole.java @@ -21,6 +21,7 @@ package org.onap.aaf.auth.batch.helpers; +import java.io.IOException; import java.io.PrintStream; import java.util.ArrayList; import java.util.Date; @@ -29,10 +30,10 @@ import java.util.List; import java.util.SortedMap; import java.util.TreeMap; -import org.onap.aaf.auth.batch.actions.URDelete; import org.onap.aaf.auth.dao.cass.UserRoleDAO; import org.onap.aaf.auth.dao.cass.UserRoleDAO.Data; import org.onap.aaf.auth.env.AuthzTrans; +import org.onap.aaf.cadi.CadiException; import org.onap.aaf.cadi.util.CSV; import org.onap.aaf.misc.env.Env; import org.onap.aaf.misc.env.TimeTaken; @@ -50,7 +51,7 @@ public class UserRole implements Cloneable, CacheChange.Data { public static final String UR = "ur"; public static final String APPROVE_UR = "ur"; - private static final String SEPARATOR = "\",\""; + private static final String SEPARATOR = "\",\""; // CACHE Calling private static final String LOG_FMT = "%s UserRole - %s: %s-%s (%s, %s) expiring %s"; @@ -125,6 +126,14 @@ public class UserRole implements Cloneable, CacheChange.Data { load(trans,session,creator,"user='"+ user +'\'',visitor); } + public static void load(Trans trans, CSV csv, Creator creator, Visitor visitor) throws IOException, CadiException { +// public UserRole(String user, String role, String ns, String rname, Date expires) { + csv.visit( row -> { + visitor.visit(new UserRole(row.get(1),row.get(2),row.get(3),row.get(4), + new Date(Long.parseLong(row.get(6))))); + }); + } + private static void load(Trans trans, Session session, Creator creator, String where, Visitor visitor) { String query = creator.query(where); trans.debug().log( "query: " + query ); @@ -160,8 +169,8 @@ public class UserRole implements Cloneable, CacheChange.Data { } public static class DataLoadVisitor implements Visitor { - @Override - public void visit(UserRole ur) { + @Override + public void visit(UserRole ur) { data.add(ur); List lur = byUser.get(ur.urdd.user); @@ -177,7 +186,7 @@ public class UserRole implements Cloneable, CacheChange.Data { byRole.put(ur.urdd.role, lur); } lur.add(ur); - } + } } public int totalLoaded() { @@ -295,80 +304,82 @@ public class UserRole implements Cloneable, CacheChange.Data { cache.resetLocalData(); } - public static int sizeForDeletion() { - return cache.cacheSize(); + public void row(final CSV.Writer csvw, String tag) { + csvw.row(tag,user(),role(),ns(),rname(),Chrono.dateOnlyStamp(expires()),expires().getTime()); } - public static boolean pendingDelete(UserRole ur) { - return cache.contains(ur); + public void row(final CSV.Writer csvw, String tag, String reason) { + csvw.row(tag,user(),role(),ns(),rname(),Chrono.dateOnlyStamp(expires()),expires().getTime(),reason); } - - public static void actuateDeletionNow(AuthzTrans trans, URDelete directDel) { - for (UserRole ur : cache.getRemoved()) { - directDel.exec(trans, ur, "Actuating UserRole Deletion"); - } - cache.getRemoved().clear(); - cache.resetLocalData(); + + public static Data row(List row) { + Data data = new Data(); + data.user = row.get(1); + data.role = row.get(2); + data.ns = row.get(3); + data.rname = row.get(4); + data.expires = new Date(Long.parseLong(row.get(6))); + return data; } - public void row(final CSV.Writer csvw, String tag) { - csvw.row(tag,user(),role(),ns(),rname(),Chrono.dateOnlyStamp(expires()),expires().getTime()); + public static void batchDelete(StringBuilder sb, List row) { + sb.append("DELETE from authz.user_role WHERE user='"); + sb.append(row.get(1)); + sb.append("' AND role='"); + sb.append(row.get(2)); + sb.append("';\n"); } - public void row(final CSV.Writer csvw, String tag, String reason) { - csvw.row(tag,user(),role(),ns(),rname(),Chrono.dateOnlyStamp(expires()),expires().getTime(),reason); + public static void batchExtend(StringBuilder sb, List row, Date newDate ) { + sb.append("UPDATE authz.user_role SET expires='"); + sb.append(Chrono.dateTime(newDate)); + sb.append("' WHERE user='"); + sb.append(row.get(1)); + sb.append("' AND role='"); + sb.append(row.get(2)); + sb.append("';\n"); + } + + public void batchExtend(StringBuilder sb, Date newDate) { + sb.append("UPDATE authz.user_role SET expires='"); + sb.append(Chrono.dateTime(newDate)); + sb.append("' WHERE user='"); + sb.append(user()); + sb.append("' AND role='"); + sb.append(role()); + sb.append("';\n"); } - public static Data row(List row) { - Data data = new Data(); - data.user = row.get(1); - data.role = row.get(2); - data.ns = row.get(3); - data.rname = row.get(4); - data.expires = new Date(Long.parseLong(row.get(6))); - return data; - } - - public static void batchDelete(StringBuilder sb, List row) { - sb.append("DELETE from authz.user_role WHERE user='"); - sb.append(row.get(1)); - sb.append("' AND role='"); - sb.append(row.get(2)); - sb.append("';\n"); + public void batchUpdateExpires(StringBuilder sb) { + sb.append("UPDATE authz.user_role SET expires='"); + sb.append(Chrono.dateTime(expires())); + sb.append("' WHERE user='"); + sb.append(user()); + sb.append("' AND role='"); + sb.append(role()); + sb.append("';\n"); + } + + public static String histMemo(String fmt, List row) { + String reason; + if(row.size()>7) { // Reason included + reason = String.format("%s removed from %s because %s", + row.get(1),row.get(2),row.get(7)); + } else { + reason = String.format(fmt, row.get(1),row.get(2), row.get(5)); + } + return reason; } - public static void batchExtend(StringBuilder sb, List row, Date newDate ) { - sb.append("UPDATE authz.user_role SET expires='"); - sb.append(Chrono.dateTime(newDate)); - sb.append("' WHERE user='"); - sb.append(row.get(1)); - sb.append("' AND role='"); - sb.append(row.get(2)); - sb.append("';\n"); + public static String histSubject(List row) { + return row.get(1) + '|' + row.get(2); } - public void batchUpdateExpires(StringBuilder sb) { - sb.append("UPDATE authz.user_role SET expires='"); - sb.append(Chrono.dateTime(expires())); - sb.append("' WHERE user='"); - sb.append(user()); - sb.append("' AND role='"); - sb.append(role()); - sb.append("';\n"); - } - - public static String histMemo(String fmt, List row) { - String reason; - if(row.size()>7) { // Reason included - reason = String.format("%s removed from %s because %s", - row.get(1),row.get(2),row.get(7)); - } else { - reason = String.format(fmt, row.get(1),row.get(2), row.get(5)); - } - return reason; - } - - public static String histSubject(List row) { - return row.get(1) + '|' + row.get(2); - } + public static void clear() { + data.clear(); + byUser.clear(); + byRole.clear(); + cache.resetLocalData(); + + } } \ No newline at end of file