Skip to content

Commit 8270a01

Browse files
Add context to the voltage init modification (#745)
* Add rootNetworkName, nodeName and computationDate in voltage init modifications entity Signed-off-by: Franck LECUYER <[email protected]>
1 parent fafe97d commit 8270a01

File tree

7 files changed

+75
-3
lines changed

7 files changed

+75
-3
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<sonar.coverage.exclusions>**/migration/**/*</sonar.coverage.exclusions>
5252
<sonar.organization>gridsuite</sonar.organization>
5353
<sonar.projectKey>org.gridsuite:network-modification-server</sonar.projectKey>
54-
<network-modification.version>0.54.0</network-modification.version>
54+
<network-modification.version>0.55.0</network-modification.version>
5555
</properties>
5656

5757
<build>

src/main/java/org/gridsuite/modification/server/entities/equipment/modification/VoltageInitModificationEntity.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
import jakarta.persistence.ForeignKey;
2727
import jakarta.persistence.Index;
2828
import jakarta.persistence.Table;
29+
import jakarta.persistence.Column;
30+
31+
import java.time.Instant;
32+
import java.time.temporal.ChronoUnit;
2933
import java.util.List;
3034
import java.util.stream.Collectors;
3135

@@ -75,6 +79,15 @@ public class VoltageInitModificationEntity extends ModificationEntity {
7579
foreignKey = @ForeignKey(name = "VoltageInitModificationEntity_buses_fk1"))
7680
private List<VoltageInitBusModificationEmbeddable> buses;
7781

82+
@Column(name = "rootNetworkName")
83+
private String rootNetworkName;
84+
85+
@Column(name = "nodeName")
86+
private String nodeName;
87+
88+
@Column(name = "computationDate", columnDefinition = "timestamptz")
89+
private Instant computationDate;
90+
7891
public VoltageInitModificationEntity(VoltageInitModificationInfos voltageInitModificationInfos) {
7992
super(voltageInitModificationInfos);
8093
assignAttributes(voltageInitModificationInfos);
@@ -93,7 +106,10 @@ private void assignAttributes(VoltageInitModificationInfos voltageInitModificati
93106
vscConverterStations = toEmbeddableVoltageInitVscConverterStations(voltageInitModificationInfos.getVscConverterStations());
94107
shuntCompensators = toEmbeddableVoltageInitShuntCompensators(voltageInitModificationInfos.getShuntCompensators());
95108
buses = toEmbeddableVoltageInitBuses(voltageInitModificationInfos.getBuses());
96-
109+
rootNetworkName = voltageInitModificationInfos.getRootNetworkName();
110+
nodeName = voltageInitModificationInfos.getNodeName();
111+
//We need to limit the precision to avoid database precision storage limit issue (postgres has a precision of 6 digits while h2 can go to 9)
112+
this.computationDate = voltageInitModificationInfos.getComputationDate() != null ? voltageInitModificationInfos.getComputationDate().truncatedTo(ChronoUnit.MICROS) : null;
97113
}
98114

99115
public static List<VoltageInitGeneratorModificationEmbeddable> toEmbeddableVoltageInitGenerators(List<VoltageInitGeneratorModificationInfos> generators) {
@@ -187,6 +203,9 @@ public VoltageInitModificationInfos toModificationInfos() {
187203
.vscConverterStations(toVscConverterStationsModification(vscConverterStations))
188204
.shuntCompensators(toShuntCompensatorsModification(shuntCompensators))
189205
.buses(toBusesModification(buses))
206+
.rootNetworkName(getRootNetworkName())
207+
.nodeName(getNodeName())
208+
.computationDate(getComputationDate())
190209
.build();
191210
}
192211
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
2+
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
3+
<changeSet author="lecuyerfra (generated)" id="1764928014619-1">
4+
<addColumn tableName="voltage_init_modification">
5+
<column name="computation_date" type="timestamptz"/>
6+
</addColumn>
7+
</changeSet>
8+
<changeSet author="lecuyerfra (generated)" id="1764928014619-2">
9+
<addColumn tableName="voltage_init_modification">
10+
<column name="node_name" type="varchar(255)"/>
11+
</addColumn>
12+
</changeSet>
13+
<changeSet author="lecuyerfra (generated)" id="1764928014619-3">
14+
<addColumn tableName="voltage_init_modification">
15+
<column name="root_network_name" type="varchar(255)"/>
16+
</addColumn>
17+
</changeSet>
18+
</databaseChangeLog>

src/main/resources/db/changelog/db.changelog-master.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,4 +443,7 @@ databaseChangeLog:
443443
relativeToChangelogFile: true
444444
- include:
445445
file: changesets/changelog_20251128T072356Z.xml
446-
relativeToChangelogFile: true
446+
relativeToChangelogFile: true
447+
- include:
448+
file: changesets/changelog_20251205T094612Z.xml
449+
relativeToChangelogFile: true

src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060

6161
import java.io.IOException;
6262
import java.io.InputStream;
63+
import java.time.Instant;
6364
import java.util.*;
6465
import java.util.stream.Collectors;
6566

@@ -1609,6 +1610,9 @@ void testCreateVoltageInitModification() throws Exception {
16091610
.v(226.)
16101611
.angle(0.6)
16111612
.build()))
1613+
.rootNetworkName("rootNetwork")
1614+
.nodeName("node")
1615+
.computationDate(Instant.now())
16121616
.build();
16131617

16141618
UUID groupUuid = UUID.randomUUID();

src/test/java/org/gridsuite/modification/server/VoltageInitReportTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ private static List<Arguments> voltageInitModifications() {
147147
VoltageInitShuntCompensatorModificationInfos.builder().shuntCompensatorId("v5shunt").sectionCount(0).connect(false).build(),
148148
VoltageInitShuntCompensatorModificationInfos.builder().shuntCompensatorId("v6shunt").sectionCount(1).connect(false).build()))
149149
.buses(List.of())
150+
.rootNetworkName("rootNetwork")
151+
.nodeName("node")
152+
.computationDate(Instant.now())
150153
.build())
151154
);
152155
}

