Skip to content

Commit 70a430d

Browse files
set & use default values
1 parent 3262a47 commit 70a430d

File tree

5 files changed

+67
-78
lines changed

5 files changed

+67
-78
lines changed

src/main/java/org/gridsuite/shortcircuit/server/dto/ShortCircuitParametersInfos.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import com.powsybl.shortcircuit.ShortCircuitParameters;
1010
import com.powsybl.shortcircuit.VoltageRange;
11+
import lombok.NonNull;
1112

1213
import java.util.List;
1314

@@ -18,4 +19,25 @@ public record ShortCircuitParametersInfos(
1819
ShortCircuitPredefinedConfiguration predefinedParameters,
1920
ShortCircuitParameters parameters,
2021
List<VoltageRange> cei909VoltageRanges
21-
) { }
22+
) {
23+
public ShortCircuitParametersInfos(@NonNull final ShortCircuitParametersInfos dto) {
24+
this(dto.predefinedParameters, dto.parameters == null ? null : copy(dto.parameters),
25+
dto.cei909VoltageRanges == null ? null : List.copyOf(dto.cei909VoltageRanges));
26+
}
27+
28+
private static ShortCircuitParameters copy(ShortCircuitParameters shortCircuitParameters) {
29+
return new ShortCircuitParameters()
30+
.setStudyType(shortCircuitParameters.getStudyType())
31+
.setMinVoltageDropProportionalThreshold(shortCircuitParameters.getMinVoltageDropProportionalThreshold())
32+
.setWithFeederResult(shortCircuitParameters.isWithFeederResult())
33+
.setWithLimitViolations(shortCircuitParameters.isWithLimitViolations())
34+
.setWithVoltageResult(shortCircuitParameters.isWithVoltageResult())
35+
.setWithFortescueResult(shortCircuitParameters.isWithFortescueResult())
36+
.setWithLoads(shortCircuitParameters.isWithLoads())
37+
.setWithShuntCompensators(shortCircuitParameters.isWithShuntCompensators())
38+
.setWithVSCConverterStations(shortCircuitParameters.isWithVSCConverterStations())
39+
.setWithNeutralPosition(shortCircuitParameters.isWithNeutralPosition())
40+
.setInitialVoltageProfileMode(shortCircuitParameters.getInitialVoltageProfileMode())
41+
.setVoltageRanges(shortCircuitParameters.getVoltageRanges());
42+
}
43+
}

