Skip to content

Commit 3262a47

Browse files
move parameters creation
1 parent 2391812 commit 3262a47

File tree

4 files changed

+50
-20
lines changed

4 files changed

+50
-20
lines changed

src/main/java/org/gridsuite/shortcircuit/server/ShortCircuitController.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.springframework.data.domain.Pageable;
2020
import org.springframework.http.MediaType;
2121
import org.springframework.http.ResponseEntity;
22+
import org.springframework.lang.Nullable;
2223
import org.springframework.web.bind.annotation.*;
2324

2425
import java.util.List;
@@ -157,4 +158,10 @@ public ResponseEntity<List<LimitViolationType>> getLimitTypes() {
157158
return ResponseEntity.ok().body(List.of(LimitViolationType.LOW_SHORT_CIRCUIT_CURRENT, LimitViolationType.HIGH_SHORT_CIRCUIT_CURRENT));
158159
}
159160

161+
@PutMapping(value = "/parameters", consumes = APPLICATION_JSON_VALUE)
162+
@Operation(summary = "Create a entry for parameters")
163+
@ApiResponse(responseCode = "201", description = "A new entry has been created")
164+
public ResponseEntity<UUID> createParameters(@Parameter(description = "The parameters to save. It no body or empty string/json, then default parameters will be used instead.", allowEmptyValue = true) @RequestBody(required = false) @Nullable final ShortCircuitParametersInfos parameters) {
165+
return ResponseEntity.ok(shortCircuitService.createParameters(parameters));
166+
}
160167
}

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

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.powsybl.shortcircuit.InitialVoltageProfileMode;
1010
import com.powsybl.shortcircuit.ShortCircuitParameters;
1111
import com.powsybl.shortcircuit.StudyType;
12-
import lombok.NonNull;
1312
import org.gridsuite.shortcircuit.server.dto.ShortCircuitPredefinedConfiguration;
1413
import org.gridsuite.shortcircuit.server.entities.ShortCircuitParametersEntity;
1514
import org.springframework.data.jpa.repository.JpaRepository;
@@ -20,17 +19,17 @@
2019
@Repository
2120
public interface ShortCircuitParametersRepository extends JpaRepository<ShortCircuitParametersEntity, UUID> {
2221
default ShortCircuitParametersEntity getByIdOrDefault(final UUID id) {
23-
return findById(id).orElseGet(() -> this.save(convert(getDefaultShortCircuitParameters(), ShortCircuitPredefinedConfiguration.ICC_MAX_WITH_NOMINAL_VOLTAGE_MAP)));
22+
return findById(id).orElseGet(() -> this.save(getDefaultEntity()));
2423
}
2524

26-
private static ShortCircuitParameters getDefaultShortCircuitParameters() {
25+
static ShortCircuitParameters getDefaultShortCircuitParameters() {
2726
return new ShortCircuitParameters()
28-
.setStudyType(StudyType.TRANSIENT)
29-
.setMinVoltageDropProportionalThreshold(20)
30-
.setWithFeederResult(true)
3127
.setWithLimitViolations(true)
3228
.setWithVoltageResult(false)
3329
.setWithFortescueResult(false)
30+
.setWithFeederResult(true)
31+
.setStudyType(StudyType.TRANSIENT)
32+
.setMinVoltageDropProportionalThreshold(20.0)
3433
.setWithLoads(false)
3534
.setWithShuntCompensators(false)
3635
.setWithVSCConverterStations(true)
@@ -40,18 +39,19 @@ private static ShortCircuitParameters getDefaultShortCircuitParameters() {
4039
.setVoltageRanges(null);
4140
}
4241

43-
private static ShortCircuitParametersEntity convert(@NonNull final ShortCircuitParameters parameters, final ShortCircuitPredefinedConfiguration shortCircuitPredefinedConfiguration) {
44-
return new ShortCircuitParametersEntity(parameters.isWithLimitViolations(),
45-
parameters.isWithVoltageResult(),
46-
parameters.isWithFortescueResult(),
47-
parameters.isWithFeederResult(),
48-
parameters.getStudyType(),
49-
parameters.getMinVoltageDropProportionalThreshold(),
50-
parameters.isWithLoads(),
51-
parameters.isWithShuntCompensators(),
52-
parameters.isWithVSCConverterStations(),
53-
parameters.isWithNeutralPosition(),
54-
parameters.getInitialVoltageProfileMode(),
55-
shortCircuitPredefinedConfiguration);
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);
5656
}
5757
}

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,23 @@ static ShortCircuitParameters convert(@NonNull final ShortCircuitParametersEntit
9898
static ShortCircuitParametersInfos convertInfos(final @NonNull ShortCircuitParametersEntity entity) {
9999
return new ShortCircuitParametersInfos(entity.getPredefinedParameters(), convert(entity), CEI909_VOLTAGE_PROFILE);
100100
}
101+
102+
static ShortCircuitParametersEntity convert(@NonNull final ShortCircuitParametersInfos parameters) {
103+
return convert(parameters.parameters(), parameters.predefinedParameters());
104+
}
105+
106+
static ShortCircuitParametersEntity convert(@NonNull final ShortCircuitParameters parameters, final ShortCircuitPredefinedConfiguration shortCircuitPredefinedConfiguration) {
107+
return new ShortCircuitParametersEntity(parameters.isWithLimitViolations(),
108+
parameters.isWithVoltageResult(),
109+
parameters.isWithFortescueResult(),
110+
parameters.isWithFeederResult(),
111+
parameters.getStudyType(),
112+
parameters.getMinVoltageDropProportionalThreshold(),
113+
parameters.isWithLoads(),
114+
parameters.isWithShuntCompensators(),
115+
parameters.isWithVSCConverterStations(),
116+
parameters.isWithNeutralPosition(),
117+
parameters.getInitialVoltageProfileMode(),
118+
shortCircuitPredefinedConfiguration);
119+
}
101120
}

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public UUID runAndSaveResult(@NonNull final UUID networkUuid, final String varia
4949
final UUID parametersUuid, final Map<String, Object> parametersOverride,
5050
final UUID reportUuid, final String reporterId, final String reportType,
5151
@NonNull final String userId, final String busId) {
52-
ShortCircuitParameters scParameters = EntityDtoUtils.convertInfos(parametersRepository.getByIdOrDefault(parametersUuid)).parameters();
52+
ShortCircuitParameters scParameters = EntityDtoUtils.convert(parametersRepository.getByIdOrDefault(parametersUuid));
5353
if (parametersOverride != null && !parametersOverride.isEmpty()) {
5454
try {
5555
scParameters = objectMapper.updateValue(scParameters, parametersOverride);
@@ -185,4 +185,8 @@ private static ShortCircuitParameters copy(ShortCircuitParameters shortCircuitPa
185185
.setInitialVoltageProfileMode(shortCircuitParameters.getInitialVoltageProfileMode())
186186
.setVoltageRanges(shortCircuitParameters.getVoltageRanges());
187187
}
188+
189+
public UUID createParameters(ShortCircuitParametersInfos parametersInfos) {
190+
return parametersRepository.save(EntityDtoUtils.convert(parametersInfos)).getId();
191+
}
188192
}

0 commit comments

Comments
 (0)