Skip to content

Commit 55e95dc

Browse files
authored
Merge pull request #351 from netgrif/NAE-2186
[NAE-2186] PetriNet objects gRPC serialization
2 parents 735c8b4 + 970942d commit 55e95dc

3 files changed

Lines changed: 25 additions & 17 deletions

File tree

application-engine/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ public void deletePetriNet(String processId, LoggedUser loggedUser, boolean forc
538538
PetriNet petriNet = petriNetOptional.get();
539539
log.info("[{}]: Initiating deletion of Petri net {} version {}", processId, petriNet.getIdentifier(), petriNet.getVersion().toString());
540540

541-
userService.removeRoleOfDeletedPetriNet(petriNet, null);
541+
userService.removeRoleOfDeletedPetriNet(petriNet);
542542
workflowService.deleteInstancesOfPetriNet(petriNet, force);
543543
processRoleService.deleteRolesOfNet(petriNet, loggedUser);
544544

nae-user-ce/src/main/java/com/netgrif/application/engine/auth/service/UserServiceImpl.java

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.springframework.security.core.context.SecurityContextHolder;
2929
import org.springframework.security.crypto.password.PasswordEncoder;
3030

31-
import java.time.LocalDate;
3231
import java.time.LocalDateTime;
3332
import java.util.*;
3433
import java.util.stream.Collectors;
@@ -524,19 +523,21 @@ public AbstractUser removeRole(AbstractUser user, String roleString) {
524523
}
525524

526525
@Override
527-
public void removeRoleOfDeletedPetriNet(PetriNet petriNet, Collection<String> realmIds) {
528-
Set<String> collectionNames = collectionNameProvider.getCollectionNamesForRealms(realmIds);
529-
collectionNames.forEach(collection -> {
530-
Pageable pageable = PageRequest.of(0, paginationProperties.getBackendPageSize());
531-
Page<AbstractUser> users;
532-
do {
533-
users = findAllByProcessRoles(petriNet.getRoles().values().stream().map(ProcessRole::get_id).collect(Collectors.toSet()), collection, pageable);
534-
users.forEach(u -> {
535-
petriNet.getRoles().forEach((k, role) -> removeRole(u, role.get_id()));
536-
});
537-
pageable = pageable.next();
538-
} while (users.hasNext());
539-
});
526+
public void removeRoleOfDeletedPetriNet(PetriNet petriNet) {
527+
removeRoleOfDeletedPetriNet(new HashSet<>(petriNet.getRoles().values()));
528+
}
529+
530+
@Override
531+
public void removeRoleOfDeletedPetriNet(Set<ProcessRole> petriNetRoles) {
532+
String defaultRealmCollection = collectionNameProvider.getDefaultRealmCollection();
533+
Pageable pageable = PageRequest.of(0, paginationProperties.getBackendPageSize());
534+
Collection<ProcessResourceId> roleIds = petriNetRoles.stream().map(ProcessRole::get_id).collect(Collectors.toSet());
535+
Page<AbstractUser> users;
536+
do {
537+
users = searchUsersByRoleIds(roleIds, defaultRealmCollection, pageable);
538+
users.getContent().forEach(u -> removeRoles(u, petriNetRoles));
539+
pageable = pageable.next();
540+
} while (users.hasNext());
540541
}
541542

542543
@Override

nae-user-common/src/main/java/com/netgrif/application/engine/auth/service/UserService.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.util.Collection;
1717
import java.util.List;
1818
import java.util.Optional;
19+
import java.util.Set;
1920

2021
/**
2122
* Service interface for managing user-related operations in the application.
@@ -351,9 +352,15 @@ Page<AbstractUser> searchAllCoMembers(String query, Collection<ProcessResourceId
351352
* Removes roles associated with a deleted Petri net from users in specified realms.
352353
*
353354
* @param process the deleted Petri net
354-
* @param realmIds collection of realm identifiers
355355
*/
356-
void removeRoleOfDeletedPetriNet(PetriNet process, Collection<String> realmIds);
356+
void removeRoleOfDeletedPetriNet(PetriNet process);
357+
358+
/**
359+
* Removes roles associated with a deleted Petri net from users in specified realms.
360+
*
361+
* @param petriNetRoles roles of deleted Petri net
362+
*/
363+
void removeRoleOfDeletedPetriNet(Set<ProcessRole> petriNetRoles);
357364

358365
/**
359366
* Creates a system user.

0 commit comments

Comments
 (0)