src/main/java/org/gridsuite/shortcircuit/server/entities/ShortCircuitParametersEntity.java

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,52 +25,70 @@
2525
@Entity
2626
@Table(name = "shortCircuitParameters")
2727
public class ShortCircuitParametersEntity {
28-
29-
public ShortCircuitParametersEntity(boolean withLimitViolations, boolean withVoltageResult, boolean withFortescueResult, boolean withFeederResult, StudyType studyType, double minVoltageDropProportionalThreshold, boolean withLoads, boolean withShuntCompensators, boolean withVscConverterStations, boolean withNeutralPosition, InitialVoltageProfileMode initialVoltageProfileMode, ShortCircuitPredefinedConfiguration predefinedParameters) {
28+
public ShortCircuitParametersEntity(boolean withLimitViolations, boolean withVoltageResult, boolean withFortescueResult,
29+
boolean withFeederResult, StudyType studyType, double minVoltageDropProportionalThreshold,
30+
ShortCircuitPredefinedConfiguration predefinedParameters, boolean withLoads,
31+
boolean withShuntCompensators, boolean withVscConverterStations,
32+
boolean withNeutralPosition, InitialVoltageProfileMode initialVoltageProfileMode) {
3033
this(null, withLimitViolations, withVoltageResult, withFortescueResult, withFeederResult, studyType, minVoltageDropProportionalThreshold, predefinedParameters, withLoads, withShuntCompensators, withVscConverterStations, withNeutralPosition, initialVoltageProfileMode);
3134
}
3235

36+
public ShortCircuitParametersEntity(ShortCircuitParametersEntity entity) {
37+
this(entity.withLimitViolations,
38+
entity.withVoltageResult,
39+
entity.withFortescueResult,
40+
entity.withFeederResult,
41+
entity.studyType,
42+
entity.minVoltageDropProportionalThreshold,
43+
entity.predefinedParameters,
44+
entity.withLoads,
45+
entity.withShuntCompensators,
46+
entity.withVscConverterStations,
47+
entity.withNeutralPosition,
48+
entity.initialVoltageProfileMode);
49+
}
50+
3351
@Id
3452
@GeneratedValue(strategy = GenerationType.AUTO)
3553
@Column(name = "id")
3654
private UUID id;
3755

3856
@Column(name = "withLimitViolations", columnDefinition = "boolean default true")
39-
private boolean withLimitViolations;
57+
private boolean withLimitViolations = true;
4058

41-
@Column(name = "withVoltageResult", columnDefinition = "boolean default true")
42-
private boolean withVoltageResult;
59+
@Column(name = "withVoltageResult", columnDefinition = "boolean default false")
60+
private boolean withVoltageResult = false;
4361

44-
@Column(name = "withFortescueResult", columnDefinition = "boolean default true")
45-
private boolean withFortescueResult;
62+
@Column(name = "withFortescueResult", columnDefinition = "boolean default false")
63+
private boolean withFortescueResult = false;
4664

4765
@Column(name = "withFeederResult", columnDefinition = "boolean default true")
48-
private boolean withFeederResult;
66+
private boolean withFeederResult = true;
4967

50-
@Column(name = "studyType")
68+
@Column(name = "studyType", columnDefinition = "varchar(15) default \"TRANSIENT\"")
5169
@Enumerated(EnumType.STRING)
52-
private StudyType studyType;
70+
private StudyType studyType = StudyType.TRANSIENT;
5371

54-
@Column(name = "minVoltageDropProportionalThreshold")
55-
private double minVoltageDropProportionalThreshold;
72+
@Column(name = "minVoltageDropProportionalThreshold", columnDefinition = "double precision default '20.0'")
73+
private double minVoltageDropProportionalThreshold = 20.0;
5674

57-
@Column(name = "predefinedParameters")
75+
@Column(name = "predefinedParameters", columnDefinition = "varchar(35) default \"ICC_MAX_WITH_NOMINAL_VOLTAGE_MAP\"")
5876
@Enumerated(EnumType.STRING)
59-
private ShortCircuitPredefinedConfiguration predefinedParameters;
77+
private ShortCircuitPredefinedConfiguration predefinedParameters = ShortCircuitPredefinedConfiguration.ICC_MAX_WITH_NOMINAL_VOLTAGE_MAP;
6078

6179
@Column(name = "withLoads", columnDefinition = "boolean default false")
62-
private boolean withLoads;
80+
private boolean withLoads = false;
6381

6482
@Column(name = "withShuntCompensators", columnDefinition = "boolean default false")
65-
private boolean withShuntCompensators;
83+
private boolean withShuntCompensators = false;
6684

6785
@Column(name = "withVscConverterStations", columnDefinition = "boolean default true")
68-
private boolean withVscConverterStations;
86+
private boolean withVscConverterStations = true;
6987

7088
@Column(name = "withNeutralPosition", columnDefinition = "boolean default true")
71-
private boolean withNeutralPosition;
89+
private boolean withNeutralPosition = true;
7290

73-
@Column(name = "initialVoltageProfileMode")
91+
@Column(name = "initialVoltageProfileMode", columnDefinition = "varchar(15) default \"NOMINAL\"")
7492
@Enumerated(EnumType.STRING)
75-
private InitialVoltageProfileMode initialVoltageProfileMode;
93+
private InitialVoltageProfileMode initialVoltageProfileMode = InitialVoltageProfileMode.NOMINAL;
7694
}

src/main/java/org/gridsuite/shortcircuit/server/repositories/ShortCircuitParametersRepository.java

Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
*/
77
package org.gridsuite.shortcircuit.server.repositories;
88

9-
import com.powsybl.shortcircuit.InitialVoltageProfileMode;
10-
import com.powsybl.shortcircuit.ShortCircuitParameters;
11-
import com.powsybl.shortcircuit.StudyType;
12-
import org.gridsuite.shortcircuit.server.dto.ShortCircuitPredefinedConfiguration;
9+
import lombok.NonNull;
1310
import org.gridsuite.shortcircuit.server.entities.ShortCircuitParametersEntity;
1411
import org.springframework.data.jpa.repository.JpaRepository;
1512
import org.springframework.stereotype.Repository;
@@ -18,40 +15,7 @@
1815

1916
@Repository
2017
public interface ShortCircuitParametersRepository extends JpaRepository<ShortCircuitParametersEntity, UUID> {
21-
default ShortCircuitParametersEntity getByIdOrDefault(final UUID id) {
22-
return findById(id).orElseGet(() -> this.save(getDefaultEntity()));
23-
}
24-
25-
static ShortCircuitParameters getDefaultShortCircuitParameters() {
26-
return new ShortCircuitParameters()
27-
.setWithLimitViolations(true)
28-
.setWithVoltageResult(false)
29-
.setWithFortescueResult(false)
30-
.setWithFeederResult(true)
31-
.setStudyType(StudyType.TRANSIENT)
32-
.setMinVoltageDropProportionalThreshold(20.0)
33-
.setWithLoads(false)
34-
.setWithShuntCompensators(false)
35-
.setWithVSCConverterStations(true)
36-
.setWithNeutralPosition(true)
37-
.setInitialVoltageProfileMode(InitialVoltageProfileMode.NOMINAL)
38-
// the voltageRanges is not taken into account when initialVoltageProfileMode=NOMINAL
39-
.setVoltageRanges(null);
40-
}
41-
42-
static ShortCircuitParametersEntity getDefaultEntity() {
43-
return new ShortCircuitParametersEntity(
44-
true,
45-
false,
46-
false,
47-
true,
48-
StudyType.TRANSIENT,
49-
20.0,
50-
false,
51-
false,
52-
true,
53-
true,
54-
InitialVoltageProfileMode.NOMINAL,
55-
ShortCircuitPredefinedConfiguration.ICC_MAX_WITH_NOMINAL_VOLTAGE_MAP);
18+
default ShortCircuitParametersEntity getByIdOrDefault(@NonNull final UUID id) {
19+
return findById(id).orElseGet(() -> this.save(new ShortCircuitParametersEntity()));
5620
}
5721
}

src/main/java/org/gridsuite/shortcircuit/server/service/EntityDtoUtils.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ static ShortCircuitParameters convert(@NonNull final ShortCircuitParametersEntit
9292
.setWithVSCConverterStations(entity.isWithVscConverterStations())
9393
.setWithNeutralPosition(entity.isWithNeutralPosition())
9494
.setInitialVoltageProfileMode(entity.getInitialVoltageProfileMode())
95+
// the voltageRanges is not taken into account when initialVoltageProfileMode=NOMINAL
9596
.setVoltageRanges(InitialVoltageProfileMode.CONFIGURED.equals(entity.getInitialVoltageProfileMode()) ? CEI909_VOLTAGE_PROFILE : null);
9697
}
9798

@@ -110,11 +111,11 @@ static ShortCircuitParametersEntity convert(@NonNull final ShortCircuitParameter
110111
parameters.isWithFeederResult(),
111112
parameters.getStudyType(),
112113
parameters.getMinVoltageDropProportionalThreshold(),
114+
shortCircuitPredefinedConfiguration,
113115
parameters.isWithLoads(),
114116
parameters.isWithShuntCompensators(),
115117
parameters.isWithVSCConverterStations(),
116118
parameters.isWithNeutralPosition(),
117-
parameters.getInitialVoltageProfileMode(),
118-
shortCircuitPredefinedConfiguration);
119+
parameters.getInitialVoltageProfileMode());
119120
}
120121
}

