Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

Commit

Permalink
refactor:restore unthrown exceptions (informatici#1386)
Browse files Browse the repository at this point in the history
  • Loading branch information
SilverD3 authored Aug 9, 2024
1 parent 61a28e8 commit 1bced9f
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 95 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
@Component
public class GroupPermissionManager {

private GroupPermissionIoOperations operations;
private final GroupPermissionIoOperations operations;

public GroupPermissionManager(GroupPermissionIoOperations groupPermissionIoOperations) {
this.operations = groupPermissionIoOperations;
Expand All @@ -42,14 +42,4 @@ public GroupPermissionManager(GroupPermissionIoOperations groupPermissionIoOpera
public List<GroupPermission> findByIdIn(List<Integer> ids) throws OHServiceException {
return operations.findByIdIn(ids);
}

public List<GroupPermission> findByPermissionIdAndUserGroupCodes(Integer permissionId, List<String> userGroupCodes)
throws OHServiceException {
return operations.findByPermissionIdAndUserGroupCodes(permissionId, userGroupCodes);
}

public List<GroupPermission> generateGroupPermissionList(Permission model, List<UserGroup> userGroups) throws OHServiceException {
return operations.generateGroupPermissionList(model, userGroups);
}

}
14 changes: 1 addition & 13 deletions src/main/java/org/isf/permissions/manager/PermissionManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
@Component
public class PermissionManager {

private PermissionIoOperations operations;
private final PermissionIoOperations operations;

public PermissionManager(PermissionIoOperations permissionIoOperations) {
this.operations = permissionIoOperations;
Expand All @@ -53,18 +53,6 @@ public Permission retrievePermissionByName(String name) throws OHServiceExceptio
return operations.retrievePermissionByName(name);
}

public Permission insertPermission(Permission permission) throws OHServiceException {
return operations.insertPermission(permission);
}

public Permission updatePermission(Permission model) throws OHServiceException {
return operations.updatePermission(model);
}

public void deletePermission(Integer id) throws OHServiceException {
operations.deletePermission(id);
}

public List<Permission> retrieveAllPermissions() throws OHServiceException {
return operations.retrieveAllPermissions();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,7 @@
package org.isf.permissions.service;

import java.util.List;
import java.util.stream.Collectors;

import org.isf.menu.model.UserGroup;
import org.isf.permissions.model.GroupPermission;
import org.isf.permissions.model.Permission;
import org.isf.utils.db.TranslateOHServiceException;
import org.isf.utils.exception.OHServiceException;
import org.springframework.stereotype.Service;
Expand All @@ -37,7 +33,7 @@
@TranslateOHServiceException
public class GroupPermissionIoOperations {

private GroupPermissionIoOperationRepository repository;
private final GroupPermissionIoOperationRepository repository;

public GroupPermissionIoOperations(GroupPermissionIoOperationRepository groupPermissionIoOperationRepository) {
this.repository = groupPermissionIoOperationRepository;
Expand All @@ -46,20 +42,4 @@ public GroupPermissionIoOperations(GroupPermissionIoOperationRepository groupPer
public List<GroupPermission> findByIdIn(List<Integer> ids) throws OHServiceException {
return repository.findByIdIn(ids);
}

public List<GroupPermission> generateGroupPermissionList(Permission model, List<UserGroup> userGroups) throws OHServiceException {
return userGroups.stream().map(ug -> {
GroupPermission gp = new GroupPermission();
gp.setPermission(model);
gp.setUserGroup(ug);
gp.setActive(1);
return gp;
}).collect(Collectors.toList());
}

public List<GroupPermission> findByPermissionIdAndUserGroupCodes(Integer permissionId, List<String> userGroupCodes)
throws OHServiceException {
return repository.findByPermission_IdAndUserGroup_CodeIn(permissionId, userGroupCodes);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@
package org.isf.permissions.service;

import java.util.List;
import java.util.stream.Collectors;

import org.isf.permissions.model.GroupPermission;
import org.isf.permissions.model.Permission;
import org.isf.utils.db.TranslateOHServiceException;
import org.isf.utils.exception.OHServiceException;
Expand All @@ -36,13 +33,10 @@
@TranslateOHServiceException
public class PermissionIoOperations {

private PermissionIoOperationRepository repository;

private GroupPermissionIoOperationRepository groupPermissionRepository;
private final PermissionIoOperationRepository repository;

public PermissionIoOperations(PermissionIoOperationRepository permissionIoOperationRepository, GroupPermissionIoOperationRepository groupPermissionIoOperationRepository) {
public PermissionIoOperations(PermissionIoOperationRepository permissionIoOperationRepository) {
this.repository = permissionIoOperationRepository;
this.groupPermissionRepository = groupPermissionIoOperationRepository;
}

public List<Permission> retrivePermisionsByGroupCode(String userGropupCode) throws OHServiceException {
Expand All @@ -61,48 +55,6 @@ public Permission retrievePermissionByName(String name) throws OHServiceExceptio
return repository.findByName(name);
}

public Permission insertPermission(Permission permission) throws OHServiceException {
Permission permissionResult = repository.save(permission);
permission.getGroupPermission().forEach(gp -> {
gp.setPermission(permissionResult);
groupPermissionRepository.save(gp);
});
return permissionResult;
}

public Permission updatePermission(Permission permission) throws OHServiceException {
// All group permissions (could exist already in the DB)
List<GroupPermission> gp = permission.getGroupPermission();

Permission permissionUpdated = repository.save(permission);
// retrieve groupPermission stored in DB
List<GroupPermission> groupPermissionInDB = groupPermissionRepository.findByPermission_id(permission.getId());

// calculate GroupPermission to delete
List<String> allUserGroupCodesToStore = gp.stream().map(item -> item.getUserGroup().getCode()).collect(Collectors.toList());
List<String> allUserGroupCodesOnDB = groupPermissionInDB.stream().map(item -> item.getUserGroup().getCode()).collect(Collectors.toList());

List<String> allUserGroupCodesToDelete = allUserGroupCodesOnDB.stream().filter(onDB -> !allUserGroupCodesToStore.contains(onDB)).collect(Collectors.toList());
List<String> allUserGroupCodesToInsert = allUserGroupCodesToStore.stream().filter(item -> !allUserGroupCodesOnDB.contains(item)).collect(Collectors.toList());

// delete obsolete relations
List<GroupPermission> groupPermissionToDelete = groupPermissionRepository.findByUserGroup_codeInAndPermission_id(allUserGroupCodesToDelete, permission.getId());
groupPermissionRepository.deleteAll(groupPermissionToDelete);

// store new relations
gp.forEach(item -> {
if (allUserGroupCodesToInsert.contains(item.getUserGroup().getCode())) {
item.setPermission(permissionUpdated);
groupPermissionRepository.save(item);
}
});
return repository.getReferenceById(permissionUpdated.getId());
}

public void deletePermission(Integer id) throws OHServiceException {
repository.deleteById(id);
}

public List<Permission> retrieveAllPermissions() throws OHServiceException {
return repository.findAll();
}
Expand Down

0 comments on commit 1bced9f

Please sign in to comment.