X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fservice%2FAafPermissionService.java;h=0be6c2840ec6eb67a8d2a8edd38f572df3bf8a4e;hb=bf91de122a24dbfc9a0158556e290df21472240b;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..0be6c28 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/service/AafPermissionService.java +++ b/src/main/java/org/onap/dmaap/dbcapi/service/AafPermissionService.java @@ -21,6 +21,7 @@ package org.onap.dmaap.dbcapi.service; import org.onap.dmaap.dbcapi.aaf.AafService; +import org.onap.dmaap.dbcapi.aaf.AafServiceImpl; import org.onap.dmaap.dbcapi.aaf.AafUserRole; import org.onap.dmaap.dbcapi.aaf.DmaapGrant; import org.onap.dmaap.dbcapi.aaf.DmaapPerm; @@ -38,7 +39,7 @@ public class AafPermissionService extends BaseLoggingClass { private final DmaapService dmaapService; public AafPermissionService() { - this(new AafService(AafService.ServiceType.AAF_TopicMgr), new DmaapService()); + this(new AafServiceImpl(AafService.ServiceType.AAF_TopicMgr), new DmaapService()); } AafPermissionService(AafService aafService, DmaapService dmaapService) { @@ -57,25 +58,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 +133,9 @@ public class AafPermissionService extends BaseLoggingClass { return message; } } + + @FunctionalInterface + interface PermissionUpdate { + void execute(String clientRole, String instance, String action) throws PermissionServiceException; + } }