Skip to content

Commit bcc270e

Browse files
committed
Rework
Signed-off-by: Ayoub LABIDI <[email protected]>
1 parent 142beb5 commit bcc270e

26 files changed

+464
-527
lines changed

src/main/java/org/gridsuite/studyconfig/server/configuration/DiagramLayoutJacksonConfiguration.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
package org.gridsuite.studyconfig.server.configuration;
88

99
import com.fasterxml.jackson.databind.ObjectMapper;
10-
import org.gridsuite.studyconfig.server.dto.studylayout.diagramlayout.AbstractDiagramLayout;
11-
import org.gridsuite.studyconfig.server.dto.studylayout.diagramlayout.AbstractDiagramLayoutJsonMapper;
10+
11+
import org.gridsuite.studyconfig.server.dto.diagramgridlayout.diagramlayout.AbstractDiagramLayout;
12+
import org.gridsuite.studyconfig.server.dto.diagramgridlayout.diagramlayout.AbstractDiagramLayoutJsonMapper;
1213
import org.springframework.context.annotation.Configuration;
1314

1415
import jakarta.annotation.PostConstruct;
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/**
2+
* Copyright (c) 2025, RTE (http://www.rte-france.com)
3+
* This Source Code Form is subject to the terms of the Mozilla Public
4+
* License, v. 2.0. If a copy of the MPL was not distributed with this
5+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
6+
*/
7+
package org.gridsuite.studyconfig.server.controller;
8+
9+
import io.swagger.v3.oas.annotations.Operation;
10+
import io.swagger.v3.oas.annotations.responses.ApiResponse;
11+
import io.swagger.v3.oas.annotations.responses.ApiResponses;
12+
import io.swagger.v3.oas.annotations.tags.Tag;
13+
import lombok.RequiredArgsConstructor;
14+
import org.gridsuite.studyconfig.server.StudyConfigApi;
15+
import org.gridsuite.studyconfig.server.dto.diagramgridlayout.DiagramGridLayout;
16+
import org.gridsuite.studyconfig.server.service.DiagramGridLayoutService;
17+
import org.springframework.http.MediaType;
18+
import org.springframework.http.ResponseEntity;
19+
import org.springframework.web.bind.annotation.*;
20+
21+
import java.util.UUID;
22+
23+
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
24+
25+
@RestController
26+
@RequestMapping(value = "/" + StudyConfigApi.API_VERSION + "/diagram-grid-layout")
27+
@RequiredArgsConstructor
28+
@Tag(name = "Diagram Grid Layout Config", description = "Diagram Grid Layout Configuration API")
29+
public class DiagramGridLayoutController {
30+
private final DiagramGridLayoutService diagramGridLayoutService;
31+
32+
@PostMapping(consumes = APPLICATION_JSON_VALUE)
33+
@Operation(summary = "Save diagram grid layout")
34+
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The newly created diagram grid layout UUID returned")})
35+
public ResponseEntity<UUID> saveDiagramGridLayout(@RequestBody DiagramGridLayout diagramGridLayout) {
36+
return ResponseEntity.ok().body(diagramGridLayoutService.saveDiagramGridLayout(diagramGridLayout));
37+
}
38+
39+
@PutMapping(value = "/{id}", consumes = APPLICATION_JSON_VALUE)
40+
@Operation(summary = "Update diagram grid layout")
41+
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The diagram grid layout has been updated")})
42+
public ResponseEntity<Void> updateDiagramGridLayout(@PathVariable("id") UUID diagramGridLayoutUuid,
43+
@RequestBody DiagramGridLayout diagramGridLayout) {
44+
diagramGridLayoutService.updateDiagramGridLayout(diagramGridLayoutUuid, diagramGridLayout);
45+
return ResponseEntity.ok().build();
46+
}
47+
48+
@GetMapping(value = "/{id}", produces = APPLICATION_JSON_VALUE)
49+
@Operation(summary = "Get diagram grid layout")
50+
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The diagram grid layout is returned")})
51+
public ResponseEntity<DiagramGridLayout> getDiagramGridLayout(
52+
@PathVariable("id") UUID diagramGridLayoutUuid) {
53+
return ResponseEntity.ok().contentType(MediaType.APPLICATION_JSON).body(diagramGridLayoutService.getByDiagramGridLayoutUuid(diagramGridLayoutUuid));
54+
}
55+
56+
@DeleteMapping(value = "/{id}")
57+
@Operation(summary = "Delete diagram grid layout")
58+
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The diagram grid layout is deleted")})
59+
public ResponseEntity<DiagramGridLayout> deleteDiagramGridLayout(
60+
@PathVariable("id") UUID diagramGridLayoutUuid) {
61+
diagramGridLayoutService.deleteDiagramGridLayout(diagramGridLayoutUuid);
62+
return ResponseEntity.ok().build();
63+
}
64+
}

