diff --git a/src/main/java/org/gridsuite/modification/server/dto/ByFilterDeletionInfos.java b/src/main/java/org/gridsuite/modification/server/dto/ByFilterDeletionInfos.java index 4c54400ff..37e91884b 100644 --- a/src/main/java/org/gridsuite/modification/server/dto/ByFilterDeletionInfos.java +++ b/src/main/java/org/gridsuite/modification/server/dto/ByFilterDeletionInfos.java @@ -10,6 +10,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.powsybl.commons.reporter.Reporter; import com.powsybl.commons.reporter.ReporterModel; +import com.powsybl.iidm.network.IdentifiableType; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.NoArgsConstructor; @@ -38,7 +39,7 @@ @ModificationErrorTypeName("BY_FILTER_DELETION_ERROR") public class ByFilterDeletionInfos extends ModificationInfos { @Schema(description = "Equipment type") - private String equipmentType; + private IdentifiableType equipmentType; @Schema(description = "List of filters") @JsonInclude(JsonInclude.Include.NON_NULL) @@ -62,7 +63,7 @@ public Reporter createSubReporter(ReporterModel reporter) { @Override public Map getMapMessageValues() { Map mapMessageValues = new HashMap<>(); - mapMessageValues.put("equipmentType", getEquipmentType()); + mapMessageValues.put("equipmentType", getEquipmentType().name()); return mapMessageValues; } } diff --git a/src/main/java/org/gridsuite/modification/server/entities/equipment/deletion/ByFilterDeletionEntity.java b/src/main/java/org/gridsuite/modification/server/entities/equipment/deletion/ByFilterDeletionEntity.java index cff8826eb..8f9093db7 100644 --- a/src/main/java/org/gridsuite/modification/server/entities/equipment/deletion/ByFilterDeletionEntity.java +++ b/src/main/java/org/gridsuite/modification/server/entities/equipment/deletion/ByFilterDeletionEntity.java @@ -6,6 +6,7 @@ */ package org.gridsuite.modification.server.entities.equipment.deletion; +import com.powsybl.iidm.network.IdentifiableType; import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; @@ -28,8 +29,9 @@ @Table(name = "byFilterDeletion") @PrimaryKeyJoinColumn(foreignKey = @ForeignKey(name = "by_filter_deletion_id_fk_constraint")) public class ByFilterDeletionEntity extends ModificationEntity { + @Enumerated(EnumType.STRING) @Column(name = "equipmentType") - private String equipmentType; + private IdentifiableType equipmentType; @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) @JoinTable( diff --git a/src/main/java/org/gridsuite/modification/server/modifications/ByFilterDeletion.java b/src/main/java/org/gridsuite/modification/server/modifications/ByFilterDeletion.java index ad44586c4..107bbbb04 100644 --- a/src/main/java/org/gridsuite/modification/server/modifications/ByFilterDeletion.java +++ b/src/main/java/org/gridsuite/modification/server/modifications/ByFilterDeletion.java @@ -85,7 +85,7 @@ public void apply(Network network, Reporter subReporter) { subReporter.report(Report.builder() .withKey("equipmentDeleted") .withDefaultMessage("equipment of type=${type} and ids=${ids} deleted") - .withValue("type", modificationInfos.getEquipmentType()) + .withValue("type", modificationInfos.getEquipmentType().name()) .withValue("ids", identifiableAttributes.stream().map(IdentifiableAttributes::getId).collect(Collectors.joining(", "))) .withSeverity(TypedValue.INFO_SEVERITY) .build()); @@ -93,7 +93,7 @@ public void apply(Network network, Reporter subReporter) { } private void applyFilterDeletion(Network network, Reporter subReporter, List identifiableAttributes) { - IdentifiableType identifiableType = IdentifiableType.valueOf(modificationInfos.getEquipmentType()); + IdentifiableType identifiableType = modificationInfos.getEquipmentType(); if (CONNECTABLE_EQUIPMENTS.contains(identifiableType)) { identifiableAttributes.forEach(identifiableAttribute -> new RemoveFeederBay(identifiableAttribute.getId()).apply(network, true, subReporter)); } else if (identifiableType == IdentifiableType.VOLTAGE_LEVEL) { diff --git a/src/test/java/org/gridsuite/modification/server/modifications/byfilterdeletion/AbstractByFilterDeletionTest.java b/src/test/java/org/gridsuite/modification/server/modifications/byfilterdeletion/AbstractByFilterDeletionTest.java index 2cacfcfad..e91c6ccd3 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/byfilterdeletion/AbstractByFilterDeletionTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/byfilterdeletion/AbstractByFilterDeletionTest.java @@ -56,7 +56,7 @@ public void testCreateWithErrors() throws Exception { ByFilterDeletionInfos byFilterDeletionInfos = ByFilterDeletionInfos.builder() .stashed(false) - .equipmentType(getIdentifiableType().toString()) + .equipmentType(getIdentifiableType()) .filters(List.of(filter1)) .build(); @@ -98,7 +98,7 @@ public void testCreateAllFiltersWrong() throws Exception { ByFilterDeletionInfos byFilterDeletionInfos = ByFilterDeletionInfos.builder() .stashed(false) - .equipmentType(getIdentifiableType().toString()) + .equipmentType(getIdentifiableType()) .filters(List.of(filter1)) .build(); @@ -154,7 +154,7 @@ protected ModificationInfos buildModification() { return ByFilterDeletionInfos.builder() .stashed(false) - .equipmentType(getIdentifiableType().toString()) + .equipmentType(getIdentifiableType()) .filters(List.of(filter1, filter2)) .build(); } @@ -168,7 +168,7 @@ protected ModificationInfos buildModificationUpdate() { return ByFilterDeletionInfos.builder() .stashed(false) - .equipmentType(getIdentifiableType().toString()) + .equipmentType(getIdentifiableType()) .filters(List.of(filter2)) .build(); } @@ -178,7 +178,7 @@ protected ModificationInfos buildModificationUpdate() { protected void testCreationModificationMessage(ModificationInfos modificationInfos) { assertEquals("BY_FILTER_DELETION", modificationInfos.getMessageType()); Map createdValues = mapper.readValue(modificationInfos.getMessageValues(), new TypeReference<>() { }); - assertEquals(getIdentifiableType().toString(), createdValues.get("equipmentType")); + assertEquals(getIdentifiableType().name(), createdValues.get("equipmentType")); } @Override @@ -186,6 +186,6 @@ protected void testCreationModificationMessage(ModificationInfos modificationInf protected void testUpdateModificationMessage(ModificationInfos modificationInfos) { assertEquals("BY_FILTER_DELETION", modificationInfos.getMessageType()); Map createdValues = mapper.readValue(modificationInfos.getMessageValues(), new TypeReference<>() { }); - assertEquals(getIdentifiableType().toString(), createdValues.get("equipmentType")); + assertEquals(getIdentifiableType().name(), createdValues.get("equipmentType")); } }