diff --git a/pom.xml b/pom.xml index 8ff6621c..f4eec15f 100644 --- a/pom.xml +++ b/pom.xml @@ -42,8 +42,8 @@ - 2.30.0 - 1.21.0 + 2.31.0-SNAPSHOT + 1.22.0-SNAPSHOT 2.2.36 gridsuite org.gridsuite:network-modification diff --git a/src/main/java/org/gridsuite/modification/modifications/ByFilterDeletion.java b/src/main/java/org/gridsuite/modification/modifications/ByFilterDeletion.java index a1dca652..6bb80bcb 100644 --- a/src/main/java/org/gridsuite/modification/modifications/ByFilterDeletion.java +++ b/src/main/java/org/gridsuite/modification/modifications/ByFilterDeletion.java @@ -50,7 +50,7 @@ public class ByFilterDeletion extends AbstractModification { IdentifiableType.BATTERY, IdentifiableType.LOAD, IdentifiableType.SHUNT_COMPENSATOR, - IdentifiableType.DANGLING_LINE, + IdentifiableType.BOUNDARY_LINE, IdentifiableType.STATIC_VAR_COMPENSATOR ); diff --git a/src/main/java/org/gridsuite/modification/modifications/LineAttachToVoltageLevel.java b/src/main/java/org/gridsuite/modification/modifications/LineAttachToVoltageLevel.java index 4df9af99..7237099c 100644 --- a/src/main/java/org/gridsuite/modification/modifications/LineAttachToVoltageLevel.java +++ b/src/main/java/org/gridsuite/modification/modifications/LineAttachToVoltageLevel.java @@ -20,11 +20,8 @@ import org.gridsuite.modification.utils.ModificationUtils; import org.gridsuite.modification.utils.PropertiesUtils; -import java.util.Collection; - import static org.gridsuite.modification.NetworkModificationException.Type.*; import static org.gridsuite.modification.modifications.LineCreation.addLimits; -import static org.gridsuite.modification.utils.ModificationUtils.copyOperationalLimitsFor2NewLines; /** * @author David Braquart @@ -67,12 +64,6 @@ public void apply(Network network, ReportNode subReportNode) { if (mayNewVL != null) { ModificationUtils.getInstance().createVoltageLevel(mayNewVL, subReportNode, network); } - // copy limits from lineToAttach - Line line = network.getLine(modificationInfos.getLineToAttachToId()); - String selectedOperationalLimitsGroup1 = line.getSelectedOperationalLimitsGroupId1().orElse(null); - String selectedOperationalLimitsGroup2 = line.getSelectedOperationalLimitsGroupId2().orElse(null); - Collection operationalLimitsGroups1 = line.getOperationalLimitsGroups1(); - Collection operationalLimitsGroups2 = line.getOperationalLimitsGroups2(); LineCreationInfos attachmentLineInfos = modificationInfos.getAttachmentLine(); LineAdder lineAdder = network.newLine() .setId(attachmentLineInfos.getEquipmentId()) @@ -114,16 +105,6 @@ public void apply(Network network, ReportNode subReportNode) { // override voltage level updateAttachmentVoltageLevel(network, modificationInfos.getAttachmentPointDetailInformation()); } - - // copy limits from previous line to line1 and line2 TODO remove when powsybl core fixes it - // must remove before fix from powsybl core - copyOperationalLimitsFor2NewLines(network, - modificationInfos.getNewLine1Id(), - modificationInfos.getNewLine2Id(), - operationalLimitsGroups1, - operationalLimitsGroups2, - selectedOperationalLimitsGroup1, - selectedOperationalLimitsGroup2); } private void updateAttachmentVoltageLevel(Network network, @NotNull VoltageLevelCreationInfos attachmentPointDetailInformation) { diff --git a/src/main/java/org/gridsuite/modification/modifications/LineSplitWithVoltageLevel.java b/src/main/java/org/gridsuite/modification/modifications/LineSplitWithVoltageLevel.java index 5dd4e33f..10067f18 100644 --- a/src/main/java/org/gridsuite/modification/modifications/LineSplitWithVoltageLevel.java +++ b/src/main/java/org/gridsuite/modification/modifications/LineSplitWithVoltageLevel.java @@ -9,20 +9,15 @@ import com.powsybl.commons.report.ReportNode; import com.powsybl.iidm.modification.topology.ConnectVoltageLevelOnLine; import com.powsybl.iidm.modification.topology.ConnectVoltageLevelOnLineBuilder; -import com.powsybl.iidm.network.Line; import com.powsybl.iidm.network.Network; -import com.powsybl.iidm.network.OperationalLimitsGroup; import org.gridsuite.modification.NetworkModificationException; import org.gridsuite.modification.dto.LineSplitWithVoltageLevelInfos; import org.gridsuite.modification.dto.VoltageLevelCreationInfos; import org.gridsuite.modification.utils.ModificationUtils; import org.springframework.lang.NonNull; -import java.util.Collection; - import static org.gridsuite.modification.NetworkModificationException.Type.LINE_ALREADY_EXISTS; import static org.gridsuite.modification.NetworkModificationException.Type.LINE_NOT_FOUND; -import static org.gridsuite.modification.utils.ModificationUtils.copyOperationalLimitsFor2NewLines; /** * @author Slimane Amar @@ -57,12 +52,6 @@ public void apply(Network network, ReportNode subReportNode) { if (mayNewVL != null) { ModificationUtils.getInstance().createVoltageLevel(mayNewVL, subReportNode, network); } - // copy limits from lineToAttach TODO remove when powsybl core fixes it - Line line = network.getLine(modificationInfos.getLineToSplitId()); - String selectedOperationalLimitsGroup1 = line.getSelectedOperationalLimitsGroupId1().orElse(null); - String selectedOperationalLimitsGroup2 = line.getSelectedOperationalLimitsGroupId2().orElse(null); - Collection operationalLimitsGroups1 = line.getOperationalLimitsGroups1(); - Collection operationalLimitsGroups2 = line.getOperationalLimitsGroups2(); ConnectVoltageLevelOnLine algo = new ConnectVoltageLevelOnLineBuilder() .withPositionPercent(modificationInfos.getPercent()) .withBusbarSectionOrBusId(modificationInfos.getBbsOrBusId()) @@ -74,15 +63,6 @@ public void apply(Network network, ReportNode subReportNode) { .build(); algo.apply(network, true, subReportNode); - - // copy limits from previous line to line1 and line2 TODO remove when powsybl core fixes it - copyOperationalLimitsFor2NewLines(network, - modificationInfos.getNewLine1Id(), - modificationInfos.getNewLine2Id(), - operationalLimitsGroups1, - operationalLimitsGroups2, - selectedOperationalLimitsGroup1, - selectedOperationalLimitsGroup2); } @Override diff --git a/src/main/java/org/gridsuite/modification/utils/ModificationUtils.java b/src/main/java/org/gridsuite/modification/utils/ModificationUtils.java index 5df2b190..cf8efc14 100644 --- a/src/main/java/org/gridsuite/modification/utils/ModificationUtils.java +++ b/src/main/java/org/gridsuite/modification/utils/ModificationUtils.java @@ -1076,7 +1076,7 @@ public Identifiable getEquipmentByIdentifiableType(Network network, Identifia case BATTERY -> network.getBattery(equipmentId); case SHUNT_COMPENSATOR -> network.getShuntCompensator(equipmentId); case STATIC_VAR_COMPENSATOR -> network.getStaticVarCompensator(equipmentId); - case DANGLING_LINE -> network.getDanglingLine(equipmentId); + case BOUNDARY_LINE -> network.getBoundaryLine(equipmentId); case HVDC_CONVERTER_STATION -> network.getHvdcConverterStation(equipmentId); case SUBSTATION -> network.getSubstation(equipmentId); case VOLTAGE_LEVEL -> network.getVoltageLevel(equipmentId); @@ -2217,49 +2217,4 @@ public static void updateMeasurementValidity(Measurement measurement, boolean re } } } - - public static void copyOperationalLimitsFor2NewLines(Network network, String lineId1, String lineId2, - Collection operationalLimitsGroups1, - Collection operationalLimitsGroups2, - String selectedOperationalLimitsGroupId1, - String selectedOperationalLimitsGroupId2) { - Line line1 = network.getLine(lineId1); - Line line2 = network.getLine(lineId2); - copyOperationalLimitsForOneLine(line1, operationalLimitsGroups1, operationalLimitsGroups2, - selectedOperationalLimitsGroupId1, selectedOperationalLimitsGroupId2); - copyOperationalLimitsForOneLine(line2, operationalLimitsGroups1, operationalLimitsGroups2, - selectedOperationalLimitsGroupId1, selectedOperationalLimitsGroupId2); - } - - public static void copyOperationalLimitsForOneLine(Line line, - Collection operationalLimitsGroups1, - Collection operationalLimitsGroups2, - String selectedOperationalLimitsGroupId1, - String selectedOperationalLimitsGroupId2) { - if (line.getOperationalLimitsGroup1("DEFAULT").isPresent()) { - line.removeOperationalLimitsGroup1("DEFAULT"); - } - if (line.getOperationalLimitsGroup2("DEFAULT").isPresent()) { - line.removeOperationalLimitsGroup2("DEFAULT"); - } - copyOperationalLimits(operationalLimitsGroups1, line::newOperationalLimitsGroup1); - copyOperationalLimits(operationalLimitsGroups2, line::newOperationalLimitsGroup2); - if (selectedOperationalLimitsGroupId1 != null) { - line.setSelectedOperationalLimitsGroup1(selectedOperationalLimitsGroupId1); - } - if (selectedOperationalLimitsGroupId2 != null) { - line.setSelectedOperationalLimitsGroup2(selectedOperationalLimitsGroupId2); - } - } - - public static void copyOperationalLimits(Collection from, - Function createGroup) { - from.forEach(groupToCopy -> { - OperationalLimitsGroup copy = createGroup.apply(groupToCopy.getId()); - groupToCopy.getCurrentLimits().ifPresent(limit -> copy.newCurrentLimits(limit).add()); - groupToCopy.getActivePowerLimits().ifPresent(limit -> copy.newActivePowerLimits(limit).add()); - groupToCopy.getApparentPowerLimits().ifPresent(limit -> copy.newApparentPowerLimits(limit).add()); - groupToCopy.getPropertyNames().forEach(propertyName -> copy.setProperty(propertyName, groupToCopy.getProperty(propertyName))); - }); - } } diff --git a/src/test/java/org/gridsuite/modification/utils/NetworkCreation.java b/src/test/java/org/gridsuite/modification/utils/NetworkCreation.java index 51cf3511..227375e9 100644 --- a/src/test/java/org/gridsuite/modification/utils/NetworkCreation.java +++ b/src/test/java/org/gridsuite/modification/utils/NetworkCreation.java @@ -109,7 +109,7 @@ public static Network create(UUID uuid, boolean createHvdcLine, NetworkFactory n createSwitch(v2, "v2bshunt", "v2bshunt", SwitchKind.BREAKER, true, false, false, 8, 9); createSwitch(v2, "v2dshunt", "v2dshunt", SwitchKind.DISCONNECTOR, true, false, false, 9, 0); - createDanglingLine(v2, "v2Dangling", "v2Dangling", 10, 1, 2, 3, 4, 50, 30, "xnode1"); + createBoundaryLine(v2, "v2Boundary", "v2Boundary", 10, 1, 2, 3, 4, 50, 30, "xnode1"); createSwitch(v2, "v2bdangling", "v2bdangling", SwitchKind.BREAKER, true, false, false, 10, 11); createSwitch(v2, "v2ddangling", "v2ddangling", SwitchKind.DISCONNECTOR, true, false, false, 11, 1); diff --git a/src/test/java/org/gridsuite/modification/utils/NetworkUtil.java b/src/test/java/org/gridsuite/modification/utils/NetworkUtil.java index f183d002..49495d63 100644 --- a/src/test/java/org/gridsuite/modification/utils/NetworkUtil.java +++ b/src/test/java/org/gridsuite/modification/utils/NetworkUtil.java @@ -391,9 +391,9 @@ public static void createBattery(VoltageLevel vl, String id, String name, .add(); } - public static void createDanglingLine(VoltageLevel vl, String id, String name, - int node, double r, double x, double b, double g, double p0, double q0, String pairingKey) { - vl.newDanglingLine() + public static void createBoundaryLine(VoltageLevel vl, String id, String name, + int node, double r, double x, double b, double g, double p0, double q0, String pairingKey) { + vl.newBoundaryLine() .setId(id) .setName(name) .setR(r)