Skip to content

Commit fc7e221

Browse files
clean PR
1 parent cd42064 commit fc7e221

File tree

8 files changed

+196
-156
lines changed

8 files changed

+196
-156
lines changed

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,11 @@
199199
<artifactId>assertj-guava</artifactId>
200200
<scope>test</scope>
201201
</dependency>
202+
<dependency>
203+
<groupId>org.junit.vintage</groupId>
204+
<artifactId>junit-vintage-engine</artifactId>
205+
<scope>test</scope>
206+
</dependency>
202207
<dependency>
203208
<groupId>org.mockito</groupId>
204209
<artifactId>mockito-core</artifactId>

src/main/java/org/gridsuite/voltageinit/server/service/VoltageInitResultContext.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,29 +45,29 @@ public VoltageInitResultContext(UUID resultUuid, VoltageInitRunContext runContex
4545
}
4646

4747
private static String getNonNullHeader(MessageHeaders headers, String name) {
48-
final String header = headers.get(name, String.class);
48+
String header = (String) headers.get(name);
4949
if (header == null) {
5050
throw new PowsyblException("Header '" + name + "' not found");
51-
} else {
52-
return header;
5351
}
52+
return header;
5453
}
5554

5655
public static VoltageInitResultContext fromMessage(Message<String> message) {
5756
Objects.requireNonNull(message);
5857
MessageHeaders headers = message.getHeaders();
5958
UUID resultUuid = UUID.fromString(getNonNullHeader(headers, "resultUuid"));
6059
UUID networkUuid = UUID.fromString(getNonNullHeader(headers, "networkUuid"));
61-
String variantId = headers.get(VARIANT_ID_HEADER, String.class);
62-
String receiver = headers.get(HEADER_RECEIVER, String.class);
63-
String userId = headers.get(HEADER_USER_ID, String.class);
64-
@SuppressWarnings("unchecked")
65-
Map<String, Double> voltageLevelsIdsRestricted = headers.get(VOLTAGE_LEVELS_IDS_RESTRICTED, Map.class);
66-
UUID parametersUuid = headers.containsKey(PARAMETERS_UUID_HEADER) ? UUID.fromString(headers.get(PARAMETERS_UUID_HEADER, String.class)) : null;
67-
UUID reportUuid = headers.containsKey(REPORT_UUID_HEADER) ? UUID.fromString(headers.get(REPORT_UUID_HEADER, String.class)) : null;
68-
String reporterId = headers.containsKey(REPORTER_ID_HEADER) ? headers.get(REPORTER_ID_HEADER, String.class) : null;
69-
String reportType = headers.containsKey(REPORT_TYPE_HEADER) ? headers.get(REPORT_TYPE_HEADER, String.class) : null;
70-
return new VoltageInitResultContext(resultUuid, new VoltageInitRunContext(networkUuid, variantId, receiver, reportUuid, reporterId, reportType, userId, parametersUuid, voltageLevelsIdsRestricted));
60+
String variantId = (String) headers.get(VARIANT_ID_HEADER);
61+
String receiver = (String) headers.get(HEADER_RECEIVER);
62+
String userId = (String) headers.get(HEADER_USER_ID);
63+
Map<String, Double> voltageLevelsIdsRestricted = (Map<String, Double>) headers.get(VOLTAGE_LEVELS_IDS_RESTRICTED);
64+
65+
UUID parametersUuid = headers.containsKey(PARAMETERS_UUID_HEADER) ? UUID.fromString((String) headers.get(PARAMETERS_UUID_HEADER)) : null;
66+
UUID reportUuid = headers.containsKey(REPORT_UUID_HEADER) ? UUID.fromString((String) headers.get(REPORT_UUID_HEADER)) : null;
67+
String reporterId = headers.containsKey(REPORTER_ID_HEADER) ? (String) headers.get(REPORTER_ID_HEADER) : null;
68+
String reportType = headers.containsKey(REPORT_TYPE_HEADER) ? (String) headers.get(REPORT_TYPE_HEADER) : null;
69+
VoltageInitRunContext runContext = new VoltageInitRunContext(networkUuid, variantId, receiver, reportUuid, reporterId, reportType, userId, parametersUuid, voltageLevelsIdsRestricted);
70+
return new VoltageInitResultContext(resultUuid, runContext);
7171
}
7272

