added methods to convert to and from ckan roles
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-catalogue/ckan-util-library@134314 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
0212aa0bcd
commit
2996d99339
|
@ -335,8 +335,8 @@ public class DataCatalogueImpl implements DataCatalogue{
|
|||
// list of roles
|
||||
List<RolesCkanGroupOrOrg> rolesIntoOrg = new ArrayList<RolesCkanGroupOrOrg>();
|
||||
|
||||
if(rolesToMatch.contains(RolesCkanGroupOrOrg.valueOf(capacity.toUpperCase()))){
|
||||
RolesCkanGroupOrOrg enumRole = RolesCkanGroupOrOrg.valueOf(capacity.toUpperCase());
|
||||
if(rolesToMatch.contains(RolesCkanGroupOrOrg.convertFromCapacity(capacity))){
|
||||
RolesCkanGroupOrOrg enumRole = RolesCkanGroupOrOrg.convertFromCapacity(capacity);
|
||||
rolesIntoOrg.add(enumRole);
|
||||
logger.debug("User " + ckanUsername + " has role " + enumRole +
|
||||
" into organization with name " + ckanOrganization.getName());
|
||||
|
@ -892,7 +892,7 @@ public class DataCatalogueImpl implements DataCatalogue{
|
|||
// replace those values
|
||||
parameter = parameter.replace("ORGANIZATION_ID_NAME", organizationNameToCheck);
|
||||
parameter = parameter.replace("USERNAME_ID_NAME", ckanUsername);
|
||||
parameter = parameter.replace("ROLE", correspondentRoleToCheck.toString().toLowerCase());
|
||||
parameter = parameter.replace("ROLE", RolesCkanGroupOrOrg.convertToCkanCapacity(correspondentRoleToCheck));
|
||||
|
||||
logger.debug("API request for organization membership is going to be " + parameter);
|
||||
|
||||
|
@ -936,7 +936,7 @@ public class DataCatalogueImpl implements DataCatalogue{
|
|||
|
||||
for (CkanUser ckanUser : users) {
|
||||
if(ckanUser.getName().equals(ckanUsername))
|
||||
if(ckanUser.getCapacity().equals(correspondentRoleToCheck.toString().toLowerCase()))
|
||||
if(ckanUser.getCapacity().equals(RolesCkanGroupOrOrg.convertToCkanCapacity(correspondentRoleToCheck)))
|
||||
return true;
|
||||
else
|
||||
break;
|
||||
|
@ -982,7 +982,7 @@ public class DataCatalogueImpl implements DataCatalogue{
|
|||
// replace those values
|
||||
parameter = parameter.replace("ORGANIZATION_ID_NAME", groupNameToCheck);
|
||||
parameter = parameter.replace("USERNAME_ID_NAME", ckanUsername);
|
||||
parameter = parameter.replace("ROLE", correspondentRoleToCheck.toString().toLowerCase());
|
||||
parameter = parameter.replace("ROLE", RolesCkanGroupOrOrg.convertToCkanCapacity(correspondentRoleToCheck));
|
||||
|
||||
logger.debug("API request for organization membership is going to be " + parameter);
|
||||
|
||||
|
@ -1443,13 +1443,13 @@ public class DataCatalogueImpl implements DataCatalogue{
|
|||
List<CkanUser> users = group.getUsers();
|
||||
for (CkanUser ckanUser : users) {
|
||||
List<String> listUsers;
|
||||
if(capacityAndUsers.containsKey(ckanUser.getCapacity())){
|
||||
listUsers = capacityAndUsers.get(ckanUser.getCapacity());
|
||||
if(capacityAndUsers.containsKey(RolesCkanGroupOrOrg.convertFromCapacity(ckanUser.getCapacity()))){
|
||||
listUsers = capacityAndUsers.get(RolesCkanGroupOrOrg.convertFromCapacity(ckanUser.getCapacity()));
|
||||
}else
|
||||
listUsers = new ArrayList<String>();
|
||||
|
||||
listUsers.add(ckanUser.getName());
|
||||
capacityAndUsers.put(RolesCkanGroupOrOrg.valueOf(ckanUser.getCapacity().toUpperCase()), listUsers);
|
||||
capacityAndUsers.put(RolesCkanGroupOrOrg.convertFromCapacity(ckanUser.getCapacity()), listUsers);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -7,5 +7,23 @@ package org.gcube.datacatalogue.ckanutillibrary.models;
|
|||
public enum RolesCkanGroupOrOrg{
|
||||
MEMBER,
|
||||
EDITOR,
|
||||
ADMIN
|
||||
ADMIN;
|
||||
|
||||
public static String convertToCkanCapacity(RolesCkanGroupOrOrg role){
|
||||
|
||||
if(role == null)
|
||||
return null;
|
||||
else
|
||||
return role.toString().toLowerCase();
|
||||
|
||||
}
|
||||
|
||||
public static RolesCkanGroupOrOrg convertFromCapacity(String capacity){
|
||||
|
||||
if(capacity == null)
|
||||
return null;
|
||||
else
|
||||
return RolesCkanGroupOrOrg.valueOf(capacity.toUpperCase());
|
||||
|
||||
}
|
||||
}
|
|
@ -36,7 +36,7 @@ public class TestDataCatalogueLib {
|
|||
String subjectId = "aa_father4";
|
||||
String objectId = "bb_son4";
|
||||
|
||||
// @Before
|
||||
//@Before
|
||||
public void before(){
|
||||
factory = DataCatalogueFactory.getFactory();
|
||||
}
|
||||
|
@ -385,4 +385,12 @@ public class TestDataCatalogueLib {
|
|||
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void getGroupsRoles() throws Exception{
|
||||
DataCatalogueImpl instance = factory.getUtilsPerScope(scope);
|
||||
Map<RolesCkanGroupOrOrg, List<String>> res = instance.getRolesAndUsersGroup("abundance-level");
|
||||
logger.debug(res.toString());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue