diff --git a/src/main/java/org/gridsuite/modification/server/repositories/CompositeModificationRepository.java b/src/main/java/org/gridsuite/modification/server/repositories/CompositeModificationRepository.java index fc19036c3..c8e59bd49 100644 --- a/src/main/java/org/gridsuite/modification/server/repositories/CompositeModificationRepository.java +++ b/src/main/java/org/gridsuite/modification/server/repositories/CompositeModificationRepository.java @@ -6,6 +6,9 @@ */ package org.gridsuite.modification.server.repositories; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.SneakyThrows; +import org.gridsuite.modification.dto.CompositeModificationInfos; import org.gridsuite.modification.server.entities.CompositeModificationEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @@ -16,4 +19,11 @@ * @author Hugo Marcellin */ @Repository -public interface CompositeModificationRepository extends JpaRepository { } +public interface CompositeModificationRepository extends JpaRepository { + + @SneakyThrows + default void renameCompositeModifications(CompositeModificationEntity compositeEntity, CompositeModificationInfos compositeMetadata) { + compositeEntity.setName(compositeMetadata.getName()); + compositeEntity.setMessageValues(new ObjectMapper().writeValueAsString(compositeMetadata.getMapMessageValues())); + } +} diff --git a/src/main/java/org/gridsuite/modification/server/repositories/NetworkModificationRepository.java b/src/main/java/org/gridsuite/modification/server/repositories/NetworkModificationRepository.java index 18760add2..51d4594cf 100644 --- a/src/main/java/org/gridsuite/modification/server/repositories/NetworkModificationRepository.java +++ b/src/main/java/org/gridsuite/modification/server/repositories/NetworkModificationRepository.java @@ -721,6 +721,11 @@ public void updateNetworkModificationMetadata(@NonNull List modificationUu if (metadata.getActivated() != null) { updateActivated(modificationEntity, metadata.getActivated()); } + if (metadata instanceof CompositeModificationInfos compositeMetadata + && modificationEntity instanceof CompositeModificationEntity composite + && compositeMetadata.getName() != null) { + compositeModificationRepository.renameCompositeModifications(composite, compositeMetadata); + } } }