package org.onap.aaf.auth.cmd.user;
-import java.util.Collections;
-import java.util.Comparator;
-
import org.onap.aaf.auth.cmd.AAFcli;
import org.onap.aaf.auth.cmd.Cmd;
import org.onap.aaf.auth.cmd.Param;
import org.onap.aaf.misc.env.APIException;
import aaf.v2_0.Users;
-import aaf.v2_0.Users.User;
/**
* p
*
*/
public class ListForRoles extends Cmd {
- private static final String HEADER = "List Users for Role";
- public ListForRoles(List parent) {
- super(parent,"role", new Param("role",true));
- }
+ private static final String HEADER = "List Users for Role";
+ public ListForRoles(List parent) {
+ super(parent,"role", new Param("role",true));
+ }
- @Override
- public int _exec(int _idx, final String ... args) throws CadiException, APIException, LocatorException {
- int idx = _idx;
- final String role = args[idx++];
- return same(new Retryable<Integer>() {
- @Override
- public Integer code(Rcli<?> client) throws CadiException, APIException {
- Future<Users> fp = client.read(
- "/authz/users/role/"+role,
- getDF(Users.class)
- );
- if(fp.get(AAFcli.timeout())) {
- if (aafcli.isTest())
- Collections.sort(fp.value.getUser(), new Comparator<User>() {
- @Override
- public int compare(User u1, User u2) {
- return u1.getId().compareTo(u2.getId());
- }
- });
- ((org.onap.aaf.auth.cmd.user.List)parent).report(fp.value,false, HEADER,role);
- if(fp.code()==404)return 200;
- } else {
- error(fp);
- }
- return fp.code();
- }
- });
- }
-
- @Override
- public void detailedHelp(int _indent, StringBuilder sb) {
- int indent = _indent;
- detailLine(sb,indent,HEADER);
- indent+=2;
- detailLine(sb,indent,"This report lists the users associated to Roles.");
- detailLine(sb,indent,"role - the Role name");
- indent-=2;
- api(sb,indent,HttpMethods.GET,"authz/users/role/<role>",Users.class,true);
- }
+ @Override
+ public int _exec(int _idx, final String ... args) throws CadiException, APIException, LocatorException {
+ int idx = _idx;
+ final String role = args[idx++];
+ return same(new Retryable<Integer>() {
+ @Override
+ public Integer code(Rcli<?> client) throws CadiException, APIException {
+ Future<Users> fp = client.read(
+ "/authz/users/role/"+role,
+ getDF(Users.class)
+ );
+ if (fp.get(AAFcli.timeout())) {
+ ((org.onap.aaf.auth.cmd.user.List)parent).report(fp.value,false, HEADER,role);
+ if (fp.code()==404)return 200;
+ } else {
+ error(fp);
+ }
+ return fp.code();
+ }
+ });
+ }
+
+ @Override
+ public void detailedHelp(int _indent, StringBuilder sb) {
+ int indent = _indent;
+ detailLine(sb,indent,HEADER);
+ indent+=2;
+ detailLine(sb,indent,"This report lists the users associated to Roles.");
+ detailLine(sb,indent,"role - the Role name");
+ indent-=2;
+ api(sb,indent,HttpMethods.GET,"authz/users/role/<role>",Users.class,true);
+ }
}