Merge "AAFcli.java -Declare "value" on a separate line"
[aaf/authz.git] / auth / auth-cass / src / main / java / org / onap / aaf / auth / dao / CachedDAO.java
index 9375502..4e2cd72 100644 (file)
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -30,34 +30,34 @@ import org.onap.aaf.misc.env.Trans;
 
 /**
  * CachedDAO
- * 
- * Cache the response of "get" of any DAO.  
- * 
- * For simplicity's sake, at this time, we only do this for single Object keys  
- * 
+ *
+ * Cache the response of "get" of any DAO.
+ *
+ * For simplicity's sake, at this time, we only do this for single Object keys
+ *
  * @author Jonathan
  *
  * @param <DATA>
  */
-public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extends Cacheable> 
+public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extends Cacheable>
         extends Cached<TRANS,DATA> implements DAO_RO<TRANS,DATA>{
-//    private final String dirty_str; 
-    
+//    private final String dirty_str;
+
     private final D dao;
 
     public CachedDAO(D dao, CIDAO<TRANS> info, int segsize, long expireIn) {
         super(info, dao.table(), segsize, expireIn);
-        
-        // Instantiate a new Cache per DAO name (so separate instances use the same cache) 
+
+        // Instantiate a new Cache per DAO name (so separate instances use the same cache)
         this.dao = dao;
         //read_str = "Cached READ for " + dao.table();
 //        dirty_str = "Cache DIRTY on " + dao.table();
-        if(dao instanceof CassDAOImpl) {
+        if (dao instanceof CassDAOImpl) {
             ((CassDAOImpl<?,?>)dao).cache = this;
         }
     }
-    
-    public static<T extends Trans, DA extends DAO<T,DT>, DT extends Cacheable> 
+
+    public static<T extends Trans, DA extends DAO<T,DT>, DT extends Cacheable>
             CachedDAO<T,DA,DT> create(DA dao, CIDAO<T> info, int segsize, long expireIn) {
         return new CachedDAO<T,DA,DT>(dao,info, segsize, expireIn);
     }
@@ -68,7 +68,7 @@ public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extend
         list.add(data);
         super.add(key,list);
     }
-    
+
 //    public void invalidate(TRANS trans, Object ... objs)  {
 //        TimeTaken tt = trans.start(dirty_str, Env.SUB);
 //        try {
@@ -80,14 +80,14 @@ public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extend
 
     public static String keyFromObjs(Object ... objs) {
         String key;
-        if(objs.length==1 && objs[0] instanceof String) {
+        if (objs.length==1 && objs[0] instanceof String) {
             key = (String)objs[0];
         } else {
             StringBuilder sb = new StringBuilder();
             boolean first = true;
-            for(Object o : objs) {
-                if(o!=null) {
-                    if(first) {
+            for (Object o : objs) {
+                if (o!=null) {
+                    if (first) {
                         first =false;
                     } else {
                         sb.append('|');
@@ -102,7 +102,7 @@ public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extend
 
     public Result<DATA> create(TRANS trans, DATA data) {
         Result<DATA> d = dao.create(trans,data);
-        if(d.status==Status.OK) {
+        if (d.status==Status.OK) {
             add(d.value);
         } else {
             trans.error().log(d.errorString());
@@ -122,7 +122,7 @@ public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extend
             this.dao = dao;
             this.objs = objs;
         }
-        
+
         /**
          * Separated into single call for easy overloading
          * @return
@@ -130,11 +130,11 @@ public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extend
         public Result<List<DATA>> call() {
             return dao.read(trans, objs);
         }
-        
+
         @Override
         public final Result<List<DATA>> get() {
             return call();
-//            if(result.isOKhasData()) { // Note, given above logic, could exist, but stale
+//            if (result.isOKhasData()) { // Note, given above logic, could exist, but stale
 //                return result.value;
 //            } else {
 //                return null;
@@ -144,39 +144,39 @@ public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extend
 
     @Override
     public Result<List<DATA>> read(final TRANS trans, final Object ... objs) {
-        DAOGetter getter = new DAOGetter(trans,dao,objs); 
+        DAOGetter getter = new DAOGetter(trans,dao,objs);
         return get(trans, keyFromObjs(objs),getter);
-//        if(ld!=null) {
+//        if (ld!=null) {
 //            return Result.ok(ld);//.emptyList(ld.isEmpty());
 //        }
 //        // Result Result if exists
-//        if(getter.result==null) {
+//        if (getter.result==null) {
 //            return Result.err(Status.ERR_NotFound, "No Cache or Lookup found on [%s]",dao.table());
 //        }
 //        return getter.result;
     }
 
-    // Slight Improved performance available when String and Obj versions are known. 
+    // Slight Improved performance available when String and Obj versions are known.
     public Result<List<DATA>> read(final String key, final TRANS trans, final Object[] objs) {
-        DAOGetter getter = new DAOGetter(trans,dao,objs); 
+        DAOGetter getter = new DAOGetter(trans,dao,objs);
         return get(trans, key, getter);
-//        if(ld!=null) {
+//        if (ld!=null) {
 //            return Result.ok(ld);//.emptyList(ld.isEmpty());
 //        }
 //        // Result Result if exists
-//        if(getter.result==null) {
+//        if (getter.result==null) {
 //            return Result.err(Status.ERR_NotFound, "No Cache or Lookup found on [%s]",dao.table());
 //        }
 //        return getter.result;
     }
-    
+
     @Override
     public Result<List<DATA>> read(TRANS trans, DATA data) {
         return read(trans,dao.keyFrom(data));
     }
     public Result<Void> update(TRANS trans, DATA data) {
         Result<Void> d = dao.update(trans, data);
-        if(d.status==Status.OK) {
+        if (d.status==Status.OK) {
             add(data);
         } else {
             trans.error().log(d.errorString());
@@ -185,14 +185,14 @@ public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extend
     }
 
     public Result<Void> delete(TRANS trans, DATA data, boolean reread) {
-        if(reread) { // If reread, get from Cache, if possible, not DB exclusively
+        if (reread) { // If reread, get from Cache, if possible, not DB exclusively
             Result<List<DATA>> rd = read(trans,data);
-            if(rd.notOK()) {
+            if (rd.notOK()) {
                 return Result.err(rd);
 //            } else {
 //                trans.error().log(rd.errorString());
             }
-            if(rd.isEmpty()) {
+            if (rd.isEmpty()) {
                 data.invalidate(this);
                 return Result.err(Status.ERR_NotFound,"Not Found");
             }
@@ -202,26 +202,26 @@ public class CachedDAO<TRANS extends Trans,D extends DAO<TRANS,DATA>,DATA extend
         data.invalidate(this);
         return rv;
     }
-    
+
     @Override
     public void close(TRANS trans) {
-        if(dao!=null) {
+        if (dao!=null) {
             dao.close(trans);
         }
     }
-    
+
 
     @Override
     public String table() {
         return dao.table();
     }
-    
+
     public D dao() {
         return dao;
     }
-    
+
     public void invalidate(TRANS trans, DATA data) {
-        if(info.touch(trans, dao.table(),data.invalidate(this)).notOK()) {
+        if (info.touch(trans, dao.table(),data.invalidate(this)).notOK()) {
         trans.error().log("Cannot touch CacheInfo for Role");
     }
     }