From 144cd8ad81c244ea536c42bd2276f06ee0c41fbf Mon Sep 17 00:00:00 2001 From: Franck LECUYER Date: Wed, 24 Sep 2025 14:54:58 +0200 Subject: [PATCH 1/2] Always set the 'id' field in CurrentLimitsData dto with the operational limits group id Signed-off-by: Franck LECUYER --- .../map/dto/common/CurrentLimitsData.java | 1 - .../map/dto/mapper/BranchInfosMapper.java | 17 ++++--- .../map/dto/mapper/LineInfosMapper.java | 4 +- .../map/dto/mapper/TieLineInfosMapper.java | 4 +- .../TwoWindingsTransformerInfosMapper.java | 4 +- .../2-windings-transformer-tooltip-data.json | 22 ++++++++-- ...ansformers-tab-data-without-optionals.json | 4 ++ .../2-windings-transformers-tab-data.json | 8 ++++ src/test/resources/all-data-in-variant.json | 44 +++++++++++++++++++ .../resources/all-data-without-optionals.json | 20 +++++++++ src/test/resources/all-data.json | 44 +++++++++++++++++++ src/test/resources/line-tooltip-data-dc.json | 23 +++++----- src/test/resources/line-tooltip-data.json | 30 +++++++++---- .../partial-all-data-in-variant.json | 8 ++++ src/test/resources/partial-all-data.json | 8 ++++ ...rtial-all-map-data-no-redundant-lines.json | 8 ++++ 16 files changed, 211 insertions(+), 38 deletions(-) diff --git a/src/main/java/org/gridsuite/network/map/dto/common/CurrentLimitsData.java b/src/main/java/org/gridsuite/network/map/dto/common/CurrentLimitsData.java index c90e606b..f0425202 100644 --- a/src/main/java/org/gridsuite/network/map/dto/common/CurrentLimitsData.java +++ b/src/main/java/org/gridsuite/network/map/dto/common/CurrentLimitsData.java @@ -24,7 +24,6 @@ @EqualsAndHashCode @ToString public class CurrentLimitsData { - // may be null in case we just need the selected limit set and don't really need its name/id @JsonInclude(JsonInclude.Include.NON_NULL) private String id; diff --git a/src/main/java/org/gridsuite/network/map/dto/mapper/BranchInfosMapper.java b/src/main/java/org/gridsuite/network/map/dto/mapper/BranchInfosMapper.java index 29c080c9..1110bee9 100644 --- a/src/main/java/org/gridsuite/network/map/dto/mapper/BranchInfosMapper.java +++ b/src/main/java/org/gridsuite/network/map/dto/mapper/BranchInfosMapper.java @@ -73,14 +73,13 @@ public static ElementInfos toData(@NonNull final Identifiable identifiable, final Terminal terminal1 = branch.getTerminal1(); final Terminal terminal2 = branch.getTerminal2(); - branch.getSelectedOperationalLimitsGroup1() - .flatMap(OperationalLimitsGroup::getCurrentLimits) - .map(cl -> builder.selectedOperationalLimitsGroup1(toMapDataCurrentLimits(cl, null, null))); - branch.getSelectedOperationalLimitsGroupId1().map(name -> builder.selectedOperationalLimitsGroup1Name(name)); - branch.getSelectedOperationalLimitsGroup2() - .flatMap(OperationalLimitsGroup::getCurrentLimits) - .map(cl -> builder.selectedOperationalLimitsGroup2(toMapDataCurrentLimits(cl, null, null))); - branch.getSelectedOperationalLimitsGroupId2().map(name -> builder.selectedOperationalLimitsGroup2Name(name)); + branch.getSelectedOperationalLimitsGroup1().map(limitGrp -> + limitGrp.getCurrentLimits().map(cl -> builder.selectedOperationalLimitsGroup1(toMapDataCurrentLimits(cl, limitGrp.getId(), null)))); + branch.getSelectedOperationalLimitsGroupId1().map(builder::selectedOperationalLimitsGroup1Name); + + branch.getSelectedOperationalLimitsGroup2().map(limitGrp -> + limitGrp.getCurrentLimits().map(cl -> builder.selectedOperationalLimitsGroup2(toMapDataCurrentLimits(cl, limitGrp.getId(), null)))); + branch.getSelectedOperationalLimitsGroupId2().map(builder::selectedOperationalLimitsGroup2Name); if (loadOperationalLimitGroups) { final Map mapOperationalLimitsGroup1 = buildCurrentLimitsMap(branch.getOperationalLimitsGroups1()); @@ -133,7 +132,7 @@ private static Map buildCurrentLimitsMap(@NonNull fin } Map res = HashMap.newHashMap(operationalLimitsGroups.size()); operationalLimitsGroups.forEach(operationalLimitsGroup -> operationalLimitsGroup.getCurrentLimits() - .ifPresent(limits -> res.put(operationalLimitsGroup.getId(), toMapDataCurrentLimits(limits, null, null)))); + .ifPresent(limits -> res.put(operationalLimitsGroup.getId(), toMapDataCurrentLimits(limits, operationalLimitsGroup.getId(), null)))); return res; } diff --git a/src/main/java/org/gridsuite/network/map/dto/mapper/LineInfosMapper.java b/src/main/java/org/gridsuite/network/map/dto/mapper/LineInfosMapper.java index c41322a6..a79d0896 100644 --- a/src/main/java/org/gridsuite/network/map/dto/mapper/LineInfosMapper.java +++ b/src/main/java/org/gridsuite/network/map/dto/mapper/LineInfosMapper.java @@ -162,8 +162,8 @@ private static LineTooltipInfos toTooltipInfos(Identifiable identifiable, Dou .b1(line.getB1()) .b2(line.getB2()); - line.getCurrentLimits1().ifPresent(limits1 -> builder.currentLimits1(toMapDataCurrentLimits(limits1, null, null))); - line.getCurrentLimits2().ifPresent(limits2 -> builder.currentLimits2(toMapDataCurrentLimits(limits2, null, null))); + line.getSelectedOperationalLimitsGroup1().ifPresent(limitsGrp -> limitsGrp.getCurrentLimits().ifPresent(limits -> builder.currentLimits1(toMapDataCurrentLimits(limits, limitsGrp.getId(), null)))); + line.getSelectedOperationalLimitsGroup2().ifPresent(limitsGrp -> limitsGrp.getCurrentLimits().ifPresent(limits -> builder.currentLimits2(toMapDataCurrentLimits(limits, limitsGrp.getId(), null)))); return builder.build(); } diff --git a/src/main/java/org/gridsuite/network/map/dto/mapper/TieLineInfosMapper.java b/src/main/java/org/gridsuite/network/map/dto/mapper/TieLineInfosMapper.java index 7d336cd1..af33899c 100644 --- a/src/main/java/org/gridsuite/network/map/dto/mapper/TieLineInfosMapper.java +++ b/src/main/java/org/gridsuite/network/map/dto/mapper/TieLineInfosMapper.java @@ -58,8 +58,8 @@ private static TieLineMapInfos toMapInfos(Identifiable identifiable, Double d .i2(nullIfNan(computeIntensity(terminal2, dcPowerFactor))) .operatingStatus(ExtensionUtils.toOperatingStatus(tieLine)); - tieLine.getCurrentLimits1().ifPresent(limits1 -> builder.currentLimits1(toMapDataCurrentLimits(limits1, null, null))); - tieLine.getCurrentLimits2().ifPresent(limits2 -> builder.currentLimits2(toMapDataCurrentLimits(limits2, null, null))); + tieLine.getSelectedOperationalLimitsGroup1().ifPresent(limitsGrp -> limitsGrp.getCurrentLimits().ifPresent(limits -> builder.currentLimits1(toMapDataCurrentLimits(limits, limitsGrp.getId(), null)))); + tieLine.getSelectedOperationalLimitsGroup2().ifPresent(limitsGrp -> limitsGrp.getCurrentLimits().ifPresent(limits -> builder.currentLimits2(toMapDataCurrentLimits(limits, limitsGrp.getId(), null)))); return builder.build(); } diff --git a/src/main/java/org/gridsuite/network/map/dto/mapper/TwoWindingsTransformerInfosMapper.java b/src/main/java/org/gridsuite/network/map/dto/mapper/TwoWindingsTransformerInfosMapper.java index 9218bb0e..2fd23155 100644 --- a/src/main/java/org/gridsuite/network/map/dto/mapper/TwoWindingsTransformerInfosMapper.java +++ b/src/main/java/org/gridsuite/network/map/dto/mapper/TwoWindingsTransformerInfosMapper.java @@ -165,8 +165,8 @@ private static TwoWindingsTransformerTooltipInfos toTooltipInfos(Identifiable .x(twoWindingsTransformer.getX()) .b(twoWindingsTransformer.getB()); - twoWindingsTransformer.getCurrentLimits1().ifPresent(limits1 -> builder.currentLimits1(toMapDataCurrentLimits(limits1, null, null))); - twoWindingsTransformer.getCurrentLimits2().ifPresent(limits2 -> builder.currentLimits2(toMapDataCurrentLimits(limits2, null, null))); + twoWindingsTransformer.getSelectedOperationalLimitsGroup1().ifPresent(limitsGrp -> limitsGrp.getCurrentLimits().ifPresent(limits -> builder.currentLimits1(toMapDataCurrentLimits(limits, limitsGrp.getId(), null)))); + twoWindingsTransformer.getSelectedOperationalLimitsGroup2().ifPresent(limitsGrp -> limitsGrp.getCurrentLimits().ifPresent(limits -> builder.currentLimits2(toMapDataCurrentLimits(limits, limitsGrp.getId(), null)))); return builder.build(); } diff --git a/src/test/resources/2-windings-transformer-tooltip-data.json b/src/test/resources/2-windings-transformer-tooltip-data.json index 57f7775d..9eefd451 100644 --- a/src/test/resources/2-windings-transformer-tooltip-data.json +++ b/src/test/resources/2-windings-transformer-tooltip-data.json @@ -3,21 +3,35 @@ "voltageLevelId1": "VLGEN", "voltageLevelId2": "VLHV1", "currentLimits1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ - { "name": "IT5", "value": 300.0, "acceptableDuration": 2087 } + { + "name": "IT5", + "value": 300.0, + "acceptableDuration": 2087 + } ], "applicability": null }, "currentLimits2": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ - { "name": "IT20", "value": 1200.0, "acceptableDuration": 961 }, - { "name": "N/A", "value": 2.147483647e9, "acceptableDuration": 664 } + { + "name": "IT20", + "value": 1200.0, + "acceptableDuration": 961 + }, + { + "name": "N/A", + "value": 2.147483647E9, + "acceptableDuration": 664 + } ], "applicability": null }, "r": 0.26658461538461536, "x": 11.104492831516762, "b": 0.0 -} +} \ No newline at end of file diff --git a/src/test/resources/2-windings-transformers-tab-data-without-optionals.json b/src/test/resources/2-windings-transformers-tab-data-without-optionals.json index b941441a..8a2e3dbe 100644 --- a/src/test/resources/2-windings-transformers-tab-data-without-optionals.json +++ b/src/test/resources/2-windings-transformers-tab-data-without-optionals.json @@ -20,6 +20,7 @@ "r": 0.26658461538461536, "x": 11.104492831516762, "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -32,6 +33,7 @@ }, "selectedOperationalLimitsGroup1Name": "limit set 1", "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -194,6 +196,7 @@ "r": 47.0, "x": 23.0, "selectedOperationalLimitsGroup1": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -206,6 +209,7 @@ }, "selectedOperationalLimitsGroup1Name": "DEFAULT", "selectedOperationalLimitsGroup2": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { diff --git a/src/test/resources/2-windings-transformers-tab-data.json b/src/test/resources/2-windings-transformers-tab-data.json index 271a129a..48699d23 100644 --- a/src/test/resources/2-windings-transformers-tab-data.json +++ b/src/test/resources/2-windings-transformers-tab-data.json @@ -21,6 +21,7 @@ "x": 11.104492831516762, "operationalLimitsGroup1": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -36,6 +37,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -49,6 +51,7 @@ "selectedOperationalLimitsGroup1Name": "limit set 1", "operationalLimitsGroup2": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -69,6 +72,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -232,6 +236,7 @@ "x": 23.0, "operationalLimitsGroup1": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -247,6 +252,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup1": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -260,6 +266,7 @@ "selectedOperationalLimitsGroup1Name": "DEFAULT", "operationalLimitsGroup2": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { @@ -275,6 +282,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup2": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { diff --git a/src/test/resources/all-data-in-variant.json b/src/test/resources/all-data-in-variant.json index e732bc20..c6dd2876 100644 --- a/src/test/resources/all-data-in-variant.json +++ b/src/test/resources/all-data-in-variant.json @@ -242,6 +242,7 @@ "x": 10.0, "operationalLimitsGroup1": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -257,6 +258,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -270,6 +272,7 @@ "selectedOperationalLimitsGroup1Name": "limit set 1", "operationalLimitsGroup2": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -290,6 +293,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -330,6 +334,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group2": { + "id": "group2", "permanentLimit": 250.0, "temporaryLimits": [ { @@ -341,6 +346,7 @@ "applicability": null }, "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -362,6 +368,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -380,6 +387,7 @@ "selectedOperationalLimitsGroup1Name": "group1", "operationalLimitsGroup2": { "group4": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -391,6 +399,7 @@ "applicability": null }, "group3": { + "id": "group3", "permanentLimit": 300.0, "temporaryLimits": [ { @@ -407,6 +416,7 @@ "group3" ], "selectedOperationalLimitsGroup2": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -446,6 +456,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -466,6 +477,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -545,6 +557,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -565,6 +578,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -840,6 +854,7 @@ "x": 11.104492831516762, "operationalLimitsGroup1": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -855,6 +870,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -868,6 +884,7 @@ "selectedOperationalLimitsGroup1Name": "limit set 1", "operationalLimitsGroup2": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -888,6 +905,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -1051,6 +1069,7 @@ "x": 23.0, "operationalLimitsGroup1": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -1066,6 +1085,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup1": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -1079,6 +1099,7 @@ "selectedOperationalLimitsGroup1Name": "DEFAULT", "operationalLimitsGroup2": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { @@ -1094,6 +1115,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup2": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { @@ -2533,6 +2555,7 @@ "x": 10.0, "operationalLimitsGroup1": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -2548,6 +2571,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -2561,6 +2585,7 @@ "selectedOperationalLimitsGroup1Name": "limit set 1", "operationalLimitsGroup2": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -2581,6 +2606,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -2617,6 +2643,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group2": { + "id": "group2", "permanentLimit": 250.0, "temporaryLimits": [ { @@ -2628,6 +2655,7 @@ "applicability": null }, "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2649,6 +2677,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2667,6 +2696,7 @@ "selectedOperationalLimitsGroup1Name": "group1", "operationalLimitsGroup2": { "group4": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -2678,6 +2708,7 @@ "applicability": null }, "group3": { + "id": "group3", "permanentLimit": 300.0, "temporaryLimits": [ { @@ -2694,6 +2725,7 @@ "group3" ], "selectedOperationalLimitsGroup2": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -2729,6 +2761,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2749,6 +2782,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2824,6 +2858,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2844,6 +2879,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2886,6 +2922,7 @@ "x": 11.104492831516762, "operationalLimitsGroup1": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -2901,6 +2938,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -2914,6 +2952,7 @@ "selectedOperationalLimitsGroup1Name": "limit set 1", "operationalLimitsGroup2": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -2934,6 +2973,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -2998,6 +3038,7 @@ "x": 23.0, "operationalLimitsGroup1": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -3013,6 +3054,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup1": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -3026,6 +3068,7 @@ "selectedOperationalLimitsGroup1Name": "DEFAULT", "operationalLimitsGroup2": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { @@ -3041,6 +3084,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup2": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { diff --git a/src/test/resources/all-data-without-optionals.json b/src/test/resources/all-data-without-optionals.json index c72fb7b0..d5159827 100644 --- a/src/test/resources/all-data-without-optionals.json +++ b/src/test/resources/all-data-without-optionals.json @@ -241,6 +241,7 @@ "r": 9.0, "x": 10.0, "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -253,6 +254,7 @@ }, "selectedOperationalLimitsGroup1Name": "limit set 1", "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -292,6 +294,7 @@ "r": 3.0, "x": 33.0, "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -309,6 +312,7 @@ }, "selectedOperationalLimitsGroup1Name": "group1", "selectedOperationalLimitsGroup2": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -347,6 +351,7 @@ "r": 3.0, "x": 33.0, "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -425,6 +430,7 @@ "r": 3.0, "x": 33.0, "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -699,6 +705,7 @@ "r": 0.26658461538461536, "x": 11.104492831516762, "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -711,6 +718,7 @@ }, "selectedOperationalLimitsGroup1Name": "limit set 1", "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -873,6 +881,7 @@ "r": 47.0, "x": 23.0, "selectedOperationalLimitsGroup1": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -885,6 +894,7 @@ }, "selectedOperationalLimitsGroup1Name": "DEFAULT", "selectedOperationalLimitsGroup2": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { @@ -2292,6 +2302,7 @@ "r": 9.0, "x": 10.0, "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -2304,6 +2315,7 @@ }, "selectedOperationalLimitsGroup1Name": "limit set 1", "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -2339,6 +2351,7 @@ "r": 3.0, "x": 33.0, "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2356,6 +2369,7 @@ }, "selectedOperationalLimitsGroup1Name": "group1", "selectedOperationalLimitsGroup2": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -2390,6 +2404,7 @@ "r": 3.0, "x": 33.0, "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2464,6 +2479,7 @@ "r": 3.0, "x": 33.0, "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2505,6 +2521,7 @@ "r": 0.26658461538461536, "x": 11.104492831516762, "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -2517,6 +2534,7 @@ }, "selectedOperationalLimitsGroup1Name": "limit set 1", "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -2580,6 +2598,7 @@ "r": 47.0, "x": 23.0, "selectedOperationalLimitsGroup1": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -2592,6 +2611,7 @@ }, "selectedOperationalLimitsGroup1Name": "DEFAULT", "selectedOperationalLimitsGroup2": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { diff --git a/src/test/resources/all-data.json b/src/test/resources/all-data.json index 194766cc..077095c6 100644 --- a/src/test/resources/all-data.json +++ b/src/test/resources/all-data.json @@ -242,6 +242,7 @@ "x": 10.0, "operationalLimitsGroup1": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -257,6 +258,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -270,6 +272,7 @@ "selectedOperationalLimitsGroup1Name": "limit set 1", "operationalLimitsGroup2": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -290,6 +293,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -330,6 +334,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group2": { + "id": "group2", "permanentLimit": 250.0, "temporaryLimits": [ { @@ -341,6 +346,7 @@ "applicability": null }, "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -362,6 +368,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -380,6 +387,7 @@ "selectedOperationalLimitsGroup1Name": "group1", "operationalLimitsGroup2": { "group4": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -391,6 +399,7 @@ "applicability": null }, "group3": { + "id": "group3", "permanentLimit": 300.0, "temporaryLimits": [ { @@ -407,6 +416,7 @@ "group3" ], "selectedOperationalLimitsGroup2": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -446,6 +456,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -466,6 +477,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -545,6 +557,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -565,6 +578,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -840,6 +854,7 @@ "x": 11.104492831516762, "operationalLimitsGroup1": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -855,6 +870,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -868,6 +884,7 @@ "selectedOperationalLimitsGroup1Name": "limit set 1", "operationalLimitsGroup2": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -888,6 +905,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -1051,6 +1069,7 @@ "x": 23.0, "operationalLimitsGroup1": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -1066,6 +1085,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup1": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -1079,6 +1099,7 @@ "selectedOperationalLimitsGroup1Name": "DEFAULT", "operationalLimitsGroup2": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { @@ -1094,6 +1115,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup2": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { @@ -2521,6 +2543,7 @@ "x": 10.0, "operationalLimitsGroup1": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -2536,6 +2559,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ { @@ -2549,6 +2573,7 @@ "selectedOperationalLimitsGroup1Name": "limit set 1", "operationalLimitsGroup2": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -2569,6 +2594,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ { @@ -2605,6 +2631,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group2": { + "id": "group2", "permanentLimit": 250.0, "temporaryLimits": [ { @@ -2616,6 +2643,7 @@ "applicability": null }, "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2637,6 +2665,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2655,6 +2684,7 @@ "selectedOperationalLimitsGroup1Name": "group1", "operationalLimitsGroup2": { "group4": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -2666,6 +2696,7 @@ "applicability": null }, "group3": { + "id": "group3", "permanentLimit": 300.0, "temporaryLimits": [ { @@ -2682,6 +2713,7 @@ "group3" ], "selectedOperationalLimitsGroup2": { + "id": "group4", "permanentLimit": 320.0, "temporaryLimits": [ { @@ -2717,6 +2749,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2737,6 +2770,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2812,6 +2846,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2832,6 +2867,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -2874,6 +2910,7 @@ "x": 11.104492831516762, "operationalLimitsGroup1": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -2889,6 +2926,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup1": { + "id": "limit set 1", "permanentLimit": 750.4, "temporaryLimits": [ { @@ -2902,6 +2940,7 @@ "selectedOperationalLimitsGroup1Name": "limit set 1", "operationalLimitsGroup2": { "limit set 1": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -2922,6 +2961,7 @@ "limit set 1" ], "selectedOperationalLimitsGroup2": { + "id": "limit set 1", "permanentLimit": 780.6, "temporaryLimits": [ { @@ -2986,6 +3026,7 @@ "x": 23.0, "operationalLimitsGroup1": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -3001,6 +3042,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup1": { + "id": "DEFAULT", "permanentLimit": 300.4, "temporaryLimits": [ { @@ -3014,6 +3056,7 @@ "selectedOperationalLimitsGroup1Name": "DEFAULT", "operationalLimitsGroup2": { "DEFAULT": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { @@ -3029,6 +3072,7 @@ "DEFAULT" ], "selectedOperationalLimitsGroup2": { + "id": "DEFAULT", "permanentLimit": 280.6, "temporaryLimits": [ { diff --git a/src/test/resources/line-tooltip-data-dc.json b/src/test/resources/line-tooltip-data-dc.json index f8d46b7b..fe1ba3f7 100644 --- a/src/test/resources/line-tooltip-data-dc.json +++ b/src/test/resources/line-tooltip-data-dc.json @@ -6,20 +6,23 @@ "terminal2Connected": true, "i1": 6014.065304058601, "i2": 3007.0326520293006, - "currentLimits1":{ - "permanentLimit":220.0, - "temporaryLimits":[ + "currentLimits1": { + "id": "group1", + "permanentLimit": 220.0, + "temporaryLimits": [ { - "name":"temporary2", - "value":70.0, - "acceptableDuration":150 + "name": "temporary2", + "value": 70.0, + "acceptableDuration": 150 }, - {"name":"temporary1", - "value":50.0, - "acceptableDuration":100 + { + "name": "temporary1", + "value": 50.0, + "acceptableDuration": 100 } ], - "applicability":null}, + "applicability": null + }, "r": 3.0, "x": 33.0, "b1": 1.93E-4, diff --git a/src/test/resources/line-tooltip-data.json b/src/test/resources/line-tooltip-data.json index 102481b9..edd16fd7 100644 --- a/src/test/resources/line-tooltip-data.json +++ b/src/test/resources/line-tooltip-data.json @@ -5,22 +5,36 @@ "terminal1Connected": true, "terminal2Connected": true, "currentLimits1": { + "id": "limit set 1", "permanentLimit": 700.4, "temporaryLimits": [ - { "name": "IT5", "value": 250.0, "acceptableDuration": 300 } + { + "name": "IT5", + "value": 250.0, + "acceptableDuration": 300 + } ], "applicability": null }, "currentLimits2": { + "id": "limit set 1", "permanentLimit": 800.8, "temporaryLimits": [ - { "name": "IT20", "value": 300.0, "acceptableDuration": 1200 }, - { "name": "IT10", "value": 200.0, "acceptableDuration": 600 } + { + "name": "IT20", + "value": 300.0, + "acceptableDuration": 1200 + }, + { + "name": "IT10", + "value": 200.0, + "acceptableDuration": 600 + } ], "applicability": null }, - "r":9.0, - "x":10.0, - "b1":5.0, - "b2":6.0 -} + "r": 9.0, + "x": 10.0, + "b1": 5.0, + "b2": 6.0 +} \ No newline at end of file diff --git a/src/test/resources/partial-all-data-in-variant.json b/src/test/resources/partial-all-data-in-variant.json index 1b491e7a..01f981f3 100644 --- a/src/test/resources/partial-all-data-in-variant.json +++ b/src/test/resources/partial-all-data-in-variant.json @@ -48,6 +48,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -68,6 +69,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -112,6 +114,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -132,6 +135,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -425,6 +429,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -445,6 +450,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -485,6 +491,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -505,6 +512,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { diff --git a/src/test/resources/partial-all-data.json b/src/test/resources/partial-all-data.json index c09b27ba..045cc9b6 100644 --- a/src/test/resources/partial-all-data.json +++ b/src/test/resources/partial-all-data.json @@ -51,6 +51,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -71,6 +72,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -150,6 +152,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -170,6 +173,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -406,6 +410,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -426,6 +431,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -501,6 +507,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -521,6 +528,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { diff --git a/src/test/resources/partial-all-map-data-no-redundant-lines.json b/src/test/resources/partial-all-map-data-no-redundant-lines.json index 7f14440a..bfbfa0b0 100644 --- a/src/test/resources/partial-all-map-data-no-redundant-lines.json +++ b/src/test/resources/partial-all-map-data-no-redundant-lines.json @@ -66,6 +66,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -86,6 +87,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -130,6 +132,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -150,6 +153,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -453,6 +457,7 @@ "x": 33.0, "operationalLimitsGroup2": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -473,6 +478,7 @@ "group1" ], "selectedOperationalLimitsGroup2": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -513,6 +519,7 @@ "x": 33.0, "operationalLimitsGroup1": { "group1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { @@ -533,6 +540,7 @@ "group1" ], "selectedOperationalLimitsGroup1": { + "id": "group1", "permanentLimit": 220.0, "temporaryLimits": [ { From abbb5e6cbe39d7c01ef1f95678e29222bb2505bc Mon Sep 17 00:00:00 2001 From: Franck LECUYER Date: Wed, 24 Sep 2025 15:06:37 +0200 Subject: [PATCH 2/2] Fix sonar issues Signed-off-by: Franck LECUYER --- .../network/map/dto/mapper/BranchInfosMapper.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/gridsuite/network/map/dto/mapper/BranchInfosMapper.java b/src/main/java/org/gridsuite/network/map/dto/mapper/BranchInfosMapper.java index 1110bee9..cb570e19 100644 --- a/src/main/java/org/gridsuite/network/map/dto/mapper/BranchInfosMapper.java +++ b/src/main/java/org/gridsuite/network/map/dto/mapper/BranchInfosMapper.java @@ -73,13 +73,13 @@ public static ElementInfos toData(@NonNull final Identifiable identifiable, final Terminal terminal1 = branch.getTerminal1(); final Terminal terminal2 = branch.getTerminal2(); - branch.getSelectedOperationalLimitsGroup1().map(limitGrp -> - limitGrp.getCurrentLimits().map(cl -> builder.selectedOperationalLimitsGroup1(toMapDataCurrentLimits(cl, limitGrp.getId(), null)))); - branch.getSelectedOperationalLimitsGroupId1().map(builder::selectedOperationalLimitsGroup1Name); + branch.getSelectedOperationalLimitsGroup1().ifPresent(limitGrp -> + limitGrp.getCurrentLimits().ifPresent(cl -> builder.selectedOperationalLimitsGroup1(toMapDataCurrentLimits(cl, limitGrp.getId(), null)))); + branch.getSelectedOperationalLimitsGroupId1().ifPresent(builder::selectedOperationalLimitsGroup1Name); - branch.getSelectedOperationalLimitsGroup2().map(limitGrp -> - limitGrp.getCurrentLimits().map(cl -> builder.selectedOperationalLimitsGroup2(toMapDataCurrentLimits(cl, limitGrp.getId(), null)))); - branch.getSelectedOperationalLimitsGroupId2().map(builder::selectedOperationalLimitsGroup2Name); + branch.getSelectedOperationalLimitsGroup2().ifPresent(limitGrp -> + limitGrp.getCurrentLimits().ifPresent(cl -> builder.selectedOperationalLimitsGroup2(toMapDataCurrentLimits(cl, limitGrp.getId(), null)))); + branch.getSelectedOperationalLimitsGroupId2().ifPresent(builder::selectedOperationalLimitsGroup2Name); if (loadOperationalLimitGroups) { final Map mapOperationalLimitsGroup1 = buildCurrentLimitsMap(branch.getOperationalLimitsGroups1());