From 05e395c6ca27d4fcf6871e9c249c76c8ce61264e Mon Sep 17 00:00:00 2001 From: GANDHAM Date: Tue, 15 Oct 2019 09:16:11 -0500 Subject: Update shiro bundle & fix sidecar Issue-ID: AAF-111 Change-Id: Id22107054dc0081dc4c803c89f1d75713a083055 Signed-off-by: GANDHAM --- .../onap/aaf/cadi/shiro/AAFAuthorizationInfo.java | 33 ++++++++++++++-------- 1 file changed, 21 insertions(+), 12 deletions(-) (limited to 'shiro/src/main/java/org/onap/aaf/cadi/shiro/AAFAuthorizationInfo.java') diff --git a/shiro/src/main/java/org/onap/aaf/cadi/shiro/AAFAuthorizationInfo.java b/shiro/src/main/java/org/onap/aaf/cadi/shiro/AAFAuthorizationInfo.java index 0035626..ac62778 100644 --- a/shiro/src/main/java/org/onap/aaf/cadi/shiro/AAFAuthorizationInfo.java +++ b/shiro/src/main/java/org/onap/aaf/cadi/shiro/AAFAuthorizationInfo.java @@ -29,6 +29,7 @@ import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.authz.Permission; import org.onap.aaf.cadi.Access; import org.onap.aaf.cadi.Access.Level; +import org.onap.aaf.cadi.aaf.AAFPermission; /** * We treat "roles" and "permissions" in a similar way for first pass. @@ -41,16 +42,17 @@ public class AAFAuthorizationInfo implements AuthorizationInfo { private Access access; private Principal bait; - private List pond; - private ArrayList sPerms; - private ArrayList oPerms; + // Use these to save conversions + private List cPerms; + private List oPerms; + private List sPerms; - public AAFAuthorizationInfo(Access access, Principal bait, List pond) { + public AAFAuthorizationInfo(Access access, Principal bait) { this.access = access; this.bait = bait; - this.pond = pond; - sPerms=null; + cPerms=null; oPerms=null; + sPerms=null; } public Principal principal() { @@ -62,8 +64,12 @@ public class AAFAuthorizationInfo implements AuthorizationInfo { access.log(Level.DEBUG, "AAFAuthorizationInfo.getObjectPermissions"); synchronized(bait) { if(oPerms == null) { - oPerms = new ArrayList(); - for(final org.onap.aaf.cadi.Permission p : pond) { + oPerms = new ArrayList<>(); + if(cPerms==null) { + cPerms = new ArrayList<>(); + AAFRealm.singleton.authz.fishAll(bait, cPerms); + } + for(final org.onap.aaf.cadi.Permission p : cPerms) { oPerms.add(new AAFShiroPermission(p)); } } @@ -83,10 +89,13 @@ public class AAFAuthorizationInfo implements AuthorizationInfo { access.log(Level.DEBUG,"AAFAuthorizationInfo.getStringPermissions"); synchronized(bait) { if(sPerms == null) { - sPerms = new ArrayList(); - for(org.onap.aaf.cadi.Permission p : pond) { - sPerms.add(p.getKey().replace("|",":")); - access.printf(Level.INFO,"%s has %s",bait.getName(),p.getKey()); + sPerms = new ArrayList<>(); + if(cPerms==null) { + cPerms = new ArrayList<>(); + AAFRealm.singleton.authz.fishAll(bait,cPerms); + } + for(final org.onap.aaf.cadi.Permission p : cPerms) { + sPerms.add(p.getKey()); } } } -- cgit 1.2.3-korg