* 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.
import com.datastax.driver.core.Statement;
public class Future implements CacheChange.Data, Comparable<Future> {
- public static final Map<UUID,Future> data = new TreeMap<>();
- public static final Map<String,List<Future>> byRole = new TreeMap<>();
-
+ protected static final Map<UUID,Future> data = new TreeMap<>();
+ protected static final Map<String,List<Future>> byRole = new TreeMap<>();
+
public final FutureDAO.Data fdd;
public final String role; // derived
private static final CacheChange<Future> cache = new CacheChange<>();
- public static Creator<Future> v2_0_17 = new Creator<Future>() {
+ public static final Creator<Future> v2_0_17 = new Creator<Future>() {
@Override
public Future create(Row row) {
return new Future(row.getUUID(0),row.getString(1),row.getString(2),
}
};
- public static Creator<Future> withConstruct = new Creator<Future>() {
+ public static final Creator<Future> withConstruct = new Creator<Future>() {
@Override
public String select() {
return "select id,memo,target,start,expires,construct from authz.future";
fdd.expires = expires;
fdd.construct = construct;
String role = null;
- switch(target) {
- case "user_role":
- UserRoleDAO.Data urdd = new UserRoleDAO.Data();
- try {
- urdd.reconstitute(construct);
- fdd.target_key = urdd.user + '|' + urdd.role;
- fdd.target_date=urdd.expires;
- role=urdd.role;
- } catch (IOException e) {
- e.printStackTrace(System.err);
- }
- break;
+ if ("user_role".equals(target)) {
+ UserRoleDAO.Data urdd = new UserRoleDAO.Data();
+ try {
+ urdd.reconstitute(construct);
+ fdd.target_key = urdd.user + '|' + urdd.role;
+ fdd.target_date = urdd.expires;
+ role = urdd.role;
+ } catch (IOException e) {
+ e.printStackTrace(System.err);
+ }
}
- this.role = role;
+ this.role = role;
}
-
+
public final UUID id() {
return fdd.id;
}
-
+
public final String memo() {
return fdd.memo;
}
-
+
public final String target() {
return fdd.target;
}
-
+
public final Date start() {
return fdd.start;
}
-
+
public final Date expires() {
return fdd.expires;
}
-
+
public static void load(Trans trans, Session session, Creator<Future> creator) {
- load(trans,session,creator, new Visitor<Future>() {
- @Override
- public void visit(Future f) {
- data.put(f.fdd.id,f);
- if (f.role==null) {
- return;
- }
- List<Future> lf = byRole.get(f.role);
- if (lf==null) {
- lf = new ArrayList<>();
- byRole.put(f.role,lf);
- }
- lf.add(f);
- }
- });
+ load(trans,session,creator, f -> {
+ data.put(f.fdd.id,f);
+ if (f.role==null) {
+ return;
+ }
+ List<Future> lf = byRole.computeIfAbsent(f.role, k -> new ArrayList<>());
+ lf.add(f);
+ });
}
} finally {
tt.done();
}
-
+
int count = 0;
tt = trans.start("Process Futures", Env.SUB);
try {
for (Row row : results.all()) {
- ++count;
- visitor.visit(creator.create(row));
+ ++count;
+ visitor.visit(creator.create(row));
}
} finally {
tt.done();
}
return rv;
}
-
+
/* (non-Javadoc)
* @see org.onap.aaf.auth.helpers.CacheChange.Data#resetLocalData()
*/
public static void resetLocalData() {
cache.resetLocalData();
}
-
+
public static int sizeForDeletion() {
return cache.cacheSize();
}
public static boolean pendingDelete(Future f) {
return cache.contains(f);
}
-
- public static void row(CSV.Writer cw, Future f) {
- cw.row("future",f.fdd.id,f.fdd.target,f.fdd.expires,f.role,f.fdd.memo);
- }
+
+ public static void row(CSV.Writer cw, Future f) {
+ cw.row("future",f.fdd.id,f.fdd.target,f.fdd.expires,f.role,f.fdd.memo);
+ }
- public static void deleteByIDBatch(StringBuilder sb, String id) {
- sb.append("DELETE from authz.future where id=");
- sb.append(id);
- sb.append(";\n");
- }
+ public static void deleteByIDBatch(StringBuilder sb, String id) {
+ sb.append("DELETE from authz.future where id=");
+ sb.append(id);
+ sb.append(";\n");
+ }
}