Skip to content

Commit 0aa588c

Browse files
souissimaiSOUISSI Maissa (Externe)Slimane AMAR
authored
add description for root network (#810)
Signed-off-by: SOUISSI Maissa (Externe) <[email protected]> Co-authored-by: SOUISSI Maissa (Externe) <[email protected]> Co-authored-by: Slimane AMAR <[email protected]>
1 parent 973e198 commit 0aa588c

File tree

15 files changed

+187
-574
lines changed

15 files changed

+187
-574
lines changed

src/main/java/org/gridsuite/study/server/controller/StudyController.java

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -198,37 +198,21 @@ public ResponseEntity<List<BasicRootNetworkInfos>> getRootNetworks(@PathVariable
198198
@Operation(summary = "Create root network for study")
199199
@ApiResponse(responseCode = "200", description = "Root network created")
200200
public ResponseEntity<RootNetworkRequestInfos> createRootNetwork(@PathVariable("studyUuid") UUID studyUuid,
201-
@RequestParam(value = "name") String name,
202-
@RequestParam(value = "tag") String tag,
203-
@RequestParam(value = CASE_UUID) UUID caseUuid,
204-
@RequestParam(value = CASE_FORMAT) String caseFormat,
205-
@RequestBody(required = false) Map<String, Object> importParameters,
201+
@RequestBody RootNetworkInfos rootNetworkInfos,
206202
@RequestHeader(HEADER_USER_ID) String userId) {
207-
return ResponseEntity.ok().body(studyService.createRootNetworkRequest(studyUuid, name, tag, caseUuid, caseFormat, importParameters, userId));
203+
return ResponseEntity.ok().body(studyService.createRootNetworkRequest(studyUuid, rootNetworkInfos, userId));
208204
}
209205

210206
@PutMapping(value = "/studies/{studyUuid}/root-networks/{rootNetworkUuid}")
211207
@Operation(summary = "update root network case")
212208
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The case is updated for a root network")})
213209
public ResponseEntity<Void> updateRootNetwork(@PathVariable("studyUuid") UUID studyUuid,
214-
@PathVariable("rootNetworkUuid") UUID rootNetworkUuid,
215-
@RequestParam(value = CASE_UUID, required = false) UUID caseUuid,
216-
@RequestParam(value = "name", required = false) String name,
217-
@RequestParam(value = "tag", required = false) String tag,
218-
@RequestParam(value = CASE_FORMAT, required = false) String caseFormat,
219-
@RequestBody(required = false) Map<String, Object> importParameters,
220-
@RequestHeader(HEADER_USER_ID) String userId) {
221-
caseService.assertCaseExists(caseUuid);
210+
@PathVariable("rootNetworkUuid") UUID rootNetworkUuid,
211+
@RequestBody RootNetworkInfos rootNetworkInfos,
212+
@RequestHeader(HEADER_USER_ID) String userId) {
213+
caseService.assertCaseExists(rootNetworkInfos.getCaseInfos() != null ? rootNetworkInfos.getCaseInfos().getOriginalCaseUuid() : null);
222214
studyService.assertNoBlockedBuildInNodeTree(networkModificationTreeService.getStudyRootNodeUuid(studyUuid), rootNetworkUuid);
223-
RootNetworkInfos rootNetworkInfos = RootNetworkInfos.builder()
224-
.id(rootNetworkUuid)
225-
.name(name)
226-
// .importParameters(importParameters) CANNOT BE PLACED IN DTO (not same type)
227-
.caseInfos(new CaseInfos(caseUuid, null, null, caseFormat))
228-
.tag(tag)
229-
.build();
230-
// then pass importParameters separately
231-
studyService.updateRootNetworkRequest(studyUuid, rootNetworkInfos, importParameters, userId);
215+
studyService.updateRootNetworkRequest(studyUuid, rootNetworkInfos, userId);
232216
return ResponseEntity.ok().build();
233217
}
234218

src/main/java/org/gridsuite/study/server/dto/BasicRootNetworkInfos.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
import java.util.UUID;
44

5-
public record BasicRootNetworkInfos(UUID rootNetworkUuid, UUID originalCaseUuid, String name, String tag, boolean isCreating) { }
5+
public record BasicRootNetworkInfos(UUID rootNetworkUuid, UUID originalCaseUuid, String name, String tag, String description, boolean isCreating) { }

src/main/java/org/gridsuite/study/server/dto/CaseInfos.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import lombok.AllArgsConstructor;
1010
import lombok.Getter;
1111
import lombok.NoArgsConstructor;
12+
import lombok.Setter;
1213

1314
import java.util.UUID;
1415

@@ -18,6 +19,7 @@
1819
@AllArgsConstructor
1920
@NoArgsConstructor
2021
@Getter
22+
@Setter
2123
public class CaseInfos {
2224
private UUID caseUuid;
2325

src/main/java/org/gridsuite/study/server/dto/RootNetworkCreationInfos.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

src/main/java/org/gridsuite/study/server/dto/RootNetworkInfos.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ public class RootNetworkInfos {
1717

1818
private String name;
1919

20+
private String description;
21+
2022
private List<RootNetworkNodeInfo> rootNetworkNodeInfos;
2123

2224
private NetworkInfos networkInfos;
@@ -28,21 +30,24 @@ public class RootNetworkInfos {
2830

2931
private Map<String, String> importParameters;
3032

33+
private Map<String, Object> importParametersRaw;
34+
3135
private String tag;
3236

3337
public RootNetworkEntity toEntity() {
3438
RootNetworkEntity.RootNetworkEntityBuilder rootNetworkEntityBuilder = RootNetworkEntity.builder()
35-
.id(id)
36-
.name(name)
37-
.networkUuid(networkInfos.getNetworkUuid())
38-
.networkId(networkInfos.getNetworkId())
39-
.caseUuid(caseInfos.getCaseUuid())
40-
.originalCaseUuid(caseInfos.getOriginalCaseUuid())
41-
.caseName(caseInfos.getCaseName())
42-
.caseFormat(caseInfos.getCaseFormat())
43-
.reportUuid(reportUuid)
44-
.importParameters(importParameters)
45-
.tag(tag);
39+
.id(id)
40+
.name(name)
41+
.description(description)
42+
.networkUuid(networkInfos.getNetworkUuid())
43+
.networkId(networkInfos.getNetworkId())
44+
.caseUuid(caseInfos.getCaseUuid())
45+
.originalCaseUuid(caseInfos.getOriginalCaseUuid())
46+
.caseName(caseInfos.getCaseName())
47+
.caseFormat(caseInfos.getCaseFormat())
48+
.reportUuid(reportUuid)
49+
.importParameters(importParameters)
50+
.tag(tag);
4651

4752
if (rootNetworkNodeInfos != null) {
4853
rootNetworkEntityBuilder.rootNetworkNodeInfos(rootNetworkNodeInfos.stream().map(RootNetworkNodeInfo::toEntity).toList());

src/main/java/org/gridsuite/study/server/repository/rootnetwork/RootNetworkEntity.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ public class RootNetworkEntity {
3737
@Column(name = "name", nullable = false)
3838
private String name;
3939

40+
@Column(name = "description", columnDefinition = "CLOB")
41+
private String description;
42+
4043
@ManyToOne(fetch = FetchType.LAZY)
4144
@JoinColumn(name = "studyUuid", foreignKey = @ForeignKey(name = "rootNetwork_study_id_fk_constraint"))
4245
private StudyEntity study;
@@ -102,6 +105,6 @@ public RootNetworkInfos toDto() {
102105
}
103106

104107
public BasicRootNetworkInfos toBasicDto() {
105-
return new BasicRootNetworkInfos(getId(), getOriginalCaseUuid(), getName(), getTag(), false);
108+
return new BasicRootNetworkInfos(getId(), getOriginalCaseUuid(), getName(), getTag(), getDescription(), false);
106109
}
107110
}

src/main/java/org/gridsuite/study/server/repository/rootnetwork/RootNetworkRequestEntity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ public class RootNetworkRequestEntity {
3535

3636
private String tag;
3737

38+
private String description;
39+
3840
@Enumerated(EnumType.STRING)
3941
private RootNetworkAction actionRequest;
4042

@@ -47,6 +49,6 @@ public RootNetworkRequestInfos toDto() {
4749
}
4850

4951
public BasicRootNetworkInfos toBasicDto() {
50-
return new BasicRootNetworkInfos(getId(), null, getName(), getTag(), true);
52+
return new BasicRootNetworkInfos(getId(), null, getName(), getTag(), getDescription(), true);
5153
}
5254
}

src/main/java/org/gridsuite/study/server/service/NetworkConversionService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import jakarta.servlet.http.HttpServletResponse;
1919

2020
import org.apache.commons.lang3.StringUtils;
21-
import org.gridsuite.study.server.dto.RootNetworkCreationInfos;
21+
import org.gridsuite.study.server.dto.RootNetworkInfos;
2222
import org.gridsuite.study.server.dto.caseimport.CaseImportAction;
2323
import org.gridsuite.study.server.dto.caseimport.CaseImportReceiver;
2424
import org.gridsuite.study.server.StudyException;
@@ -65,22 +65,22 @@ public NetworkConversionService(@Value("${powsybl.services.network-conversion-se
6565
* - one variant for root node - INITIAL_VARIANT
6666
* - one variant cloned from the previous one for the 1st node - *variantId*
6767
*/
68-
public void persistNetwork(RootNetworkCreationInfos rootNetworkCreationInfos, String variantId, String userId, UUID importReportUuid, Map<String, Object> importParameters, CaseImportAction caseImportAction) {
68+
public void persistNetwork(RootNetworkInfos rootNetworkInfos, UUID studyUuid, String variantId, String userId, UUID importReportUuid, Map<String, Object> importParameters, CaseImportAction caseImportAction) {
6969
String receiver;
7070
try {
7171
receiver = URLEncoder.encode(objectMapper.writeValueAsString(
72-
new CaseImportReceiver(rootNetworkCreationInfos.studyUuid(), rootNetworkCreationInfos.rootNetworkUuid(), rootNetworkCreationInfos.caseUuid(), rootNetworkCreationInfos.originalCaseUuid(), importReportUuid, userId, System.nanoTime(), caseImportAction
72+
new CaseImportReceiver(studyUuid, rootNetworkInfos.getId(), rootNetworkInfos.getCaseInfos().getCaseUuid(), rootNetworkInfos.getCaseInfos().getOriginalCaseUuid(), importReportUuid, userId, System.nanoTime(), caseImportAction
7373
)), StandardCharsets.UTF_8);
7474
} catch (JsonProcessingException e) {
7575
throw new UncheckedIOException(e);
7676
}
7777

7878
UriComponentsBuilder builder = UriComponentsBuilder.fromPath(DELIMITER + NETWORK_CONVERSION_API_VERSION + "/networks")
79-
.queryParam(CASE_UUID, rootNetworkCreationInfos.caseUuid())
79+
.queryParam(CASE_UUID, rootNetworkInfos.getCaseInfos().getCaseUuid())
8080
.queryParamIfPresent(QUERY_PARAM_VARIANT_ID, Optional.ofNullable(variantId))
8181
.queryParam(REPORT_UUID, importReportUuid)
8282
.queryParam(QUERY_PARAM_RECEIVER, receiver)
83-
.queryParam(CASE_FORMAT, rootNetworkCreationInfos.caseFormat());
83+
.queryParam(CASE_FORMAT, rootNetworkInfos.getCaseInfos().getCaseFormat());
8484

8585
String path = builder
8686
.buildAndExpand()

src/main/java/org/gridsuite/study/server/service/RootNetworkService.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ private void updateRootNetworkInfos(RootNetworkEntity rootNetworkEntity, RootNet
109109
getRootNetworkRequest(rootNetworkInfos.getId()).ifPresent(request -> {
110110
rootNetworkInfos.setName(request.getName());
111111
rootNetworkInfos.setTag(request.getTag());
112+
rootNetworkInfos.setDescription(request.getDescription());
112113
});
113114

114115
updateCaseInfos(rootNetworkEntity, rootNetworkInfos.getCaseInfos());
@@ -123,6 +124,7 @@ private void updateRootNetworkInfos(RootNetworkEntity rootNetworkEntity, RootNet
123124
if (rootNetworkInfos.getTag() != null) {
124125
rootNetworkEntity.setTag(rootNetworkInfos.getTag());
125126
}
127+
rootNetworkEntity.setDescription(rootNetworkInfos.getDescription());
126128
}
127129

128130
private void updateCaseInfos(@NonNull RootNetworkEntity rootNetworkEntity, @NonNull CaseInfos caseInfos) {
@@ -200,16 +202,16 @@ public void duplicateStudyRootNetworks(StudyEntity newStudyEntity, StudyEntity s
200202
);
201203
}
202204

203-
private RootNetworkRequestEntity insertRootNetworkRequest(UUID rootNetworkUuid, UUID studyUuid, String rootNetworkName, String rootNetworkTag, String userId, RootNetworkAction action) {
204-
return rootNetworkRequestRepository.save(RootNetworkRequestEntity.builder().id(rootNetworkUuid).name(rootNetworkName).tag(rootNetworkTag).studyUuid(studyUuid).userId(userId).actionRequest(action).build());
205+
private RootNetworkRequestEntity insertRootNetworkRequest(UUID studyUuid, RootNetworkInfos rootNetworkInfos, RootNetworkAction action, String userId) {
206+
return rootNetworkRequestRepository.save(RootNetworkRequestEntity.builder().id(rootNetworkInfos.getId()).name(rootNetworkInfos.getName()).tag(rootNetworkInfos.getTag()).description(rootNetworkInfos.getDescription()).studyUuid(studyUuid).actionRequest(action).userId(userId).build());
205207
}
206208

207-
public RootNetworkRequestEntity insertCreationRequest(UUID rootNetworkUuid, UUID studyUuid, String rootNetworkName, String rootNetworkTag, String userId) {
208-
return insertRootNetworkRequest(rootNetworkUuid, studyUuid, rootNetworkName, rootNetworkTag, userId, RootNetworkAction.ROOT_NETWORK_CREATION);
209+
public RootNetworkRequestEntity insertCreationRequest(UUID studyUuid, RootNetworkInfos rootNetworkInfos, String userId) {
210+
return insertRootNetworkRequest(studyUuid, rootNetworkInfos, RootNetworkAction.ROOT_NETWORK_CREATION, userId);
209211
}
210212

211-
public RootNetworkRequestEntity insertModificationRequest(UUID rootNetworkUuid, UUID studyUuid, String rootNetworkName, String rootNetworkTag, String userId) {
212-
return insertRootNetworkRequest(rootNetworkUuid, studyUuid, rootNetworkName, rootNetworkTag, userId, RootNetworkAction.ROOT_NETWORK_MODIFICATION);
213+
public RootNetworkRequestEntity insertModificationRequest(UUID studyUuid, RootNetworkInfos rootNetworkInfos, String userId) {
214+
return insertRootNetworkRequest(studyUuid, rootNetworkInfos, RootNetworkAction.ROOT_NETWORK_MODIFICATION, userId);
213215
}
214216

215217
public void assertIsRootNetworkInStudy(UUID studyUuid, UUID rootNetworkUuid) {

0 commit comments

Comments
 (0)