Skip to content

Commit

Permalink
review
Browse files Browse the repository at this point in the history
Signed-off-by: Etienne LESOT <[email protected]>
  • Loading branch information
EtienneLt committed Oct 8, 2024
1 parent 211522c commit ad8db80
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -238,10 +238,11 @@ public ResponseEntity<Void> stashNetworkModifications(
throw new IllegalArgumentException("groupUuid cannot be null");
}
if (Boolean.TRUE.equals(stashed)) {
networkModificationService.stashNetworkModifications(networkModificationUuids);
networkModificationService.stashNetworkModifications(groupUuid, networkModificationUuids);
networkModificationService.reorderNetworkModifications(groupUuid, Boolean.FALSE);
} else {
networkModificationService.restoreNetworkModifications(networkModificationUuids, groupUuid);
networkModificationService.reorderNetworkModifications(groupUuid, Boolean.TRUE);
}
return ResponseEntity.ok().build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -414,14 +414,17 @@ public List<ModificationInfos> getActiveModificationsInfos(@NonNull UUID groupUu
}

@Transactional
public void stashNetworkModifications(@NonNull List<UUID> modificationUuids) {
public void stashNetworkModifications(@NonNull List<UUID> modificationUuids, int stashedModificationCount) {
int stashModificationOrder = -stashedModificationCount - 1;
Collections.reverse(modificationUuids);
for (UUID modificationUuid : modificationUuids) {
ModificationEntity modificationEntity = this.modificationRepository
.findById(modificationUuid)
.orElseThrow(() -> new NetworkModificationException(MODIFICATION_NOT_FOUND, String.format(MODIFICATION_NOT_FOUND_MESSAGE, modificationUuid)));
modificationEntity.setStashed(true);
modificationEntity.setModificationsOrder(-1);
modificationEntity.setModificationsOrder(stashModificationOrder);
this.modificationRepository.save(modificationEntity);
stashModificationOrder--;
}
}

Expand All @@ -431,15 +434,20 @@ public void reorderNetworkModifications(UUID groupId, Boolean stashed) {
if (entities.isEmpty()) {
return;
}
IntStream.range(0, entities.size())
.forEach(i -> entities.get(i).setModificationsOrder(i));
if (Boolean.TRUE.equals(stashed)) {
IntStream.range(1, entities.size() + 1)
.forEach(i -> entities.get(i - 1).setModificationsOrder(-i));
} else {
IntStream.range(0, entities.size())
.forEach(i -> entities.get(i).setModificationsOrder(i));
}
this.modificationRepository.saveAll(entities);
}

@Transactional
public void restoreNetworkModifications(@NonNull List<UUID> modificationUuids, int unStashedSize) {
int modificationOrder = unStashedSize;
List<ModificationEntity> modifications = modificationRepository.findAllById(modificationUuids);
List<ModificationEntity> modifications = modificationRepository.findAllByIdIn(modificationUuids);
if (modifications.size() != modificationUuids.size()) {
throw new NetworkModificationException(MODIFICATION_NOT_FOUND);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ public void updateNetworkModificationActivation(@NonNull List<UUID> modification
}

@Transactional
public void stashNetworkModifications(@NonNull List<UUID> modificationUuids) {
networkModificationRepository.stashNetworkModifications(modificationUuids);
public void stashNetworkModifications(UUID groupUuid, @NonNull List<UUID> modificationUuids) {
networkModificationRepository.stashNetworkModifications(modificationUuids, networkModificationRepository.getModificationsCount(groupUuid, true));
}

@Transactional
Expand Down

0 comments on commit ad8db80

Please sign in to comment.