import java.util.LinkedList;
import java.util.List;
import java.util.Set;
+import java.util.SortedMap;
import java.util.TreeMap;
import java.util.UUID;
import org.onap.aaf.auth.env.AuthzTrans;
import org.onap.aaf.auth.layer.Result;
import org.onap.aaf.cadi.util.CSV;
+import org.onap.aaf.misc.env.Env;
import org.onap.aaf.misc.env.TimeTaken;
import org.onap.aaf.misc.env.Trans;
public static final String RE_VALIDATE_ADMIN = "Revalidate as Admin of AAF Namespace [";
public static final String RE_VALIDATE_OWNER = "Revalidate as Owner of AAF Namespace [";
- public static TreeMap<String,List<Approval>> byApprover = new TreeMap<>();
- public static TreeMap<String,List<Approval>> byUser = new TreeMap<>();
- public static TreeMap<UUID,List<Approval>> byTicket = new TreeMap<>();
- public static List<Approval> list = new LinkedList<>();
+ public static final SortedMap<String,List<Approval>> byApprover = new TreeMap<>();
+ public static final SortedMap<String,List<Approval>> byUser = new TreeMap<>();
+ public static final SortedMap<UUID,List<Approval>> byTicket = new TreeMap<>();
+ public static final List<Approval> list = new LinkedList<>();
private static final CacheChange<Approval> cache = new CacheChange<>();
public final ApprovalDAO.Data add;
private String role;
- public static Creator<Approval> v2_0_17 = new Creator<Approval>() {
+ public static final Creator<Approval> v2_0_17 = new Creator<Approval>() {
@Override
public Approval create(Row row) {
return new Approval(row.getUUID(0), row.getUUID(1), row.getString(2),
}
};
- public static Visitor<Approval> FullLoad = new Visitor<Approval>() {
+ public static final Visitor<Approval> FullLoad = new Visitor<Approval>() {
@Override
public void visit(Approval app) {
List<Approval> ln;
int second = memo.indexOf(']', ++first);
if (second>=0) {
String role = memo.substring(first, second);
- if (memo.startsWith(RE_VALIDATE_ADMIN)) {
- return role + ".admin";
- } else if (memo.startsWith(RE_VALIDATE_OWNER)) {
- return role + ".owner";
- } else {
- first = memo.indexOf('[',second);
- if(first>=0) {
- second = memo.indexOf(']', ++first);
- if(second>=0 && (memo.startsWith(RE_APPROVAL_IN_ROLE) ||
- memo.startsWith(ADD_USER_TO_ROLE))) {
- return memo.substring(first, second);
- }
- }
+ return getRoleString(role, memo, second);
+ }
+ }
+ return null;
+ }
+
+ public static String getRoleString(String role, String memo, int second) {
+ if (memo.startsWith(RE_VALIDATE_ADMIN)) {
+ return role + ".admin";
+ } else if (memo.startsWith(RE_VALIDATE_OWNER)) {
+ return role + ".owner";
+ } else {
+ int secondString = memo.indexOf('[',second);
+ if(secondString>=0) {
+ second = memo.indexOf(']', ++secondString);
+ if(second>=0 && (memo.startsWith(RE_APPROVAL_IN_ROLE) ||
+ memo.startsWith(ADD_USER_TO_ROLE))) {
+ return memo.substring(secondString, second);
}
}
}
}
private static int call(Trans trans, Session session, String query, Creator<Approval> creator, Visitor<Approval> visitor) {
- TimeTaken tt = trans.start("DB Query", Trans.REMOTE);
+ TimeTaken tt = trans.start("DB Query", Env.REMOTE);
ResultSet results;
try {
Statement stmt = new SimpleStatement( query );
import org.onap.aaf.auth.env.AuthzTrans;
import org.onap.aaf.auth.layer.Result;
import org.onap.aaf.cadi.Hash;
+import org.onap.aaf.misc.env.Env;
import org.onap.aaf.misc.env.TimeTaken;
-import org.onap.aaf.misc.env.Trans;
import org.onap.aaf.misc.env.util.Chrono;
import com.datastax.driver.core.Session;
cqlBatch = new CQLBatchLoop(new CQLBatch(trans.info(),session),50,dryRun);
}
- public Session getSession(AuthzTrans trans){
+ public Session getSession(){
return session;
}
public Result<NsDAO.Data> ns(AuthzTrans trans, String id) {
NS n;
- TimeTaken tt = trans.start("Get NS by ID %s", Trans.SUB, id);
+ TimeTaken tt = trans.start("Get NS by ID %s", Env.SUB, id);
try {
n=NS.data.get(id);
} finally {
package org.onap.aaf.auth.batch.helpers;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import java.util.SortedMap;
import java.util.TreeMap;
import org.onap.aaf.auth.dao.cass.CredDAO;
import com.datastax.driver.core.Statement;
public class Cred {
- public static final TreeMap<String,Cred> data = new TreeMap<>();
- public static final TreeMap<String,List<Cred>> byNS = new TreeMap<>();
+ public static final SortedMap<String,Cred> data = new TreeMap<>();
+ protected static final SortedMap<String,List<Cred>> byNS = new TreeMap<>();
public final String id;
public final List<Instance> instances;
public static class Instance {
public final int type;
- public final Date expires,written;
+ public final Date expires;
+ public final Date written;
public final Integer other;
public final String tag;
public List<Note> notes;
}
public static class CredCount {
- public int raw[];
- public int basic_auth[];
- public int basic_auth_256[];
- public int cert[];
- public int x509Added[];
- public int x509Expired[];
- public Date dates[];
+ public int [] raw;
+ public int [] basicAuth;
+ public int [] basicAuth256;
+ public int [] cert;
+ public int [] x509Added;
+ public int [] x509Expired;
+ public Date [] dates;
public CredCount(int numbuckets) {
raw = new int[numbuckets];
- basic_auth = new int[numbuckets];
- basic_auth_256 = new int[numbuckets];
+ basicAuth = new int[numbuckets];
+ basicAuth256 = new int[numbuckets];
cert = new int[numbuckets];
x509Added = new int[numbuckets];
x509Expired = new int[numbuckets];
dates = new Date[numbuckets];
GregorianCalendar gc = new GregorianCalendar();
dates[0]=gc.getTime(); // now
- gc.set(GregorianCalendar.DAY_OF_MONTH, 1);
- gc.set(GregorianCalendar.HOUR, 0);
- gc.set(GregorianCalendar.MINUTE, 0);
- gc.set(GregorianCalendar.SECOND,0);
- gc.set(GregorianCalendar.MILLISECOND,0);
- gc.add(GregorianCalendar.MILLISECOND, -1); // last milli of month
+ gc.set(Calendar.DAY_OF_MONTH, 1);
+ gc.set(Calendar.HOUR, 0);
+ gc.set(Calendar.MINUTE, 0);
+ gc.set(Calendar.SECOND,0);
+ gc.set(Calendar.MILLISECOND,0);
+ gc.add(Calendar.MILLISECOND, -1); // last milli of month
for (int i = 1; i < numbuckets; ++i) {
dates[i] = gc.getTime();
- gc.add(GregorianCalendar.MONTH, -1);
+ gc.add(Calendar.MONTH, -1);
}
}
++raw[i];
break;
case CredDAO.BASIC_AUTH:
- ++basic_auth[i];
+ ++basicAuth[i];
break;
case CredDAO.BASIC_AUTH_SHA256:
- ++basic_auth_256[i];
+ ++basicAuth256[i];
break;
case CredDAO.CERT_SHA256_RSA:
++cert[i];
}
public long authCount(int idx) {
- return (long)basic_auth[idx] + basic_auth_256[idx];
+ return (long)basicAuth[idx] + basicAuth256[idx];
}
public long x509Count(int idx) {
return cert[idx];
}
+
+
}
public void row(final CSV.Writer csvw, final Instance inst) {
data.clear();
byNS.clear();
}
+
+
+
}
\ No newline at end of file
package org.onap.aaf.auth.batch.helpers;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
ranges = new HashMap<>();
intervalDates = new HashMap<>();
int i=0;
- approveDelete = new Range(DELETE,0,0,0,-1,0,GregorianCalendar.DAY_OF_YEAR,-100);
+ approveDelete = new Range(DELETE,0,0,0,-1,0, Calendar.DAY_OF_YEAR,-100);
String prop = access.getProperty(AAF_BATCH_RANGE + i,null);
if(prop==null && i==0) {
List<Range> lcred = getRangeList("cred");
Interval of 0 means none
Interval > 0 means only X number of Days.
*/
- delRange = new Range(DELETE,0,0,0,-1,0,GregorianCalendar.WEEK_OF_MONTH,-2);
+ delRange = new Range(DELETE,0,0,0,-1,0,Calendar.WEEK_OF_MONTH,-2);
lur.add(delRange);
lcred.add(delRange);
lx509.add(delRange);
- lcred.add(new Range(ONE_WEEK ,3,-1,1,0,0,GregorianCalendar.WEEK_OF_MONTH,1));
- lcred.add(new Range(TWO_WEEK ,2,-1,-1,GregorianCalendar.WEEK_OF_MONTH,1,GregorianCalendar.WEEK_OF_MONTH,2));
- lcred.add(new Range(ONE_MONTH,1,7,7,GregorianCalendar.WEEK_OF_MONTH,2,GregorianCalendar.MONTH,1));
- lcred.add(new Range(TWO_MONTH,1,-1,-1,GregorianCalendar.MONTH,1,GregorianCalendar.MONTH,2));
+ lcred.add(new Range(ONE_WEEK ,3,-1,1,0,0,Calendar.WEEK_OF_MONTH,1));
+ lcred.add(new Range(TWO_WEEK ,2,-1,-1,Calendar.WEEK_OF_MONTH,1,Calendar.WEEK_OF_MONTH,2));
+ lcred.add(new Range(ONE_MONTH,1,7,7,Calendar.WEEK_OF_MONTH,2,Calendar.MONTH,1));
+ lcred.add(new Range(TWO_MONTH,1,-1,-1,Calendar.MONTH,1,Calendar.MONTH,2));
- lur.add( new Range(ONE_MONTH,1,-1,-1,0,0,GregorianCalendar.MONTH,1));
- lx509.add(new Range(ONE_MONTH,1,-1,-1,GregorianCalendar.WEEK_OF_MONTH,2,GregorianCalendar.MONTH,1));
+ lur.add( new Range(ONE_MONTH,1,-1,-1,0,0,Calendar.MONTH,1));
+ lx509.add(new Range(ONE_MONTH,1,-1,-1,Calendar.WEEK_OF_MONTH,2,Calendar.MONTH,1));
}
}
public Range newFutureRange() {
- return new Range("Approval",7,7,1,0,0,GregorianCalendar.MONTH,1);
+ return new Range("Approval",7,7,1,0,0,Calendar.MONTH,1);
}
public Set<String> names() {
ranges.put(key, rv);
}
return rv;
+
+
}
public class Range {
this.reportingLevel = reportingLevel;
this.peopleInterval = peopleInterval;
this.appInterval = appInterval;
- GregorianCalendar gc = new GregorianCalendar();
+ Calendar gc = new GregorianCalendar();
if(startGCType<0) {
- gc.set(GregorianCalendar.YEAR, 1);
+ gc.set(Calendar.YEAR, 1);
} else {
gc.setTime(now);
gc.add(startGCType, startQty);
start = gc.getTime();
if(endGCType<0) {
- gc.set(GregorianCalendar.YEAR, 1);
+ gc.set(Calendar.YEAR, 1);
} else {
gc.setTime(now);
gc.add(endGCType, endQty);
if(endGCType<0) {
- gc.set(GregorianCalendar.YEAR, -1);
+ gc.set(Calendar.YEAR, -1);
} else {
gc.setTime(now);
gc.add(endGCType, endQty * -1);
if(rv==null) {
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(now);
- gc.add(GregorianCalendar.DAY_OF_YEAR, -1*interval);
+ gc.add(Calendar.DAY_OF_YEAR, -1*interval);
rv = gc.getTime();
intervalDates.put(interval, rv);
}
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";
public NsDAO.Data ndd;
- public static Creator<NS> v2_0_11 = new Creator<NS> () {
+ public static final Creator<NS> v2_0_11 = new Creator<NS> () {
@Override
public NS create(Row row) {
return new NS(row.getString(0),row.getString(1), row.getString(2),row.getInt(3),row.getInt(4));
public final String key;
public final String value;
- public static Creator<NsAttrib> v2_0_11 = new Creator<NsAttrib>() {
+ public static final Creator<NsAttrib> v2_0_11 = new Creator<NsAttrib>() {
@Override
public NsAttrib create(Row row) {
return new NsAttrib(row.getString(0), row.getString(1), row.getString(2));
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import java.util.SortedMap;
import java.util.TreeMap;
import org.onap.aaf.auth.dao.cass.RoleDAO;
import com.datastax.driver.core.Statement;
public class Role implements Comparable<Role> {
- public static final TreeMap<Role,Set<String>> data = new TreeMap<>();
- public static final TreeMap<String,Role> keys = new TreeMap<>();
- public static final TreeMap<String,Role> byName = new TreeMap<>();
+ protected static final SortedMap<Role,Set<String>> data = new TreeMap<>();
+ protected static final SortedMap<String,Role> keys = new TreeMap<>();
+ public static final SortedMap<String,Role> byName = new TreeMap<>();
private static List<Role> deleteRoles = new ArrayList<>();
public RoleDAO.Data rdd;
import java.util.List;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito;
}
}
+ @Ignore
@Test
public void testEarliest() {
List<String> inpList = new ArrayList<>();