16
16
import org .gridsuite .study .server .dto .DiagramParameters ;
17
17
import org .gridsuite .study .server .dto .diagramgridlayout .diagramlayout .NetworkAreaDiagramLayoutDetails ;
18
18
import org .gridsuite .study .server .dto .diagramgridlayout .nad .NadConfigInfos ;
19
+ import org .gridsuite .study .server .dto .CurrentLimitViolationInfos ;
19
20
import org .springframework .beans .factory .annotation .Value ;
20
21
import org .springframework .core .ParameterizedTypeReference ;
21
22
import org .springframework .http .*;
28
29
import org .springframework .web .util .UriComponentsBuilder ;
29
30
30
31
import java .util .List ;
32
+ import java .util .Map ;
31
33
import java .util .Objects ;
32
34
import java .util .UUID ;
33
35
@@ -72,7 +74,7 @@ public List<String> getAvailableSvgComponentLibraries() {
72
74
}).getBody ();
73
75
}
74
76
75
- public byte [] getVoltageLevelSvg (UUID networkUuid , String variantId , String voltageLevelId , DiagramParameters diagramParameters ) {
77
+ public byte [] generateVoltageLevelSvg (UUID networkUuid , String variantId , String voltageLevelId , DiagramParameters diagramParameters , List < CurrentLimitViolationInfos > limitViolations ) {
76
78
var uriComponentsBuilder = UriComponentsBuilder
77
79
.fromPath (DELIMITER + SINGLE_LINE_DIAGRAM_API_VERSION + "/svg/{networkUuid}/{voltageLevelId}" )
78
80
.queryParam (QUERY_PARAM_USE_NAME , diagramParameters .isUseName ())
@@ -86,9 +88,14 @@ public byte[] getVoltageLevelSvg(UUID networkUuid, String variantId, String volt
86
88
.buildAndExpand (networkUuid , voltageLevelId )
87
89
.toUriString ();
88
90
91
+ HttpHeaders headers = new HttpHeaders ();
92
+ headers .setContentType (MediaType .APPLICATION_JSON );
93
+
94
+ HttpEntity <List <CurrentLimitViolationInfos >> httpEntity = new HttpEntity <>(limitViolations , headers );
95
+
89
96
byte [] result ;
90
97
try {
91
- result = restTemplate .getForObject (singleLineDiagramServerBaseUri + path , byte [].class );
98
+ result = restTemplate .postForObject (singleLineDiagramServerBaseUri + path , httpEntity , byte [].class );
92
99
} catch (HttpStatusCodeException e ) {
93
100
if (HttpStatus .NOT_FOUND .equals (e .getStatusCode ())) {
94
101
throw new StudyException (SVG_NOT_FOUND , VOLTAGE_LEVEL + voltageLevelId + NOT_FOUND );
@@ -99,7 +106,7 @@ public byte[] getVoltageLevelSvg(UUID networkUuid, String variantId, String volt
99
106
return result ;
100
107
}
101
108
102
- public String getVoltageLevelSvgAndMetadata (UUID networkUuid , String variantId , String voltageLevelId , DiagramParameters diagramParameters ) {
109
+ public String generateVoltageLevelSvgAndMetadata (UUID networkUuid , String variantId , String voltageLevelId , DiagramParameters diagramParameters , List < CurrentLimitViolationInfos > limitViolations ) {
103
110
var uriComponentsBuilder = UriComponentsBuilder
104
111
.fromPath (DELIMITER + SINGLE_LINE_DIAGRAM_API_VERSION
105
112
+ "/svg-and-metadata/{networkUuid}/{voltageLevelId}" )
@@ -111,9 +118,14 @@ public String getVoltageLevelSvgAndMetadata(UUID networkUuid, String variantId,
111
118
.queryParam (LANGUAGE , diagramParameters .getLanguage ());
112
119
addParameters (diagramParameters , uriComponentsBuilder , variantId );
113
120
121
+ HttpHeaders headers = new HttpHeaders ();
122
+ headers .setContentType (MediaType .APPLICATION_JSON );
123
+
124
+ HttpEntity <List <CurrentLimitViolationInfos >> httpEntity = new HttpEntity <>(limitViolations , headers );
114
125
String result ;
115
126
try {
116
- result = restTemplate .getForObject (singleLineDiagramServerBaseUri + uriComponentsBuilder .build ().toUriString (), String .class , networkUuid , voltageLevelId );
127
+ var path = uriComponentsBuilder .buildAndExpand (networkUuid , voltageLevelId ).toUriString ();
128
+ result = restTemplate .postForObject (singleLineDiagramServerBaseUri + path , httpEntity , String .class );
117
129
} catch (HttpStatusCodeException e ) {
118
130
if (HttpStatus .NOT_FOUND .equals (e .getStatusCode ())) {
119
131
throw new StudyException (SVG_NOT_FOUND , VOLTAGE_LEVEL + voltageLevelId + NOT_FOUND );
@@ -124,7 +136,7 @@ public String getVoltageLevelSvgAndMetadata(UUID networkUuid, String variantId,
124
136
return result ;
125
137
}
126
138
127
- public byte [] getSubstationSvg (UUID networkUuid , String variantId , String substationId , DiagramParameters diagramParameters , String substationLayout ) {
139
+ public byte [] generateSubstationSvg (UUID networkUuid , String variantId , String substationId , DiagramParameters diagramParameters , String substationLayout , List < CurrentLimitViolationInfos > limitViolations ) {
128
140
var uriComponentsBuilder = UriComponentsBuilder
129
141
.fromPath (DELIMITER + SINGLE_LINE_DIAGRAM_API_VERSION + "/substation-svg/{networkUuid}/{substationId}" )
130
142
.queryParam (QUERY_PARAM_USE_NAME , diagramParameters .isUseName ())
@@ -136,8 +148,12 @@ public byte[] getSubstationSvg(UUID networkUuid, String variantId, String substa
136
148
var path = uriComponentsBuilder .buildAndExpand (networkUuid , substationId ).toUriString ();
137
149
138
150
byte [] result ;
151
+ HttpHeaders headers = new HttpHeaders ();
152
+ headers .setContentType (MediaType .APPLICATION_JSON );
153
+
154
+ HttpEntity <List <CurrentLimitViolationInfos >> httpEntity = new HttpEntity <>(limitViolations , headers );
139
155
try {
140
- result = restTemplate .getForObject (singleLineDiagramServerBaseUri + path , byte [].class );
156
+ result = restTemplate .postForObject (singleLineDiagramServerBaseUri + path , httpEntity , byte [].class );
141
157
} catch (HttpStatusCodeException e ) {
142
158
if (HttpStatus .NOT_FOUND .equals (e .getStatusCode ())) {
143
159
throw new StudyException (SVG_NOT_FOUND , "Substation " + substationId + NOT_FOUND );
@@ -148,7 +164,7 @@ public byte[] getSubstationSvg(UUID networkUuid, String variantId, String substa
148
164
return result ;
149
165
}
150
166
151
- public String getSubstationSvgAndMetadata (UUID networkUuid , String variantId , String substationId , DiagramParameters diagramParameters , String substationLayout ) {
167
+ public String generateSubstationSvgAndMetadata (UUID networkUuid , String variantId , String substationId , DiagramParameters diagramParameters , String substationLayout , List < CurrentLimitViolationInfos > limitViolations ) {
152
168
var uriComponentsBuilder = UriComponentsBuilder
153
169
.fromPath (DELIMITER + SINGLE_LINE_DIAGRAM_API_VERSION + "/substation-svg-and-metadata/{networkUuid}/{substationId}" )
154
170
.queryParam (QUERY_PARAM_USE_NAME , diagramParameters .isUseName ())
@@ -160,8 +176,12 @@ public String getSubstationSvgAndMetadata(UUID networkUuid, String variantId, St
160
176
addParameters (diagramParameters , uriComponentsBuilder , variantId );
161
177
162
178
String result ;
179
+ HttpHeaders headers = new HttpHeaders ();
180
+ headers .setContentType (MediaType .APPLICATION_JSON );
181
+
182
+ HttpEntity <List <CurrentLimitViolationInfos >> httpEntity = new HttpEntity <>(limitViolations , headers );
163
183
try {
164
- result = restTemplate .getForEntity (singleLineDiagramServerBaseUri + uriComponentsBuilder .build ().toUriString (), String .class , networkUuid , substationId ).getBody ();
184
+ result = restTemplate .postForEntity (singleLineDiagramServerBaseUri + uriComponentsBuilder .build ().toUriString (), httpEntity , String .class , networkUuid , substationId ).getBody ();
165
185
} catch (HttpStatusCodeException e ) {
166
186
if (HttpStatus .NOT_FOUND .equals (e .getStatusCode ())) {
167
187
throw new StudyException (SVG_NOT_FOUND , "Substation " + substationId + NOT_FOUND );
@@ -172,7 +192,7 @@ public String getSubstationSvgAndMetadata(UUID networkUuid, String variantId, St
172
192
return result ;
173
193
}
174
194
175
- public String getNetworkAreaDiagram (UUID networkUuid , String variantId , String nadRequestInfos ) {
195
+ public String generateNetworkAreaDiagram (UUID networkUuid , String variantId , Map < String , Object > nadRequestInfos ) {
176
196
var uriComponentsBuilder = UriComponentsBuilder .fromPath (DELIMITER + SINGLE_LINE_DIAGRAM_API_VERSION +
177
197
"/network-area-diagram/{networkUuid}" );
178
198
if (!StringUtils .isBlank (variantId )) {
@@ -184,7 +204,7 @@ public String getNetworkAreaDiagram(UUID networkUuid, String variantId, String n
184
204
185
205
var headers = new HttpHeaders ();
186
206
headers .setContentType (MediaType .APPLICATION_JSON );
187
- HttpEntity <String > request = new HttpEntity <>(nadRequestInfos , headers );
207
+ HttpEntity <Map < String , Object > > request = new HttpEntity <>(nadRequestInfos , headers );
188
208
189
209
try {
190
210
return restTemplate .postForObject (singleLineDiagramServerBaseUri + path , request , String .class );
0 commit comments