src/test/java/org/gridsuite/modification/server/modifications/VoltageInitModificationTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@
1414
import org.junit.jupiter.api.Test;
1515
import org.springframework.http.MediaType;
1616
import org.springframework.test.web.servlet.ResultActions;
17+
import com.fasterxml.jackson.core.type.TypeReference;
1718

19+
import java.time.Instant;
1820
import java.util.List;
21+
import java.util.Map;
1922
import java.util.UUID;
2023

2124
import static org.gridsuite.modification.server.utils.NetworkUtil.createGenerator;
@@ -205,6 +208,9 @@ protected ModificationInfos buildModification() {
205208
.v(230.)
206209
.angle(0.5)
207210
.build()))
211+
.rootNetworkName("rootNetwork1")
212+
.nodeName("node1")
213+
.computationDate(Instant.now())
208214
.build();
209215
}
210216

@@ -266,6 +272,9 @@ protected ModificationInfos buildModificationUpdate() {
266272
.connect(false)
267273
.build()))
268274
.buses(List.of())
275+
.rootNetworkName("rootNetwork2")
276+
.nodeName("node2")
277+
.computationDate(Instant.now())
269278
.build();
270279
}
271280

@@ -366,4 +375,20 @@ protected void assertAfterNetworkModificationDeletion() {
366375
assertEquals(225., getNetwork().getShuntCompensator("v5shunt").getTargetV(), 0.001);
367376
assertEquals(0, getNetwork().getShuntCompensator("v6shunt").getSectionCount());
368377
}
378+
379+
@Override
380+
protected void testCreationModificationMessage(ModificationInfos modificationInfos) throws Exception {
381+
assertEquals("VOLTAGE_INIT_MODIFICATION", modificationInfos.getMessageType());
382+
Map<String, String> createdValues = mapper.readValue(modificationInfos.getMessageValues(), new TypeReference<>() { });
383+
assertEquals("rootNetwork1", createdValues.get("rootNetworkName"));
384+
assertEquals("node1", createdValues.get("nodeName"));
385+
}
386+
387+
@Override
388+
protected void testUpdateModificationMessage(ModificationInfos modificationInfos) throws Exception {
389+
assertEquals("VOLTAGE_INIT_MODIFICATION", modificationInfos.getMessageType());
390+
Map<String, String> updatedValues = mapper.readValue(modificationInfos.getMessageValues(), new TypeReference<>() { });
391+
assertEquals("rootNetwork2", updatedValues.get("rootNetworkName"));
392+
assertEquals("node2", updatedValues.get("nodeName"));
393+
}
369394
}

0 commit comments

Comments
 (0)