src/main/java/org/gridsuite/shortcircuit/server/service/ShortCircuitService.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -170,22 +170,6 @@ public void stop(UUID resultUuid, String receiver) {
170170
notificationService.sendCancelMessage(new ShortCircuitCancelContext(resultUuid, receiver).toMessage());
171171
}
172172

173-
private static ShortCircuitParameters copy(ShortCircuitParameters shortCircuitParameters) {
174-
return new ShortCircuitParameters()
175-
.setStudyType(shortCircuitParameters.getStudyType())
176-
.setMinVoltageDropProportionalThreshold(shortCircuitParameters.getMinVoltageDropProportionalThreshold())
177-
.setWithFeederResult(shortCircuitParameters.isWithFeederResult())
178-
.setWithLimitViolations(shortCircuitParameters.isWithLimitViolations())
179-
.setWithVoltageResult(shortCircuitParameters.isWithVoltageResult())
180-
.setWithFortescueResult(shortCircuitParameters.isWithFortescueResult())
181-
.setWithLoads(shortCircuitParameters.isWithLoads())
182-
.setWithShuntCompensators(shortCircuitParameters.isWithShuntCompensators())
183-
.setWithVSCConverterStations(shortCircuitParameters.isWithVSCConverterStations())
184-
.setWithNeutralPosition(shortCircuitParameters.isWithNeutralPosition())
185-
.setInitialVoltageProfileMode(shortCircuitParameters.getInitialVoltageProfileMode())
186-
.setVoltageRanges(shortCircuitParameters.getVoltageRanges());
187-
}
188-
189173
public UUID createParameters(ShortCircuitParametersInfos parametersInfos) {
190174
return parametersRepository.save(EntityDtoUtils.convert(parametersInfos)).getId();
191175
}

0 commit comments

Comments
 (0)