7373
public Message<String> toMessage() {

src/main/java/org/gridsuite/voltageinit/server/service/VoltageInitService.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@
66
*/
77
package org.gridsuite.voltageinit.server.service;
88

9+
import com.powsybl.network.store.client.NetworkStoreService;
10+
911
import org.gridsuite.voltageinit.server.dto.ReactiveSlack;
1012
import org.gridsuite.voltageinit.server.dto.VoltageInitResult;
1113
import org.gridsuite.voltageinit.server.dto.VoltageInitStatus;
1214
import org.gridsuite.voltageinit.server.entities.VoltageInitResultEntity;
1315
import org.gridsuite.voltageinit.server.repository.VoltageInitResultRepository;
1416
import org.springframework.beans.factory.annotation.Autowired;
17+
import org.springframework.context.annotation.ComponentScan;
1518
import org.springframework.stereotype.Service;
1619
import org.springframework.transaction.annotation.Transactional;
1720

@@ -22,6 +25,7 @@
2225
/**
2326
* @author Etienne Homer <etienne.homer at rte-france.com>
2427
*/
28+
@ComponentScan(basePackageClasses = {NetworkStoreService.class})
2529
@Service
2630
public class VoltageInitService {
2731
@Autowired
@@ -45,8 +49,9 @@ public VoltageInitService(NotificationService notificationService,
4549
}
4650

4751
public UUID runAndSaveResult(UUID networkUuid, String variantId, String receiver, UUID reportUuid, String reporterId, String userId, String reportType, UUID parametersUuid) {
48-
final VoltageInitRunContext runContext = new VoltageInitRunContext(networkUuid, variantId, receiver, reportUuid, reporterId, reportType, userId, parametersUuid);
49-
final UUID resultUuid = uuidGeneratorService.generate();
52+
VoltageInitRunContext runContext = new VoltageInitRunContext(networkUuid, variantId, receiver, reportUuid, reporterId, reportType, userId, parametersUuid, new HashMap<>());
53+
Objects.requireNonNull(runContext);
54+
var resultUuid = uuidGeneratorService.generate();
5055

5156
// update status to running status
5257
setStatus(List.of(resultUuid), VoltageInitStatus.RUNNING.name());

src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java

Lines changed: 35 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ public UUID createParameters(VoltageInitParametersInfos parametersInfos) {
5454
}
5555

5656
public Optional<UUID> duplicateParameters(UUID sourceParametersId) {
57-
return voltageInitParametersRepository.findById(sourceParametersId)
58-
.map(VoltageInitParametersEntity::toVoltageInitParametersInfos)
59-
.map(VoltageInitParametersEntity::new)
60-
.map(entity -> {
61-
voltageInitParametersRepository.save(entity);
62-
return entity.getId();
63-
});
57+
Optional<VoltageInitParametersInfos> sourceVoltageInitParametersInfos = voltageInitParametersRepository.findById(sourceParametersId).map(VoltageInitParametersEntity::toVoltageInitParametersInfos);
58+
if (sourceVoltageInitParametersInfos.isPresent()) {
59+
VoltageInitParametersEntity entity = new VoltageInitParametersEntity(sourceVoltageInitParametersInfos.get());
60+
voltageInitParametersRepository.save(entity);
61+
return Optional.of(entity.getId());
62+
}
63+
return Optional.empty();
6464
}
6565

6666
public VoltageInitParametersInfos getParameters(UUID parametersUuid) {
@@ -101,68 +101,50 @@ private static void fillSpecificVoltageLimits(List<VoltageLimitOverride> specifi
101101
Map<String, VoltageLimitEntity> voltageLevelDefaultLimits,
102102
VoltageLevel voltageLevel,
103103
Map<String, Double> voltageLevelsIdsRestricted) {
104-
if (voltageLevelDefaultLimits.containsKey(voltageLevel.getId()) || voltageLevelModificationLimits.containsKey(voltageLevel.getId())) {
105-
setLowVoltageLimit(specificVoltageLimits, voltageLevelModificationLimits, voltageLevelDefaultLimits, voltageLevel, voltageLevelsIdsRestricted);
106-
setHighVoltageLimit(specificVoltageLimits, voltageLevelModificationLimits, voltageLevelDefaultLimits, voltageLevel);
107-
}
104+
setLowVoltageLimit(specificVoltageLimits, voltageLevelModificationLimits, voltageLevelDefaultLimits, voltageLevel, voltageLevelsIdsRestricted);
105+
setHighVoltageLimit(specificVoltageLimits, voltageLevelModificationLimits, voltageLevelDefaultLimits, voltageLevel);
108106
}
109107

110108
private static void setLowVoltageLimit(List<VoltageLimitOverride> specificVoltageLimits,
111109
Map<String, VoltageLimitEntity> voltageLevelModificationLimits,
112110
Map<String, VoltageLimitEntity> voltageLevelDefaultLimits,
113111
VoltageLevel voltageLevel,
114112
Map<String, Double> voltageLevelsIdsRestricted) {
115-
final String voltageLevelId = voltageLevel.getId();
116-
final boolean isLowVoltageLimitModificationSet = voltageLevelModificationLimits.containsKey(voltageLevelId) && voltageLevelModificationLimits.get(voltageLevelId).getLowVoltageLimit() != null;
117-
final double lowVoltageLimit = voltageLevel.getLowVoltageLimit();
113+
boolean isLowVoltageLimitModificationSet = voltageLevelModificationLimits.containsKey(voltageLevel.getId()) && voltageLevelModificationLimits.get(voltageLevel.getId()).getLowVoltageLimit() != null;
114+
boolean isLowVoltageLimitDefaultSet = voltageLevelDefaultLimits.containsKey(voltageLevel.getId()) && voltageLevelDefaultLimits.get(voltageLevel.getId()).getLowVoltageLimit() != null;
118115
double newLowVoltageLimit;
119-
if (!Double.isNaN(lowVoltageLimit) && isLowVoltageLimitModificationSet) {
120-
double lowVoltageLimitModification = voltageLevelModificationLimits.get(voltageLevelId).getLowVoltageLimit();
121-
if (lowVoltageLimit + lowVoltageLimitModification < 0) {
122-
newLowVoltageLimit = lowVoltageLimit * -1;
123-
voltageLevelsIdsRestricted.put(voltageLevelId, newLowVoltageLimit);
116+
if (!Double.isNaN(voltageLevel.getLowVoltageLimit()) && isLowVoltageLimitModificationSet) {
117+
double lowVoltageLimitModification = voltageLevelModificationLimits.get(voltageLevel.getId()).getLowVoltageLimit();
118+
if (voltageLevel.getLowVoltageLimit() + lowVoltageLimitModification < 0) {
119+
newLowVoltageLimit = voltageLevel.getLowVoltageLimit() * -1;
120+
voltageLevelsIdsRestricted.put(voltageLevel.getId(), newLowVoltageLimit);
124121
} else {
125122
newLowVoltageLimit = lowVoltageLimitModification;
126123
}
127-
specificVoltageLimits.add(new VoltageLimitOverride(voltageLevelId, VoltageLimitType.LOW_VOLTAGE_LIMIT, true, newLowVoltageLimit));
124+
specificVoltageLimits.add(new VoltageLimitOverride(voltageLevel.getId(), VoltageLimitType.LOW_VOLTAGE_LIMIT, true, newLowVoltageLimit));
128125

129-
} else if (Double.isNaN(lowVoltageLimit)
130-
&& voltageLevelDefaultLimits.containsKey(voltageLevelId)
131-
&& voltageLevelDefaultLimits.get(voltageLevelId).getLowVoltageLimit() != null) {
132-
double voltageLimit = voltageLevelDefaultLimits.get(voltageLevelId).getLowVoltageLimit() + (isLowVoltageLimitModificationSet ? voltageLevelModificationLimits.get(voltageLevelId).getLowVoltageLimit() : 0.);
126+
} else if (Double.isNaN(voltageLevel.getLowVoltageLimit()) && isLowVoltageLimitDefaultSet) {
127+
double voltageLimit = voltageLevelDefaultLimits.get(voltageLevel.getId()).getLowVoltageLimit() + (isLowVoltageLimitModificationSet ? voltageLevelModificationLimits.get(voltageLevel.getId()).getLowVoltageLimit() : 0.);
133128
if (voltageLimit < 0) {
134129
newLowVoltageLimit = 0.0;
135-
voltageLevelsIdsRestricted.put(voltageLevelId, newLowVoltageLimit);
130+
voltageLevelsIdsRestricted.put(voltageLevel.getId(), newLowVoltageLimit);
136131
} else {
137132
newLowVoltageLimit = voltageLimit;
138133
}
139-
specificVoltageLimits.add(new VoltageLimitOverride(voltageLevelId, VoltageLimitType.LOW_VOLTAGE_LIMIT, false, newLowVoltageLimit));
134+
specificVoltageLimits.add(new VoltageLimitOverride(voltageLevel.getId(), VoltageLimitType.LOW_VOLTAGE_LIMIT, false, newLowVoltageLimit));
140135
}
141136
}
142137

143138
private static void setHighVoltageLimit(List<VoltageLimitOverride> specificVoltageLimits,
144139
Map<String, VoltageLimitEntity> voltageLevelModificationLimits,
145140
Map<String, VoltageLimitEntity> voltageLevelDefaultLimits,
146141
VoltageLevel voltageLevel) {
147-
final String voltageLevelId = voltageLevel.getId();
148-
final boolean isHighVoltageLimitModificationSet = voltageLevelModificationLimits.containsKey(voltageLevelId) && voltageLevelModificationLimits.get(voltageLevelId).getHighVoltageLimit() != null;
149-
final double highVoltageLimit = voltageLevel.getHighVoltageLimit();
150-
if (!Double.isNaN(highVoltageLimit) && isHighVoltageLimitModificationSet) {
151-
specificVoltageLimits.add(new VoltageLimitOverride(
152-
voltageLevelId,
153-
VoltageLimitType.HIGH_VOLTAGE_LIMIT,
154-
true,
155-
voltageLevelModificationLimits.get(voltageLevelId).getHighVoltageLimit()
156-
));
157-
} else if (Double.isNaN(highVoltageLimit)
158-
&& voltageLevelDefaultLimits.containsKey(voltageLevelId)
159-
&& voltageLevelDefaultLimits.get(voltageLevelId).getHighVoltageLimit() != null) {
160-
specificVoltageLimits.add(new VoltageLimitOverride(
161-
voltageLevelId,
162-
VoltageLimitType.HIGH_VOLTAGE_LIMIT,
163-
false,
164-
voltageLevelDefaultLimits.get(voltageLevelId).getHighVoltageLimit() + (isHighVoltageLimitModificationSet ? voltageLevelModificationLimits.get(voltageLevelId).getHighVoltageLimit() : 0.)
165-
));
142+
boolean isHighVoltageLimitModificationSet = voltageLevelModificationLimits.containsKey(voltageLevel.getId()) && voltageLevelModificationLimits.get(voltageLevel.getId()).getHighVoltageLimit() != null;
143+
boolean isHighVoltageLimitDefaultSet = voltageLevelDefaultLimits.containsKey(voltageLevel.getId()) && voltageLevelDefaultLimits.get(voltageLevel.getId()).getHighVoltageLimit() != null;
144+
if (!Double.isNaN(voltageLevel.getHighVoltageLimit()) && isHighVoltageLimitModificationSet) {
145+
specificVoltageLimits.add(new VoltageLimitOverride(voltageLevel.getId(), VoltageLimitType.HIGH_VOLTAGE_LIMIT, true, voltageLevelModificationLimits.get(voltageLevel.getId()).getHighVoltageLimit()));
146+
} else if (Double.isNaN(voltageLevel.getHighVoltageLimit()) && isHighVoltageLimitDefaultSet) {
147+
specificVoltageLimits.add(new VoltageLimitOverride(voltageLevel.getId(), VoltageLimitType.HIGH_VOLTAGE_LIMIT, false, voltageLevelDefaultLimits.get(voltageLevel.getId()).getHighVoltageLimit() + (isHighVoltageLimitModificationSet ? voltageLevelModificationLimits.get(voltageLevel.getId()).getHighVoltageLimit() : 0.)));
166148
}
167149
}
168150

@@ -255,14 +237,14 @@ public OpenReacParameters buildOpenReacParameters(VoltageInitRunContext context,
255237
private List<String> toEquipmentIdsList(UUID networkUuid, String variantId, List<FilterEquipmentsEmbeddable> filters) {
256238
if (filters == null || filters.isEmpty()) {
257239
return List.of();
258-
} else {
259-
return filterService.exportFilters(filters.stream().map(FilterEquipmentsEmbeddable::getFilterId).toList(), networkUuid, variantId)
260-
.stream()
261-
.map(FilterEquipments::getIdentifiableAttributes)
262-
.flatMap(List::stream)
263-
.map(IdentifiableAttributes::getId)
264-
.distinct()
265-
.toList();
266240
}
241+
List<FilterEquipments> equipments = filterService.exportFilters(filters.stream().map(FilterEquipmentsEmbeddable::getFilterId).toList(), networkUuid, variantId);
242+
Set<String> ids = new HashSet<>();
243+
equipments.forEach(filterEquipment ->
244+
filterEquipment.getIdentifiableAttributes().forEach(identifiableAttribute ->
245+
ids.add(identifiableAttribute.getId())
246+
)
247+
);
248+
return new ArrayList<>(ids);
267249
}
268250
}

src/test/java/org/gridsuite/voltageinit/server/SupervisionControllerTest.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,35 @@
66
*/
77
package org.gridsuite.voltageinit.server;
88

9-
import org.junit.jupiter.api.Test;
9+
import org.junit.Test;
10+
import org.junit.runner.RunWith;
1011
import org.springframework.beans.factory.annotation.Autowired;
1112
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
1213
import org.springframework.boot.test.context.SpringBootTest;
1314
import org.springframework.http.MediaType;
15+
import org.springframework.test.context.junit4.SpringRunner;
1416
import org.springframework.test.web.servlet.MockMvc;
1517
import org.springframework.test.web.servlet.MvcResult;
1618

17-
import static org.junit.jupiter.api.Assertions.assertEquals;
18-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
19+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
1920
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
2021
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
2122

23+
import static org.junit.Assert.assertEquals;
24+
2225
/**
2326
* @author Hugo Marcellin <hugo.marcelin at rte-france.com>
2427
*/
28+
@RunWith(SpringRunner.class)
2529
@AutoConfigureMockMvc
2630
@SpringBootTest
27-
class SupervisionControllerTest {
31+
public class SupervisionControllerTest {
2832

2933
@Autowired
3034
private MockMvc mockMvc;
3135

3236
@Test
33-
void testResultCount() throws Exception {
37+
public void testResultCount() throws Exception {
3438
//get the result timeline uuid of the calculation
3539
MvcResult mvcResult = mockMvc.perform(get("/v1/supervision/results-count"))
3640
.andExpect(status().isOk())
@@ -39,6 +43,7 @@ void testResultCount() throws Exception {
3943

4044
String resultCount = mvcResult.getResponse().getContentAsString();
4145
assertEquals("0", resultCount);
46+
4247
}
4348
}
4449

0 commit comments

Comments
 (0)