public class UserRole implements Cloneable, CacheChange.Data {
- private static final String SEPARATOR = "\",\"";
+ public static final String UR = "ur";
+ public static final String APPROVE_UR = "ur";
+
+ private static final String SEPARATOR = "\",\"";
// CACHE Calling
private static final String LOG_FMT = "%s UserRole - %s: %s-%s (%s, %s) expiring %s";
cache.resetLocalData();
}
- public void row(final CSV.Writer csvw) {
- csvw.row("ur",user(),ns(),rname(),Chrono.dateOnlyStamp(expires()));
+ public void row(final CSV.Writer csvw, String tag) {
+ csvw.row(tag,user(),role(),ns(),rname(),Chrono.dateOnlyStamp(expires()),expires().getTime());
+ }
+
+ 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 row(StringBuilder sb, List<String> row) {
+ public static Data row(List<String> 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<String> 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('.');
- sb.append(row.get(3));
sb.append("';\n");
}
+ public static void batchExtend(StringBuilder sb, List<String> row, String newDate ) {
+ sb.append("UPDATE authz.user_role SET expires='");
+ sb.append(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 histMemo(String fmt, List<String> row) {
- return String.format(fmt, row.get(1),row.get(2)+'.'+row.get(3), row.get(4));
+ 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<String> row) {
- return row.get(1) + '|' + row.get(2)+'.'+row.get(3);
+ return row.get(1) + '|' + row.get(2);
}
}
\ No newline at end of file