Skip to content

Commit 65c25fc

Browse files
feat: add selected operational limits group by default
Signed-off-by: Joris Mancini <[email protected]>
1 parent c08a6e7 commit 65c25fc

10 files changed

+1200
-62
lines changed

src/main/java/org/gridsuite/network/map/dto/definition/branch/BranchTabInfos.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,23 @@ public class BranchTabInfos extends ElementInfosWithProperties {
8282
@JsonInclude(Include.NON_EMPTY)
8383
private List<String> operationalLimitsGroup1Names;
8484

85+
@JsonInclude(Include.NON_EMPTY)
86+
private CurrentLimitsData selectedOperationalLimitsGroup1;
87+
8588
@JsonInclude(Include.NON_NULL)
86-
private String selectedOperationalLimitsGroup1;
89+
private String selectedOperationalLimitsGroup1Name;
8790

8891
@JsonInclude(Include.NON_EMPTY)
8992
private Map<String, CurrentLimitsData> operationalLimitsGroup2;
9093

9194
@JsonInclude(Include.NON_EMPTY)
9295
private List<String> operationalLimitsGroup2Names;
9396

97+
@JsonInclude(Include.NON_EMPTY)
98+
private CurrentLimitsData selectedOperationalLimitsGroup2;
99+
94100
@JsonInclude(Include.NON_NULL)
95-
private String selectedOperationalLimitsGroup2;
101+
private String selectedOperationalLimitsGroup2Name;
96102

97103
@JsonInclude(Include.NON_ABSENT)
98104
private Optional<BranchObservabilityInfos> branchObservability;

src/main/java/org/gridsuite/network/map/dto/mapper/BranchInfosMapper.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,23 @@ public static ElementInfos toData(@NonNull final Identifiable<?> identifiable,
7272
// common properties
7373
final Terminal terminal1 = branch.getTerminal1();
7474
final Terminal terminal2 = branch.getTerminal2();
75+
76+
branch.getSelectedOperationalLimitsGroup1()
77+
.flatMap(OperationalLimitsGroup::getCurrentLimits)
78+
.map(cl -> builder.selectedOperationalLimitsGroup1(toMapDataCurrentLimits(cl, null, null)));
79+
branch.getSelectedOperationalLimitsGroupId1().map(name -> builder.selectedOperationalLimitsGroup1Name(name));
80+
branch.getSelectedOperationalLimitsGroup2()
81+
.flatMap(OperationalLimitsGroup::getCurrentLimits)
82+
.map(cl -> builder.selectedOperationalLimitsGroup2(toMapDataCurrentLimits(cl, null, null)));
83+
branch.getSelectedOperationalLimitsGroupId2().map(name -> builder.selectedOperationalLimitsGroup2Name(name));
84+
7585
if (loadOperationalLimitGroups) {
7686
final Map<String, CurrentLimitsData> mapOperationalLimitsGroup1 = buildCurrentLimitsMap(branch.getOperationalLimitsGroups1());
7787
builder.operationalLimitsGroup1(mapOperationalLimitsGroup1)
78-
.operationalLimitsGroup1Names(List.copyOf(mapOperationalLimitsGroup1.keySet()))
79-
.selectedOperationalLimitsGroup1(branch.getSelectedOperationalLimitsGroupId1().orElse(null));
88+
.operationalLimitsGroup1Names(List.copyOf(mapOperationalLimitsGroup1.keySet()));
8089
final Map<String, CurrentLimitsData> mapOperationalLimitsGroup2 = buildCurrentLimitsMap(branch.getOperationalLimitsGroups2());
8190
builder.operationalLimitsGroup2(mapOperationalLimitsGroup2)
82-
.operationalLimitsGroup2Names(List.copyOf(mapOperationalLimitsGroup2.keySet()))
83-
.selectedOperationalLimitsGroup2(branch.getSelectedOperationalLimitsGroupId2().orElse(null));
91+
.operationalLimitsGroup2Names(List.copyOf(mapOperationalLimitsGroup2.keySet()));
8492
}
8593
//noinspection unchecked
8694
return (B) builder

src/test/resources/2-windings-transformers-tab-data-without-optionals.json

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,35 @@
1919
"q2": 14.44,
2020
"r": 0.26658461538461536,
2121
"x": 11.104492831516762,
22+
"selectedOperationalLimitsGroup1": {
23+
"permanentLimit": 750.4,
24+
"temporaryLimits": [
25+
{
26+
"name": "IT5",
27+
"value": 300.0,
28+
"acceptableDuration": 2087
29+
}
30+
],
31+
"applicability": null
32+
},
33+
"selectedOperationalLimitsGroup1Name": "limit set 1",
34+
"selectedOperationalLimitsGroup2": {
35+
"permanentLimit": 780.6,
36+
"temporaryLimits": [
37+
{
38+
"name": "IT20",
39+
"value": 1200.0,
40+
"acceptableDuration": 961
41+
},
42+
{
43+
"name": "N/A",
44+
"value": 2.147483647E9,
45+
"acceptableDuration": 664
46+
}
47+
],
48+
"applicability": null
49+
},
50+
"selectedOperationalLimitsGroup2Name": "limit set 1",
2251
"substationProperties1": {
2352
"Country": "FR"
2453
},
@@ -164,6 +193,30 @@
164193
"terminal2Connected": true,
165194
"r": 47.0,
166195
"x": 23.0,
196+
"selectedOperationalLimitsGroup1": {
197+
"permanentLimit": 300.4,
198+
"temporaryLimits": [
199+
{
200+
"name": "IT20",
201+
"value": 400.0,
202+
"acceptableDuration": 87
203+
}
204+
],
205+
"applicability": null
206+
},
207+
"selectedOperationalLimitsGroup1Name": "DEFAULT",
208+
"selectedOperationalLimitsGroup2": {
209+
"permanentLimit": 280.6,
210+
"temporaryLimits": [
211+
{
212+
"name": "N/A",
213+
"value": 98.0,
214+
"acceptableDuration": 34
215+
}
216+
],
217+
"applicability": null
218+
},
219+
"selectedOperationalLimitsGroup2Name": "DEFAULT",
167220
"branchObservability": {
168221
"qualityP1": {
169222
"standardDeviation": 23.31,

src/test/resources/2-windings-transformers-tab-data.json

Lines changed: 53 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,18 @@
3535
"operationalLimitsGroup1Names": [
3636
"limit set 1"
3737
],
38-
"selectedOperationalLimitsGroup1": "limit set 1",
38+
"selectedOperationalLimitsGroup1": {
39+
"permanentLimit": 750.4,
40+
"temporaryLimits": [
41+
{
42+
"name": "IT5",
43+
"value": 300.0,
44+
"acceptableDuration": 2087
45+
}
46+
],
47+
"applicability": null
48+
},
49+
"selectedOperationalLimitsGroup1Name": "limit set 1",
3950
"operationalLimitsGroup2": {
4051
"limit set 1": {
4152
"permanentLimit": 780.6,
@@ -57,7 +68,23 @@
5768
"operationalLimitsGroup2Names": [
5869
"limit set 1"
5970
],
60-
"selectedOperationalLimitsGroup2": "limit set 1",
71+
"selectedOperationalLimitsGroup2": {
72+
"permanentLimit": 780.6,
73+
"temporaryLimits": [
74+
{
75+
"name": "IT20",
76+
"value": 1200.0,
77+
"acceptableDuration": 961
78+
},
79+
{
80+
"name": "N/A",
81+
"value": 2.147483647E9,
82+
"acceptableDuration": 664
83+
}
84+
],
85+
"applicability": null
86+
},
87+
"selectedOperationalLimitsGroup2Name": "limit set 1",
6188
"substationProperties1": {
6289
"Country": "FR"
6390
},
@@ -219,7 +246,18 @@
219246
"operationalLimitsGroup1Names": [
220247
"DEFAULT"
221248
],
222-
"selectedOperationalLimitsGroup1": "DEFAULT",
249+
"selectedOperationalLimitsGroup1": {
250+
"permanentLimit": 300.4,
251+
"temporaryLimits": [
252+
{
253+
"name": "IT20",
254+
"value": 400.0,
255+
"acceptableDuration": 87
256+
}
257+
],
258+
"applicability": null
259+
},
260+
"selectedOperationalLimitsGroup1Name": "DEFAULT",
223261
"operationalLimitsGroup2": {
224262
"DEFAULT": {
225263
"permanentLimit": 280.6,
@@ -236,7 +274,18 @@
236274
"operationalLimitsGroup2Names": [
237275
"DEFAULT"
238276
],
239-
"selectedOperationalLimitsGroup2": "DEFAULT",
277+
"selectedOperationalLimitsGroup2": {
278+
"permanentLimit": 280.6,
279+
"temporaryLimits": [
280+
{
281+
"name": "N/A",
282+
"value": 98.0,
283+
"acceptableDuration": 34
284+
}
285+
],
286+
"applicability": null
287+
},
288+
"selectedOperationalLimitsGroup2Name": "DEFAULT",
240289
"branchObservability": {
241290
"qualityP1": {
242291
"standardDeviation": 23.31,

0 commit comments

Comments
 (0)