X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-batch%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fbatch%2Fhelpers%2FRole.java;h=a61619eae685721f2c4139505b4b402f421ea7a6;hb=9a152c4fed4678049b63f53cd94a558b2d6e2cd7;hp=4b4a255188c8774feced2d12ed1fe7753153aceb;hpb=adfe545fbfb2bf2279ed51137f8c86ca2fb35203;p=aaf%2Fauthz.git diff --git a/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/helpers/Role.java b/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/helpers/Role.java index 4b4a2551..a61619ea 100644 --- a/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/helpers/Role.java +++ b/auth/auth-batch/src/main/java/org/onap/aaf/auth/batch/helpers/Role.java @@ -3,13 +3,15 @@ * org.onap.aaf * =========================================================================== * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * + * Modifications Copyright (C) 2018 IBM. * =========================================================================== * 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. @@ -26,8 +28,10 @@ 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.RoleDAO; import org.onap.aaf.misc.env.Env; import org.onap.aaf.misc.env.TimeTaken; import org.onap.aaf.misc.env.Trans; @@ -39,41 +43,45 @@ import com.datastax.driver.core.SimpleStatement; import com.datastax.driver.core.Statement; public class Role implements Comparable { - public static final TreeMap> data = new TreeMap<>(); - public static final TreeMap keys = new TreeMap<>(); - public static final TreeMap byName = new TreeMap<>(); + public static final SortedMap> data = new TreeMap<>(); + public static final SortedMap keys = new TreeMap<>(); + public static final SortedMap byName = new TreeMap<>(); private static List deleteRoles = new ArrayList<>(); - public final String ns, name, description; - private String full, encode; - public final Set perms; - + public RoleDAO.Data rdd; + private String full; + private String encode; + public Role(String full) { - ns = name = description = ""; + rdd = new RoleDAO.Data(); + rdd.ns = ""; + rdd.name = ""; + rdd.description = ""; + rdd.perms = new HashSet<>(); this.full = full; - perms = new HashSet<>(); } - + public Role(String ns, String name, String description,Set perms) { - this.ns = ns; - this.name = name; - this.description = description; + rdd = new RoleDAO.Data(); + rdd.ns = ns; + rdd.name = name; + rdd.description = description; + rdd.perms = perms; this.full = null; this.encode = null; - this.perms = perms; } - + public String encode() { if (encode==null) { - encode = ns + '|' + name; - } + encode = rdd.ns + '|' + rdd.name; + } return encode; } public String fullName() { if (full==null) { - full = ns + '.' + name; - } + full = rdd.ns + '.' + rdd.name; + } return full; } @@ -88,7 +96,7 @@ public class Role implements Comparable { private static void load(Trans trans, Session session, String query) { trans.info().log( "query: " + query ); TimeTaken tt = trans.start("Read Roles", Env.REMOTE); - + ResultSet results; try { Statement stmt = new SimpleStatement( query ); @@ -106,7 +114,7 @@ public class Role implements Comparable { row = iter.next(); Role rk =new Role(row.getString(0),row.getString(1), row.getString(2),row.getSet(3,String.class)); keys.put(rk.encode(), rk); - data.put(rk,rk.perms); + data.put(rk,rk.rdd.perms); byName.put(rk.fullName(), rk); } } finally { @@ -116,7 +124,7 @@ public class Role implements Comparable { trans.info().log("Found",data.size(),"roles"); } } - + public static long count(Trans trans, Session session) { String query = "select count(*) from authz.role LIMIT 1000000;"; trans.info().log( "query: " + query ); @@ -159,11 +167,11 @@ public class Role implements Comparable { public static String fullName(String role) { return role.replace('|', '.'); } - + public static void stageRemove(Role r) { deleteRoles.add(r); } - + public static void executeRemove() { for (Role p : deleteRoles) { keys.remove(p.encode); @@ -172,4 +180,11 @@ public class Role implements Comparable { deleteRoles.clear(); } + public static void clear() { + data.clear(); + keys.clear(); + byName.clear(); + deleteRoles.clear(); + } + } \ No newline at end of file