src/main/java/org/gridsuite/studyconfig/server/controller/StudyLayoutController.java

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

src/main/java/org/gridsuite/studyconfig/server/dto/studylayout/StudyLayout.java renamed to src/main/java/org/gridsuite/studyconfig/server/dto/diagramgridlayout/DiagramGridLayout.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,19 @@
44
* License, v. 2.0. If a copy of the MPL was not distributed with this
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
7-
package org.gridsuite.studyconfig.server.dto.studylayout;
7+
package org.gridsuite.studyconfig.server.dto.diagramgridlayout;
88

99
import lombok.*;
10-
import org.gridsuite.studyconfig.server.dto.studylayout.diagramlayout.AbstractDiagramLayout;
1110

1211
import java.util.List;
1312

13+
import org.gridsuite.studyconfig.server.dto.diagramgridlayout.diagramlayout.AbstractDiagramLayout;
14+
1415
@Builder
1516
@AllArgsConstructor
1617
@NoArgsConstructor
1718
@Setter
1819
@Getter
19-
public class StudyLayout {
20-
List<AbstractDiagramLayout> diagramLayoutParams;
20+
public class DiagramGridLayout {
21+
List<AbstractDiagramLayout> diagramLayouts;
2122
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* License, v. 2.0. If a copy of the MPL was not distributed with this
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
7-
package org.gridsuite.studyconfig.server.dto.studylayout.diagramlayout;
7+
package org.gridsuite.studyconfig.server.dto.diagramgridlayout.diagramlayout;
88

99
import lombok.AllArgsConstructor;
1010
import lombok.Getter;
@@ -23,5 +23,5 @@
2323
public abstract class AbstractDiagramLayout {
2424
UUID diagramUuid;
2525

26-
Map<String, DiagramGridLayout> gridLayout;
26+
Map<String, DiagramPosition> diagramPositions;
2727
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* License, v. 2.0. If a copy of the MPL was not distributed with this
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
7-
package org.gridsuite.studyconfig.server.dto.studylayout.diagramlayout;
7+
package org.gridsuite.studyconfig.server.dto.diagramgridlayout.diagramlayout;
88

99
import com.fasterxml.jackson.annotation.JsonSubTypes;
1010
import com.fasterxml.jackson.annotation.JsonTypeInfo;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* License, v. 2.0. If a copy of the MPL was not distributed with this
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
7-
package org.gridsuite.studyconfig.server.dto.studylayout.diagramlayout;
7+
package org.gridsuite.studyconfig.server.dto.diagramgridlayout.diagramlayout;
88

99
import lombok.AllArgsConstructor;
1010
import lombok.Builder;
@@ -13,7 +13,7 @@
1313
@Builder
1414
@AllArgsConstructor
1515
@Getter
16-
public class DiagramGridLayout {
16+
public class DiagramPosition {
1717
Integer w;
1818
Integer h;
1919
Integer x;
Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
* License, v. 2.0. If a copy of the MPL was not distributed with this
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
7-
package org.gridsuite.studyconfig.server.dto.studylayout.diagramlayout;
7+
package org.gridsuite.studyconfig.server.dto.diagramgridlayout.diagramlayout;
88

99
import lombok.AllArgsConstructor;
1010
import lombok.Getter;
1111
import lombok.NoArgsConstructor;
1212
import lombok.Setter;
1313
import lombok.experimental.SuperBuilder;
1414

15-
import java.util.List;
1615
import java.util.UUID;
1716

1817
@SuperBuilder
@@ -21,10 +20,8 @@
2120
@Setter
2221
@Getter
2322
public class NetworkAreaDiagramLayout extends AbstractDiagramLayout {
23+
UUID originalNadConfigUuid;
24+
UUID currentNadConfigUuid;
2425
UUID filterUuid;
25-
UUID nadConfigUuid;
26-
List<String> voltageLevelIds;
27-
List<String> voltageLevelToExpandIds;
28-
List<String> voltageLevelToOmitIds;
29-
Integer depth;
26+
String name;
3027
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* License, v. 2.0. If a copy of the MPL was not distributed with this
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
7-
package org.gridsuite.studyconfig.server.dto.studylayout.diagramlayout;
7+
package org.gridsuite.studyconfig.server.dto.diagramgridlayout.diagramlayout;
88

99
import lombok.AllArgsConstructor;
1010
import lombok.Getter;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* License, v. 2.0. If a copy of the MPL was not distributed with this
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
7-
package org.gridsuite.studyconfig.server.dto.studylayout.diagramlayout;
7+
package org.gridsuite.studyconfig.server.dto.diagramgridlayout.diagramlayout;
88

99
import lombok.AllArgsConstructor;
1010
import lombok.Getter;

0 commit comments

Comments
 (0)