X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fservice%2FAafPermissionService.java;h=51941d93a763e52adfb66a55d4d5d8b9260c77d4;hb=c52d9c91d54f7e8b0500cebba00255b3e6b08c13;hp=df604487259d2431e135a13eb767cc2af16cc8a0;hpb=ac2041bbd4f3f7212f91b75bc72d3735b6bc3642;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/service/AafPermissionService.java b/src/main/java/org/onap/dmaap/dbcapi/service/AafPermissionService.java index df60448..51941d9 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/service/AafPermissionService.java +++ b/src/main/java/org/onap/dmaap/dbcapi/service/AafPermissionService.java @@ -31,16 +31,12 @@ import org.onap.dmaap.dbcapi.model.MR_Client; import static java.lang.String.format; -public class AafPermissionService extends BaseLoggingClass { +class AafPermissionService extends BaseLoggingClass { private static final String INSTANCE_PREFIX = ":topic."; private final AafService aafService; private final DmaapService dmaapService; - public AafPermissionService() { - this(new AafService(AafService.ServiceType.AAF_TopicMgr), new DmaapService()); - } - AafPermissionService(AafService aafService, DmaapService dmaapService) { this.aafService = aafService; this.dmaapService = dmaapService; @@ -57,25 +53,19 @@ public class AafPermissionService extends BaseLoggingClass { } ApiError grantClientRolePerms(MR_Client client) { - try { - String instance = INSTANCE_PREFIX + client.getFqtn(); - - for (String action : client.getAction()) { - grantPermForClientRole(client.getClientRole(), instance, action); - } - - } catch (PermissionServiceException e) { - return handleErrorStatus(e.getCode(), client, e.getMessage()); - } - return handleOkStatus(client); + return forEachClientAction(client, this::grantPermForClientRole); } ApiError revokeClientPerms(MR_Client client) { + return forEachClientAction(client, this::revokePermForClientRole); + } + + private ApiError forEachClientAction(MR_Client client, PermissionUpdate permissionUpdate) { try { String instance = INSTANCE_PREFIX + client.getFqtn(); for (String action : client.getAction()) { - revokePermForClientRole(client.getClientRole(), instance, action); + permissionUpdate.execute(client.getClientRole(), instance, action); } } catch (PermissionServiceException e) { @@ -138,4 +128,9 @@ public class AafPermissionService extends BaseLoggingClass { return message; } } + + @FunctionalInterface + interface PermissionUpdate { + void execute(String clientRole, String instance, String action) throws PermissionServiceException; + } }