Batch, Remove unneeded Classes, refine, etc
[aaf/authz.git] / auth / auth-batch / src / main / java / org / onap / aaf / auth / batch / helpers / UserRole.java
index 30069d6..a26da91 100644 (file)
@@ -29,7 +29,6 @@ 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;
@@ -47,7 +46,10 @@ import com.datastax.driver.core.Statement;
 
 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";
@@ -119,12 +121,12 @@ public class UserRole implements Cloneable, CacheChange.Data  {
     }
     
     public static void loadOneUser(Trans trans, Session session, Creator<UserRole> creator, String user, Visitor<UserRole> visitor ) {
-        load(trans,session,creator,"role='"+ user +"';",visitor);
+        load(trans,session,creator,"user='"+ user +'\'',visitor);
     }
 
     private static void load(Trans trans, Session session, Creator<UserRole> creator, String where, Visitor<UserRole> visitor) {
         String query = creator.query(where);
-        trans.info().log( "query: " + query );
+        trans.debug().log( "query: " + query );
         TimeTaken tt = trans.start("Read UserRoles", Env.REMOTE);
 
         ResultSet results;
@@ -142,7 +144,7 @@ public class UserRole implements Cloneable, CacheChange.Data  {
                 tt.done();
             }
         } finally {
-            trans.info().log("Loaded",totalLoaded,"UserRoles");
+            trans.debug().log("Loaded",totalLoaded,"UserRoles");
         }
     }
 
@@ -292,35 +294,64 @@ public class UserRole implements Cloneable, CacheChange.Data  {
         cache.resetLocalData();
     }
     
-    public static int sizeForDeletion() {
-        return cache.cacheSize();
-    }
-
-    public static boolean pendingDelete(UserRole ur) {
-        return cache.contains(ur);
+    public void row(final CSV.Writer csvw, String tag) {
+       csvw.row(tag,user(),role(),ns(),rname(),Chrono.dateOnlyStamp(expires()),expires().getTime());
     }
 
-    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 void row(final CSV.Writer csvw) {
-       csvw.row("ur",user(),ns(),rname(),Chrono.dateOnlyStamp(expires()));
+    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, 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 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<String> 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<String> row) {
+               return row.get(1) + '|' + row.get(2);   
+       }
 }
\ No newline at end of file