aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java27
1 files changed, 22 insertions, 5 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java b/vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java
index d4256f893..e792139bf 100644
--- a/vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java
+++ b/vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java
@@ -36,6 +36,7 @@ import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
+import java.util.function.Function;
import java.util.stream.Collectors;
@@ -50,16 +51,32 @@ public class RoleProvider {
static final String READ_PERMISSION_STRING = "read";
private final ObjectMapper om = new ObjectMapper();
- @Autowired
private AaiService aaiService;
+ private Function<HttpServletRequest, Integer> getUserIdFunction;
+ private Function<HttpServletRequest, Map> getRolesFunction;
+
+ @Autowired
+ public RoleProvider(AaiService aaiService) {
+ this.aaiService=aaiService;
+ getUserIdFunction = UserUtils::getUserId;
+ getRolesFunction = UserUtils::getRoles;
+ }
+
+ RoleProvider(AaiService aaiService, Function<HttpServletRequest, Integer> getUserIdFunction, Function<HttpServletRequest, Map> getRolesFunction) {
+ this.aaiService = aaiService;
+ this.getRolesFunction = getRolesFunction;
+ this.getUserIdFunction = getUserIdFunction;
+ }
+
public List<Role> getUserRoles(HttpServletRequest request) {
- String logPrefix = "Role Provider (" + UserUtils.getUserId(request) + ") ==>";
+ int userId= getUserIdFunction.apply(request);
+ String logPrefix = "Role Provider (" + userId + ") ==>";
- LOG.debug(EELFLoggerDelegate.debugLogger, logPrefix + "Entering to get user role for user " + UserUtils.getUserId(request));
+ LOG.debug(EELFLoggerDelegate.debugLogger, logPrefix + "Entering to get user role for user " + userId);
List<Role> roleList = new ArrayList<>();
- Map roles = UserUtils.getRoles(request);
+ Map roles = getRolesFunction.apply(request);
for (Object role : roles.keySet()) {
org.onap.portalsdk.core.domain.Role sdkRol = (org.onap.portalsdk.core.domain.Role) roles.get(role);
@@ -72,7 +89,7 @@ public class RoleProvider {
}
String[] roleParts = splitRole((sdkRol.getName()), logPrefix);
roleList.add(createRoleFromStringArr(roleParts, logPrefix));
- String msg = String.format("%s User %s got permissions %s", logPrefix, UserUtils.getUserId(request), Arrays.toString(roleParts));
+ String msg = String.format("%s User %s got permissions %s", logPrefix, userId, Arrays.toString(roleParts));
LOG.debug(EELFLoggerDelegate.debugLogger, msg);
} catch (Exception e) {
LOG.error(logPrefix + " Failed to parse permission");