use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class GroupService method getGroupReferences.
@Override
public PagedMetadata<?> getGroupReferences(String groupCode, String managerName, RestListRequest restRequest) {
Group group = this.getGroupManager().getGroup(groupCode);
if (null == group) {
logger.warn("no group found with code {}", groupCode);
throw new RestRourceNotFoundException(GroupValidator.ERRCODE_GROUP_NOT_FOUND, "group", groupCode);
}
GroupServiceUtilizer<?> utilizer = this.getGroupServiceUtilizer(managerName);
if (null == utilizer) {
logger.warn("no references found for {}", managerName);
throw new RestRourceNotFoundException(GroupValidator.ERRCODE_GROUP_REFERENCES, "reference", managerName);
}
List<?> dtoList = utilizer.getGroupUtilizer(groupCode);
List<?> subList = restRequest.getSublist(dtoList);
SearcherDaoPaginatedResult<?> pagedResult = new SearcherDaoPaginatedResult(dtoList.size(), subList);
PagedMetadata<Object> pagedMetadata = new PagedMetadata<>(restRequest, pagedResult);
pagedMetadata.setBody((List<Object>) subList);
return pagedMetadata;
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class GroupService method getGroups.
@SuppressWarnings("rawtypes")
@Override
public PagedMetadata<GroupDto> getGroups(RestListRequest restListReq) {
try {
// transforms the filters by overriding the key specified in the request with the correct one known by the dto
List<FieldSearchFilter> filters = new ArrayList<FieldSearchFilter>(restListReq.buildFieldSearchFilters());
filters.stream().filter(i -> i.getKey() != null).forEach(i -> i.setKey(GroupDto.getEntityFieldName(i.getKey())));
SearcherDaoPaginatedResult<Group> groups = this.getGroupManager().getGroups(filters);
List<GroupDto> dtoList = dtoBuilder.convert(groups.getList());
PagedMetadata<GroupDto> pagedMetadata = new PagedMetadata<>(restListReq, groups);
pagedMetadata.setBody(dtoList);
return pagedMetadata;
} catch (Throwable t) {
logger.error("error in search groups", t);
throw new RestServerError("error in search groups", t);
}
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class GroupService method getGroup.
@Override
public GroupDto getGroup(String groupCode) {
Group group = this.getGroupManager().getGroup(groupCode);
if (null == group) {
logger.warn("no group found with code {}", groupCode);
throw new RestRourceNotFoundException(GroupValidator.ERRCODE_GROUP_NOT_FOUND, "group", groupCode);
}
GroupDto dto = this.getDtoBuilder().convert(group);
dto.setReferences(this.getReferencesInfo(group));
return dto;
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class TestAuthenticationProviderManager method testUpdateRoleWithPrivacyModuleEnabled.
public void testUpdateRoleWithPrivacyModuleEnabled() throws Throwable {
String username = "MEMisToUpdateRole";
String password = "123456";
this.addUserForTest(username, password);
try {
boolean privacyModuleStatus = this.getPrivacyModuleStatus();
assertTrue(!privacyModuleStatus);
this.togglePrivacyModuleStatus(true);
privacyModuleStatus = this.getPrivacyModuleStatus();
assertTrue(privacyModuleStatus);
UserDetails user = this._authenticationProvider.getUser(username, password);
assertNotNull(user);
assertEquals(1, user.getAuthorizations().size());
// update role
Role adminRole = this._roleManager.getRole("admin");
Group freeGroup = this._groupManager.getGroup(Group.FREE_GROUP_NAME);
this._authorizationManager.addUserAuthorization(username, Group.FREE_GROUP_NAME, "admin");
// verify role
user = this._authenticationProvider.getUser(username, password);
assertNotNull(user);
assertEquals(2, user.getAuthorizations().size());
} catch (Throwable t) {
throw t;
} finally {
this.togglePrivacyModuleStatus(false);
this._userManager.removeUser(username);
UserDetails verify = this._userManager.getUser(username);
assertNull(verify);
}
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class TestContentAuthorization method testCheckNewUser.
/*
* This test is fully inherited from the original TestAuthorizationManager in jAPS2 (2.0.6)
*/
public void testCheckNewUser() throws Throwable {
String username = "UserForTest";
String password = "PasswordForTest";
this.addUserForTest(username, password);
UserDetails extractedUser = null;
try {
extractedUser = this.getUser(username, password);
assertEquals(username, extractedUser.getUsername());
assertNotNull(extractedUser);
assertEquals(1, extractedUser.getAuthorizations().size());
Group group = this._groupManager.getGroup("coach");
boolean checkGroup = this._authorizationManager.isAuth(extractedUser, group);
assertFalse(checkGroup);
group = this._groupManager.getGroup(Group.FREE_GROUP_NAME);
checkGroup = this._authorizationManager.isAuth(extractedUser, group);
assertTrue(checkGroup);
boolean checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.SUPERVISOR);
assertFalse(checkPermission);
checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.SUPERUSER);
assertFalse(checkPermission);
checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.BACKOFFICE);
assertTrue(checkPermission);
checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, "editContents");
assertTrue(checkPermission);
IContentManager contentManager = (IContentManager) this.getService(JacmsSystemConstants.CONTENT_MANAGER);
Content content = contentManager.loadContent("ART111", true);
boolean checkContent = this._authorizationManager.isAuth(extractedUser, content);
assertFalse(checkContent);
content = contentManager.loadContent("EVN25", true);
checkContent = this._authorizationManager.isAuth(extractedUser, content);
assertTrue(checkContent);
content = contentManager.loadContent("EVN41", true);
checkContent = this._authorizationManager.isAuth(extractedUser, content);
assertFalse(checkContent);
} catch (Throwable t) {
throw t;
} finally {
if (null != extractedUser) {
this._userManager.removeUser(extractedUser);
}
extractedUser = this._userManager.getUser(username);
assertNull(extractedUser);
}
}
Aggregations