diff --git a/src/main/java/org/gridsuite/network/map/dto/definition/generator/GeneratorTabInfos.java b/src/main/java/org/gridsuite/network/map/dto/definition/generator/GeneratorTabInfos.java index b528f19a..087dc109 100644 --- a/src/main/java/org/gridsuite/network/map/dto/definition/generator/GeneratorTabInfos.java +++ b/src/main/java/org/gridsuite/network/map/dto/definition/generator/GeneratorTabInfos.java @@ -85,6 +85,9 @@ public class GeneratorTabInfos extends ElementInfosWithProperties { @JsonInclude(JsonInclude.Include.NON_NULL) private String regulatingTerminalVlId; + @JsonInclude(JsonInclude.Include.NON_NULL) + private String regulationType; + private CoordinatedReactiveControlInfos coordinatedReactiveControl; @JsonInclude(JsonInclude.Include.NON_ABSENT) diff --git a/src/main/java/org/gridsuite/network/map/dto/mapper/GeneratorInfosMapper.java b/src/main/java/org/gridsuite/network/map/dto/mapper/GeneratorInfosMapper.java index 70b7c433..8a097416 100644 --- a/src/main/java/org/gridsuite/network/map/dto/mapper/GeneratorInfosMapper.java +++ b/src/main/java/org/gridsuite/network/map/dto/mapper/GeneratorInfosMapper.java @@ -93,12 +93,14 @@ private static GeneratorTabInfos toTabInfos(Identifiable identifiable, boolea if (loadRegulatingTerminals) { Terminal regulatingTerminal = generator.getRegulatingTerminal(); + builder.regulationType(RegulationType.LOCAL.name()); //If there is no regulating terminal in file, regulating terminal voltage level is equal to generator voltage level if (regulatingTerminal != null && !regulatingTerminal.getVoltageLevel().equals(terminal.getVoltageLevel())) { builder.regulatingTerminalVlName(regulatingTerminal.getVoltageLevel().getOptionalName().orElse(null)); builder.regulatingTerminalConnectableId(regulatingTerminal.getConnectable().getId()); builder.regulatingTerminalConnectableType(regulatingTerminal.getConnectable().getType().name()); builder.regulatingTerminalVlId(regulatingTerminal.getVoltageLevel().getId()); + builder.regulationType(RegulationType.REMOTE.name()); } } diff --git a/src/main/java/org/gridsuite/network/map/dto/utils/ElementUtils.java b/src/main/java/org/gridsuite/network/map/dto/utils/ElementUtils.java index 01c4bc59..293ac10a 100644 --- a/src/main/java/org/gridsuite/network/map/dto/utils/ElementUtils.java +++ b/src/main/java/org/gridsuite/network/map/dto/utils/ElementUtils.java @@ -216,4 +216,9 @@ public static UnsupportedOperationException handleUnsupportedInfoType(@NonNull f "InfoType '" + infoType + "' is not supported for " + elementTypeName + " elements" ); } + + public enum RegulationType { + LOCAL, + REMOTE + } } diff --git a/src/test/resources/all-data-in-variant.json b/src/test/resources/all-data-in-variant.json index a3fccb6b..a47868b4 100644 --- a/src/test/resources/all-data-in-variant.json +++ b/src/test/resources/all-data-in-variant.json @@ -1750,6 +1750,7 @@ "minQ": -500.0, "maxQ": 500.0 }, + "regulationType": "REMOTE", "regulatingTerminalConnectableId": "NHV1_NHV2_1", "regulatingTerminalConnectableType": "LINE", "regulatingTerminalVlId": "VLHV1", @@ -1819,6 +1820,7 @@ "maxP": 9999.99, "energySource": "OTHER", "voltageRegulatorOn": true, + "regulationType": "LOCAL", "reactiveCapabilityCurvePoints": [ { "p": 0.0, diff --git a/src/test/resources/all-data.json b/src/test/resources/all-data.json index 959b6c1e..d50b4cd9 100644 --- a/src/test/resources/all-data.json +++ b/src/test/resources/all-data.json @@ -1750,6 +1750,7 @@ "minQ": -500.0, "maxQ": 500.0 }, + "regulationType": "REMOTE", "regulatingTerminalConnectableId": "NHV1_NHV2_1", "regulatingTerminalConnectableType": "LINE", "regulatingTerminalVlId": "VLHV1", @@ -1819,6 +1820,7 @@ "maxP": 9999.99, "energySource": "OTHER", "voltageRegulatorOn": true, + "regulationType": "LOCAL", "reactiveCapabilityCurvePoints": [ { "p": 0.0, diff --git a/src/test/resources/generators-tab-data.json b/src/test/resources/generators-tab-data.json index c65b6ee7..f77047d6 100644 --- a/src/test/resources/generators-tab-data.json +++ b/src/test/resources/generators-tab-data.json @@ -25,6 +25,7 @@ "minQ": -500.0, "maxQ": 500.0 }, + "regulationType": "REMOTE", "regulatingTerminalConnectableId": "NHV1_NHV2_1", "regulatingTerminalConnectableType": "LINE", "regulatingTerminalVlId": "VLHV1", @@ -94,6 +95,7 @@ "maxP": 9999.99, "energySource": "OTHER", "voltageRegulatorOn": true, + "regulationType": "LOCAL", "reactiveCapabilityCurvePoints": [ { "p": 0.0,