- if (fr.get(AAFcli.timeout())) {
- if (aafcli.isDetailed()) {
- Future<Perms> fp = client.read(
- "/authz/perms/user/"+user+(aafcli.isDetailed()?"?ns":""),
- getDF(Perms.class)
- );
- if (fp.get(AAFcli.timeout())) {
- perms = fp.value;
+ if (fur.get(AAFcli.timeout())) {
+ urs = fur.value;
+ code = fur.code();
+ } else {
+ error(fur);
+ return fur.code();
+ }
+
+ if (aafcli.isDetailed()) {
+ roles = new Roles();
+ Future<Perms> fp = client.read(
+ "/authz/perms/user/"+user+"?ns&force",
+ getDF(Perms.class)
+ );
+ if (fp.get(AAFcli.timeout())) {
+ Map<String, Role> rs = new TreeMap<>();
+ perms = fp.value;
+ for( Perm p : perms.getPerm()) {
+ for(String sr : p.getRoles()) {
+ Role r = rs.get(sr);
+ if(r==null) {
+ r = new Role();
+ String[] split = Split.split('|', sr);
+ if(split.length>1) {
+ r.setNs(split[0]);
+ r.setName(split[1]);
+ } else {
+ r.setName(sr);
+ }
+ rs.put(sr, r);
+ roles.getRole().add(r);
+ }
+ r.getPerms().add(p);
+ }