Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
<sonar.coverage.exclusions>**/migration/**/*</sonar.coverage.exclusions>
<sonar.organization>gridsuite</sonar.organization>
<sonar.projectKey>org.gridsuite:network-modification-server</sonar.projectKey>
<network-modification.version>0.58.0</network-modification.version>
<network-modification.version>0.59.0</network-modification.version>
</properties>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@ private void assignAttributes(BranchCreationInfos branchCreationInfos) {
connectionName1 = branchCreationInfos.getConnectionName1();
connectionDirection2 = branchCreationInfos.getConnectionDirection2();
connectionName2 = branchCreationInfos.getConnectionName2();
selectedOperationalLimitsGroupId1 = branchCreationInfos.getSelectedOperationalLimitsGroup1();
selectedOperationalLimitsGroupId2 = branchCreationInfos.getSelectedOperationalLimitsGroup2();
selectedOperationalLimitsGroupId1 = branchCreationInfos.getSelectedOperationalLimitsGroupId1();
selectedOperationalLimitsGroupId2 = branchCreationInfos.getSelectedOperationalLimitsGroupId2();
connectionPosition1 = branchCreationInfos.getConnectionPosition1();
connectionPosition2 = branchCreationInfos.getConnectionPosition2();
connected1 = branchCreationInfos.isConnected1();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ public LineCreationInfos toModificationInfos() {
.busOrBusbarSectionId2(getBusOrBusbarSectionId2())
.connectionName1(getConnectionName1())
.connectionName2(getConnectionName2())
.selectedOperationalLimitsGroup1(getSelectedOperationalLimitsGroupId1())
.selectedOperationalLimitsGroup2(getSelectedOperationalLimitsGroupId2())
.selectedOperationalLimitsGroupId1(getSelectedOperationalLimitsGroupId1())
.selectedOperationalLimitsGroupId2(getSelectedOperationalLimitsGroupId2())
.connectionDirection1(getConnectionDirection1())
.connectionDirection2(getConnectionDirection2())
.connectionPosition1(getConnectionPosition1())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,8 @@ public TwoWindingsTransformerCreationInfos toModificationInfos() {
.busOrBusbarSectionId2(getBusOrBusbarSectionId2())
.connectionName1(getConnectionName1())
.connectionName2(getConnectionName2())
.selectedOperationalLimitsGroup1(getSelectedOperationalLimitsGroupId1())
.selectedOperationalLimitsGroup2(getSelectedOperationalLimitsGroupId2())
.selectedOperationalLimitsGroupId1(getSelectedOperationalLimitsGroupId1())
.selectedOperationalLimitsGroupId2(getSelectedOperationalLimitsGroupId2())
.connectionDirection1(getConnectionDirection1())
.connectionDirection2(getConnectionDirection2())
.connectionPosition1(getConnectionPosition1())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,8 @@ private void assignAttributes(BranchModificationInfos branchModificationInfos) {
this.busOrBusbarSectionId2 = branchModificationInfos.getBusOrBusbarSectionId2() != null ? new StringModificationEmbedded(branchModificationInfos.getBusOrBusbarSectionId2()) : null;
this.connectionName1 = branchModificationInfos.getConnectionName1() != null ? new StringModificationEmbedded(branchModificationInfos.getConnectionName1()) : null;
this.connectionName2 = branchModificationInfos.getConnectionName2() != null ? new StringModificationEmbedded(branchModificationInfos.getConnectionName2()) : null;
this.selectedOperationalLimitsGroupId1 = branchModificationInfos.getSelectedOperationalLimitsGroup1() != null ? new StringModificationEmbedded(branchModificationInfos.getSelectedOperationalLimitsGroup1()) : null;
this.selectedOperationalLimitsGroupId2 = branchModificationInfos.getSelectedOperationalLimitsGroup2() != null ? new StringModificationEmbedded(branchModificationInfos.getSelectedOperationalLimitsGroup2()) : null;
this.selectedOperationalLimitsGroupId1 = branchModificationInfos.getSelectedOperationalLimitsGroupId1() != null ? new StringModificationEmbedded(branchModificationInfos.getSelectedOperationalLimitsGroupId1()) : null;
this.selectedOperationalLimitsGroupId2 = branchModificationInfos.getSelectedOperationalLimitsGroupId2() != null ? new StringModificationEmbedded(branchModificationInfos.getSelectedOperationalLimitsGroupId2()) : null;
this.connectionDirection1 = branchModificationInfos.getConnectionDirection1() != null ? new EnumModificationEmbedded<>(branchModificationInfos.getConnectionDirection1()) : null;
this.connectionDirection2 = branchModificationInfos.getConnectionDirection2() != null ? new EnumModificationEmbedded<>(branchModificationInfos.getConnectionDirection2()) : null;
this.connectionPosition1 = branchModificationInfos.getConnectionPosition1() != null ? new IntegerModificationEmbedded(branchModificationInfos.getConnectionPosition1()) : null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@ public LineModificationInfos toModificationInfos() {
.busOrBusbarSectionId2(toAttributeModification(getBusOrBusbarSectionId2()))
.connectionName1(toAttributeModification(getConnectionName1()))
.connectionName2(toAttributeModification(getConnectionName2()))
.selectedOperationalLimitsGroup1(toAttributeModification(getSelectedOperationalLimitsGroupId1()))
.selectedOperationalLimitsGroup2(toAttributeModification(getSelectedOperationalLimitsGroupId2()))
.selectedOperationalLimitsGroupId1(toAttributeModification(getSelectedOperationalLimitsGroupId1()))
.selectedOperationalLimitsGroupId2(toAttributeModification(getSelectedOperationalLimitsGroupId2()))
.enableOLGModification(getEnableOLGModification())
.operationalLimitsGroupsModificationType(getOperationalLimitsGroupsModificationType())
.connectionDirection1(toAttributeModification(getConnectionDirection1()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -396,8 +396,8 @@ public TwoWindingsTransformerModificationInfos toModificationInfos() {
.busOrBusbarSectionId2(toAttributeModification(getBusOrBusbarSectionId2()))
.connectionName1(toAttributeModification(getConnectionName1()))
.connectionName2(toAttributeModification(getConnectionName2()))
.selectedOperationalLimitsGroup1(toAttributeModification(getSelectedOperationalLimitsGroupId1()))
.selectedOperationalLimitsGroup2(toAttributeModification(getSelectedOperationalLimitsGroupId2()))
.selectedOperationalLimitsGroupId1(toAttributeModification(getSelectedOperationalLimitsGroupId1()))
.selectedOperationalLimitsGroupId2(toAttributeModification(getSelectedOperationalLimitsGroupId2()))
.enableOLGModification(getEnableOLGModification())
.operationalLimitsGroupsModificationType(getOperationalLimitsGroupsModificationType())
.connectionDirection1(toAttributeModification(getConnectionDirection1()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
package org.gridsuite.modification.server.modifications;

import com.fasterxml.jackson.core.type.TypeReference;
import com.powsybl.iidm.network.Line;
import com.powsybl.iidm.network.Network;
import com.powsybl.iidm.network.OperationalLimitsGroup;
import com.powsybl.iidm.network.SwitchKind;
import org.gridsuite.modification.NetworkModificationException;
import org.gridsuite.modification.dto.*;
Expand All @@ -17,19 +19,15 @@
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.ResultActions;

import java.util.Arrays;
import java.util.Map;
import java.util.UUID;
import java.util.*;

import static org.gridsuite.modification.NetworkModificationException.Type.*;
import static org.gridsuite.modification.server.report.NetworkModificationServerReportResourceBundle.ERROR_MESSAGE_KEY;
import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage;
import static org.junit.jupiter.api.Assertions.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.asyncDispatch;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.request;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

/**
* @author David Braquart <david.braquart at rte-france.com>
Expand All @@ -38,11 +36,30 @@
class LineAttachToVoltageLevelTest extends AbstractNetworkModificationTest {

private static LineCreationInfos getAttachmentLine(String lineName) {
List<FreePropertyInfos> propertiesList = new ArrayList<>();
FreePropertyInfos propertyOne = new FreePropertyInfos();
propertyOne.setName("property");
propertyOne.setValue("value");
propertiesList.add(propertyOne);
List<OperationalLimitsGroupInfos> operationalLimitsList = new ArrayList<>();
OperationalLimitsGroupInfos limitsGroup = new OperationalLimitsGroupInfos();
limitsGroup.setId("groupId");
limitsGroup.setApplicability(OperationalLimitsGroupInfos.Applicability.SIDE1);
// to make the tests pass (when comparing otherwise it is null and not an empty list)
limitsGroup.setLimitsProperties(Collections.emptyList());
CurrentLimitsInfos currentLimitsInfos = new CurrentLimitsInfos();
currentLimitsInfos.setPermanentLimit(1.0);
// to make the tests pass (when comparing otherwise it is null and not an empty list)
currentLimitsInfos.setTemporaryLimits(Collections.emptyList());
limitsGroup.setCurrentLimits(currentLimitsInfos);
operationalLimitsList.add(limitsGroup);
return LineCreationInfos.builder()
.stashed(false)
.equipmentId(lineName)
.r(50.6)
.x(25.3)
.properties(propertiesList)
.operationalLimitsGroups(operationalLimitsList)
.build();
}

Expand All @@ -59,8 +76,8 @@ private static VoltageLevelCreationInfos getNewVoltageLevel() {
.ipMax(10.0)
.busbarCount(2)
.sectionCount(2)
.switchKinds(Arrays.asList(SwitchKind.BREAKER))
.couplingDevices(Arrays.asList(CouplingDeviceInfos.builder().busbarSectionId1("bbs.nw").busbarSectionId2("bbs.ne").build()))
.switchKinds(List.of(SwitchKind.BREAKER))
.couplingDevices(Collections.singletonList(CouplingDeviceInfos.builder().busbarSectionId1("bbs.nw").busbarSectionId2("bbs.ne").build()))
.build();
}

Expand Down Expand Up @@ -110,12 +127,23 @@ protected ModificationInfos buildModificationUpdate() {
@Override
protected void assertAfterNetworkModificationCreation() {
// new equipments in the network:
assertNotNull(getNetwork().getLine("attachmentLine"));
assertNotNull(getNetwork().getLine("nl1"));
assertNotNull(getNetwork().getLine("nl2"));
assertNotNull(getNetwork().getVoltageLevel("AttPointId"));
// replaced line is gone
assertNull(getNetwork().getLine("line3"));

// check attachment Line
Line attachmentLine = getNetwork().getLine("attachmentLine");
assertNotNull(attachmentLine);
assertFalse(attachmentLine.getOperationalLimitsGroups1().isEmpty());
Optional<OperationalLimitsGroup> operationalLimitsGroup = attachmentLine.getOperationalLimitsGroup1("groupId");
assertTrue(operationalLimitsGroup.isPresent());
assertEquals("groupId", operationalLimitsGroup.get().getId());
assertTrue(operationalLimitsGroup.get().getCurrentLimits().isPresent());
assertEquals(1.0, operationalLimitsGroup.get().getCurrentLimits().get().getPermanentLimit());
assertFalse(attachmentLine.getPropertyNames().isEmpty());
assertTrue(attachmentLine.getPropertyNames().contains("property"));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ void testCreateLineWithBothCurrentLimits() throws Exception {
testNetworkModificationsCount(getGroupId(), 1);

assertEquals(
"LineCreationInfos(super=BranchCreationInfos(super=EquipmentCreationInfos(super=EquipmentModificationInfos(super=ModificationInfos(uuid=null, type=LINE_CREATION, date=null, stashed=false, messageType=null, messageValues=null, activated=true, description=null), equipmentId=idLineEdited, properties=null), equipmentName=nameLineEdited), r=110.0, x=110.0, voltageLevelId1=v2, voltageLevelId2=v1, busOrBusbarSectionId1=1A, busOrBusbarSectionId2=1.1, operationalLimitsGroups=[OperationalLimitsGroupInfos(id=null, currentLimits=CurrentLimitsInfos(permanentLimit=200.0, temporaryLimits=[CurrentTemporaryLimitCreationInfos(name=IT10, value=200.0, acceptableDuration=600)]), applicability=SIDE1, limitsProperties=null), OperationalLimitsGroupInfos(id=null, currentLimits=CurrentLimitsInfos(permanentLimit=100.0, temporaryLimits=[CurrentTemporaryLimitCreationInfos(name=IT20, value=600.0, acceptableDuration=1200)]), applicability=SIDE2, limitsProperties=null)], selectedOperationalLimitsGroup1=null, selectedOperationalLimitsGroup2=null, connectionName1=cn1LineEdited, connectionDirection1=BOTTOM, connectionName2=cn2LineEdited, connectionDirection2=TOP, connectionPosition1=0, connectionPosition2=0, connected1=true, connected2=false), g1=15.0, b1=15.0, g2=25.0, b2=25.0)",
"LineCreationInfos(super=BranchCreationInfos(super=EquipmentCreationInfos(super=EquipmentModificationInfos(super=ModificationInfos(uuid=null, type=LINE_CREATION, date=null, stashed=false, messageType=null, messageValues=null, activated=true, description=null), equipmentId=idLineEdited, properties=null), equipmentName=nameLineEdited), r=110.0, x=110.0, voltageLevelId1=v2, voltageLevelId2=v1, busOrBusbarSectionId1=1A, busOrBusbarSectionId2=1.1, operationalLimitsGroups=[OperationalLimitsGroupInfos(id=null, currentLimits=CurrentLimitsInfos(permanentLimit=200.0, temporaryLimits=[CurrentTemporaryLimitCreationInfos(name=IT10, value=200.0, acceptableDuration=600)]), applicability=SIDE1, limitsProperties=null), OperationalLimitsGroupInfos(id=null, currentLimits=CurrentLimitsInfos(permanentLimit=100.0, temporaryLimits=[CurrentTemporaryLimitCreationInfos(name=IT20, value=600.0, acceptableDuration=1200)]), applicability=SIDE2, limitsProperties=null)], selectedOperationalLimitsGroupId1=null, selectedOperationalLimitsGroupId2=null, connectionName1=cn1LineEdited, connectionDirection1=BOTTOM, connectionName2=cn2LineEdited, connectionDirection2=TOP, connectionPosition1=0, connectionPosition2=0, connected1=true, connected2=false), g1=15.0, b1=15.0, g2=25.0, b2=25.0)",
lineCreation.toString()
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ protected ModificationInfos buildModification() {
)).build())
.build()
))
.selectedOperationalLimitsGroup1(new AttributeModification<String>("newOpLG1", OperationType.SET))
.selectedOperationalLimitsGroup2(new AttributeModification<String>("newOpLG2", OperationType.SET))
.selectedOperationalLimitsGroupId1(new AttributeModification<>("newOpLG1", OperationType.SET))
.selectedOperationalLimitsGroupId2(new AttributeModification<>("newOpLG2", OperationType.SET))
.properties(List.of(FreePropertyInfos.builder().name(PROPERTY_NAME).value(PROPERTY_VALUE).build()))
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ void testCreateTwoWindingsTransformerWithRatioTapChangerInNodeBreaker() throws E
testCreateTwoWindingsTransformerInNodeBreaker(twoWindingsTransformerCreationInfos2, 2);

assertEquals(
"TwoWindingsTransformerCreationInfos(super=BranchCreationInfos(super=EquipmentCreationInfos(super=EquipmentModificationInfos(super=ModificationInfos(uuid=null, type=TWO_WINDINGS_TRANSFORMER_CREATION, date=null, stashed=false, messageType=null, messageValues=null, activated=true, description=a dummy description), equipmentId=id2wt1WithRatioTapChanger2, properties=null), equipmentName=2wtName), r=400.0, x=300.0, voltageLevelId1=v1, voltageLevelId2=v4, busOrBusbarSectionId1=1.1, busOrBusbarSectionId2=1.A, operationalLimitsGroups=null, selectedOperationalLimitsGroup1=null, selectedOperationalLimitsGroup2=null, connectionName1=null, connectionDirection1=TOP, connectionName2=null, connectionDirection2=TOP, connectionPosition1=null, connectionPosition2=null, connected1=true, connected2=true), g=100.0, b=200.0, ratedU1=1000.0, ratedU2=1010.0, ratedS=null, ratioTapChanger=RatioTapChangerCreationInfos(super=TapChangerCreationInfos(lowTapPosition=0, tapPosition=1, regulating=true, targetDeadband=null, terminalRefConnectableId=v1load, terminalRefConnectableType=LOAD, terminalRefConnectableVlId=v1, steps=[TapChangerStepCreationInfos(index=0, rho=1.0, r=39.78473, x=39.784725, g=0.0, b=0.0, alpha=0.0), TapChangerStepCreationInfos(index=0, rho=1.0, r=39.78474, x=39.784726, g=0.0, b=0.0, alpha=0.0), TapChangerStepCreationInfos(index=0, rho=1.0, r=39.78475, x=39.784727, g=0.0, b=0.0, alpha=0.0)], loadTapChangingCapabilities=true), targetV=220.0), phaseTapChanger=null)",
"TwoWindingsTransformerCreationInfos(super=BranchCreationInfos(super=EquipmentCreationInfos(super=EquipmentModificationInfos(super=ModificationInfos(uuid=null, type=TWO_WINDINGS_TRANSFORMER_CREATION, date=null, stashed=false, messageType=null, messageValues=null, activated=true, description=a dummy description), equipmentId=id2wt1WithRatioTapChanger2, properties=null), equipmentName=2wtName), r=400.0, x=300.0, voltageLevelId1=v1, voltageLevelId2=v4, busOrBusbarSectionId1=1.1, busOrBusbarSectionId2=1.A, operationalLimitsGroups=null, selectedOperationalLimitsGroupId1=null, selectedOperationalLimitsGroupId2=null, connectionName1=null, connectionDirection1=TOP, connectionName2=null, connectionDirection2=TOP, connectionPosition1=null, connectionPosition2=null, connected1=true, connected2=true), g=100.0, b=200.0, ratedU1=1000.0, ratedU2=1010.0, ratedS=null, ratioTapChanger=RatioTapChangerCreationInfos(super=TapChangerCreationInfos(lowTapPosition=0, tapPosition=1, regulating=true, targetDeadband=null, terminalRefConnectableId=v1load, terminalRefConnectableType=LOAD, terminalRefConnectableVlId=v1, steps=[TapChangerStepCreationInfos(index=0, rho=1.0, r=39.78473, x=39.784725, g=0.0, b=0.0, alpha=0.0), TapChangerStepCreationInfos(index=0, rho=1.0, r=39.78474, x=39.784726, g=0.0, b=0.0, alpha=0.0), TapChangerStepCreationInfos(index=0, rho=1.0, r=39.78475, x=39.784727, g=0.0, b=0.0, alpha=0.0)], loadTapChangingCapabilities=true), targetV=220.0), phaseTapChanger=null)",
twoWindingsTransformerCreationInfos2.toString()
);

Expand Down
Loading