Skip to content

Commit

Permalink
refacto VoltageLevelField
Browse files Browse the repository at this point in the history
Signed-off-by: Mathieu DEHARBE <[email protected]>
  • Loading branch information
Mathieu-Deharbe committed Sep 3, 2024
1 parent fe01d83 commit 3337dd9
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
import org.gridsuite.modification.server.dto.AttributeModification;
import org.gridsuite.modification.server.dto.OperationType;

import static org.gridsuite.modification.server.modifications.VoltageLevelModification.modifLowVoltageLimit;
import static org.gridsuite.modification.server.modifications.VoltageLevelModification.modifyHighVoltageLimit;
import static org.gridsuite.modification.server.modifications.VoltageLevelModification.modifyNominalV;
import static org.gridsuite.modification.server.modifications.VoltageLevelModification.modifyVoltageLevelShortCircuit;

/**
Expand Down Expand Up @@ -40,9 +43,9 @@ public static Double getReferenceValue(VoltageLevel voltageLevel, String voltage
public static void setNewValue(VoltageLevel voltageLevel, String voltageLevelField, Double newValue) {
VoltageLevelField field = VoltageLevelField.valueOf(voltageLevelField);
switch (field) {
case NOMINAL_VOLTAGE -> voltageLevel.setNominalV(newValue);
case LOW_VOLTAGE_LIMIT -> voltageLevel.setLowVoltageLimit(newValue);
case HIGH_VOLTAGE_LIMIT -> voltageLevel.setHighVoltageLimit(newValue);
case NOMINAL_VOLTAGE -> modifyNominalV(voltageLevel, new AttributeModification<>(newValue, OperationType.SET), null);
case LOW_VOLTAGE_LIMIT -> modifLowVoltageLimit(voltageLevel, new AttributeModification<>(newValue, OperationType.SET), null);
case HIGH_VOLTAGE_LIMIT -> modifyHighVoltageLimit(voltageLevel, new AttributeModification<>(newValue, OperationType.SET), null);
case LOW_SHORT_CIRCUIT_CURRENT_LIMIT -> modifyVoltageLevelShortCircuit(
new AttributeModification<>(newValue, OperationType.SET), null, null, voltageLevel);
case HIGH_SHORT_CIRCUIT_CURRENT_LIMIT -> modifyVoltageLevelShortCircuit(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,26 @@ public void apply(Network network, ReportNode subReportNode) {
.add();

ModificationUtils.getInstance().applyElementaryModifications(voltageLevel::setName, () -> voltageLevel.getOptionalName().orElse("No value"), modificationInfos.getEquipmentName(), subReportNode, "Name");
ModificationUtils.getInstance().applyElementaryModifications(voltageLevel::setNominalV, voltageLevel::getNominalV, modificationInfos.getNominalV(), subReportNode, "Nominal voltage");
ModificationUtils.getInstance().applyElementaryModifications(voltageLevel::setLowVoltageLimit, voltageLevel::getLowVoltageLimit, modificationInfos.getLowVoltageLimit(), subReportNode, "Low voltage limit");
ModificationUtils.getInstance().applyElementaryModifications(voltageLevel::setHighVoltageLimit, voltageLevel::getHighVoltageLimit, modificationInfos.getHighVoltageLimit(), subReportNode, "High voltage limit");
modifyNominalV(voltageLevel, modificationInfos.getNominalV(), subReportNode);
modifLowVoltageLimit(voltageLevel, modificationInfos.getLowVoltageLimit(), subReportNode);
modifyHighVoltageLimit(voltageLevel, modificationInfos.getHighVoltageLimit(), subReportNode);

modifyVoltageLevelShortCircuit(modificationInfos.getIpMin(), modificationInfos.getIpMax(), subReportNode, voltageLevel);
PropertiesUtils.applyProperties(voltageLevel, subReportNode, modificationInfos.getProperties(), "VlProperties");
}

public static void modifyHighVoltageLimit(VoltageLevel voltageLevel, AttributeModification<Double> highVoltageLimit, ReportNode subReportNode) {
ModificationUtils.getInstance().applyElementaryModifications(voltageLevel::setHighVoltageLimit, voltageLevel::getHighVoltageLimit, highVoltageLimit, subReportNode, "High voltage limit");
}

public static void modifLowVoltageLimit(VoltageLevel voltageLevel, AttributeModification<Double> lowVoltageLimit, ReportNode subReportNode) {
ModificationUtils.getInstance().applyElementaryModifications(voltageLevel::setLowVoltageLimit, voltageLevel::getLowVoltageLimit, lowVoltageLimit, subReportNode, "Low voltage limit");
}

public static void modifyNominalV(VoltageLevel voltageLevel, AttributeModification<Double> modifNominalV, ReportNode subReportNode) {
ModificationUtils.getInstance().applyElementaryModifications(voltageLevel::setNominalV, voltageLevel::getNominalV, modifNominalV, subReportNode, "Nominal voltage");
}

public static void modifyVoltageLevelShortCircuit(AttributeModification<Double> ipMin,
AttributeModification<Double> ipMax,
ReportNode subReportNode,
Expand Down

0 comments on commit 3337dd9

Please sign in to comment.