Clean LOCAL Dir based on VERSION
[aaf/authz.git] / auth / auth-batch / src / main / java / org / onap / aaf / auth / batch / helpers / UserRole.java
index 55dd1e7..9616943 100644 (file)
@@ -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;
@@ -122,12 +123,20 @@ 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);
     }
 
+    public static void load(Trans trans, CSV csv, Creator<UserRole> creator, Visitor<UserRole> 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<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;
@@ -145,7 +154,7 @@ public class UserRole implements Cloneable, CacheChange.Data  {
                 tt.done();
             }
         } finally {
-            trans.info().log("Loaded",totalLoaded,"UserRoles");
+            trans.debug().log("Loaded",totalLoaded,"UserRoles");
         }
     }
 
@@ -295,22 +304,6 @@ 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 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, String tag) {
        csvw.row(tag,user(),role(),ns(),rname(),Chrono.dateOnlyStamp(expires()),expires().getTime());
     }
@@ -337,16 +330,36 @@ public class UserRole implements Cloneable, CacheChange.Data  {
        sb.append("';\n");
     }
 
-    public static void batchExtend(StringBuilder sb, List<String> row, String newDate ) {
+    public static void batchExtend(StringBuilder sb, List<String> row, Date newDate ) {
        sb.append("UPDATE authz.user_role SET expires='");
-       sb.append(newDate);
+       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 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
@@ -361,4 +374,12 @@ public class UserRole implements Cloneable, CacheChange.Data  {
        public static String histSubject(List<String> 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