1 package org.onap.vid.roles;
3 import org.onap.vid.mso.rest.RequestDetails;
9 * Created by Oren on 7/12/17.
11 public class RoleValidator {
13 private boolean disableRoles = true;
14 private List<Role> userRoles;
16 public RoleValidator(List<Role> roles) {
17 this.userRoles = roles;
20 public boolean isSubscriberPermitted(String subscriberName) {
21 if(this.disableRoles) return true;
23 for (Role role : userRoles) {
24 if (role.getSubscribeName().equals(subscriberName))
30 public boolean isServicePermitted(String subscriberName, String serviceType) {
31 if(this.disableRoles) return true;
33 for (Role role : userRoles) {
34 if (role.getSubscribeName().equals(subscriberName) && role.getServiceType().equals(serviceType))
40 public boolean isMsoRequestValid(RequestDetails mso_request) {
41 if(this.disableRoles) return true;
44 String globalSubscriberIdRequested = (String) ((Map) ((Map) mso_request.getAdditionalProperties().get("requestDetails")).get("subscriberInfo")).get("globalSubscriberId");
45 String serviceType = (String) ((Map) ((Map) mso_request.getAdditionalProperties().get("requestDetails")).get("requestParameters")).get("subscriptionServiceType");
46 return isServicePermitted(globalSubscriberIdRequested, serviceType);
47 } catch (Exception e) {
48 //Until we'll get the exact information regarding the tenants and the global customer id, we'll return true on unknown requests to mso
54 public boolean isTenantPermitted(String globalCustomerId, String serviceType, String tenantName) {
55 if(this.disableRoles) return true;
57 for (Role role : userRoles) {
58 if (role.getSubscribeName().equals(globalCustomerId)
59 && role.getServiceType().equals(serviceType)
60 && (role.getTenant() == null || role.getTenant().equalsIgnoreCase(tenantName))) {