diff --git a/network-store-client/pom.xml b/network-store-client/pom.xml
index ca330907c..66a03e016 100644
--- a/network-store-client/pom.xml
+++ b/network-store-client/pom.xml
@@ -41,16 +41,21 @@
org.springframework
spring-web
-
org.jgrapht
jgrapht-core
+
+ org.slf4j
+ slf4j-api
+ ${slf4j.version}
+
org.slf4j
log4j-over-slf4j
+ ${slf4j.version}
runtime
diff --git a/network-store-client/src/main/java/com/powsybl/network/store/client/NetworkStoreService.java b/network-store-client/src/main/java/com/powsybl/network/store/client/NetworkStoreService.java
index f5237204c..fe064ddab 100644
--- a/network-store-client/src/main/java/com/powsybl/network/store/client/NetworkStoreService.java
+++ b/network-store-client/src/main/java/com/powsybl/network/store/client/NetworkStoreService.java
@@ -32,8 +32,8 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
import java.nio.file.Path;
import java.util.*;
import java.util.concurrent.ExecutorService;
diff --git a/network-store-client/src/main/java/com/powsybl/network/store/client/RestClientImpl.java b/network-store-client/src/main/java/com/powsybl/network/store/client/RestClientImpl.java
index ac2484aae..d4fe3e319 100644
--- a/network-store-client/src/main/java/com/powsybl/network/store/client/RestClientImpl.java
+++ b/network-store-client/src/main/java/com/powsybl/network/store/client/RestClientImpl.java
@@ -6,12 +6,15 @@
*/
package com.powsybl.network.store.client;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.joda.JodaModule;
import com.powsybl.commons.PowsyblException;
import com.powsybl.network.store.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.*;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.DefaultUriBuilderFactory;
import org.springframework.web.util.UriComponentsBuilder;
@@ -37,11 +40,22 @@ public RestClientImpl(RestTemplateBuilder restTemplateBuilder) {
}
public static RestTemplateBuilder createRestTemplateBuilder(String baseUri) {
- return new RestTemplateBuilder()
- .uriTemplateHandler(new DefaultUriBuilderFactory(UriComponentsBuilder.fromUriString(baseUri)
+ return new RestTemplateBuilder(restTemplate1 -> restTemplate1.setMessageConverters(List.of(createMapping()))).uriTemplateHandler(new DefaultUriBuilderFactory(UriComponentsBuilder.fromUriString(baseUri)
.path(NetworkStoreApi.VERSION)));
}
+ private static ObjectMapper createObjectMapper() {
+ ObjectMapper objectMapper = new ObjectMapper();
+ objectMapper.registerModule(new JodaModule());
+ return objectMapper;
+ }
+
+ private static MappingJackson2HttpMessageConverter createMapping() {
+ var converter = new MappingJackson2HttpMessageConverter();
+ converter.setObjectMapper(createObjectMapper());
+ return converter;
+ }
+
private ResponseEntity> getDocument(String url, Object... uriVariables) {
return restTemplate.exchange(url,
HttpMethod.GET,
@@ -59,8 +73,8 @@ private static TopLevelDocument getBody(Re
return body;
}
- private static PowsyblException createHttpException(String url, String method, HttpStatus httpStatus) {
- return new PowsyblException("Fail to " + method + " at " + url + ", status: " + httpStatus);
+ private static PowsyblException createHttpException(String url, String method, HttpStatusCode httpStatusCode) {
+ return new PowsyblException("Fail to " + method + " at " + url + ", status: " + httpStatusCode);
}
@Override
diff --git a/network-store-client/src/main/java/com/powsybl/network/store/client/RestNetworkStoreClient.java b/network-store-client/src/main/java/com/powsybl/network/store/client/RestNetworkStoreClient.java
index d838c31ec..c1391a83e 100644
--- a/network-store-client/src/main/java/com/powsybl/network/store/client/RestNetworkStoreClient.java
+++ b/network-store-client/src/main/java/com/powsybl/network/store/client/RestNetworkStoreClient.java
@@ -8,6 +8,7 @@
package com.powsybl.network.store.client;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.joda.JodaModule;
import com.google.common.base.Stopwatch;
import com.google.common.collect.Lists;
import com.powsybl.commons.PowsyblException;
@@ -46,6 +47,8 @@ public RestNetworkStoreClient(RestClient restClient) {
public RestNetworkStoreClient(RestClient restClient, ObjectMapper objectMapper) {
this.restClient = Objects.requireNonNull(restClient);
this.objectMapper = Objects.requireNonNull(objectMapper);
+ objectMapper.registerModule(new JodaModule());
+
}
// network
@@ -234,7 +237,7 @@ public Optional> getSubstation(UUID networkUuid,
@Override
public void updateSubstations(UUID networkUuid, List> substationResources, AttributeFilter attributeFilter) {
- updateAll("substation", "/networks/{networkUuid}/substations/", substationResources, attributeFilter, networkUuid);
+ updateAll("substation", "/networks/{networkUuid}/substations", substationResources, attributeFilter, networkUuid);
}
public void removeSubstations(UUID networkUuid, int variantNum, List substationsId) {
diff --git a/network-store-client/src/main/java/com/powsybl/network/store/client/RestTemplateResponseErrorHandler.java b/network-store-client/src/main/java/com/powsybl/network/store/client/RestTemplateResponseErrorHandler.java
index fb98efcc5..c48fcce9b 100644
--- a/network-store-client/src/main/java/com/powsybl/network/store/client/RestTemplateResponseErrorHandler.java
+++ b/network-store-client/src/main/java/com/powsybl/network/store/client/RestTemplateResponseErrorHandler.java
@@ -19,9 +19,6 @@
import java.nio.charset.StandardCharsets;
import java.util.Optional;
-import static org.springframework.http.HttpStatus.Series.CLIENT_ERROR;
-import static org.springframework.http.HttpStatus.Series.SERVER_ERROR;
-
/**
* @author Geoffroy Jamgotchian
*/
@@ -29,16 +26,16 @@ public class RestTemplateResponseErrorHandler implements ResponseErrorHandler {
@Override
public boolean hasError(ClientHttpResponse response) throws IOException {
- return response.getStatusCode().series() == CLIENT_ERROR
- || response.getStatusCode().series() == SERVER_ERROR;
+ return response.getStatusCode().is4xxClientError()
+ || response.getStatusCode().is5xxServerError();
}
@Override
public void handleError(ClientHttpResponse response) throws IOException {
- if (response.getStatusCode().series() == HttpStatus.Series.SERVER_ERROR) {
+ if (response.getStatusCode().is5xxServerError()) {
throw new HttpServerErrorException(response.getStatusCode(), response.getStatusText(),
response.getBody().readAllBytes(), StandardCharsets.UTF_8);
- } else if (response.getStatusCode().series() == HttpStatus.Series.CLIENT_ERROR) {
+ } else if (response.getStatusCode().is4xxClientError()) {
if (response.getStatusCode() != HttpStatus.NOT_FOUND) {
throw new HttpClientErrorException(response.getStatusCode(), response.getStatusText(),
response.getBody().readAllBytes(), StandardCharsets.UTF_8);
diff --git a/network-store-client/src/test/java/com/powsybl/network/store/client/RestNetworkStoreClientTest.java b/network-store-client/src/test/java/com/powsybl/network/store/client/RestNetworkStoreClientTest.java
index 170651226..a5612fbd1 100644
--- a/network-store-client/src/test/java/com/powsybl/network/store/client/RestNetworkStoreClientTest.java
+++ b/network-store-client/src/test/java/com/powsybl/network/store/client/RestNetworkStoreClientTest.java
@@ -8,6 +8,7 @@
package com.powsybl.network.store.client;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.joda.JodaModule;
import com.google.common.collect.ImmutableList;
import com.powsybl.commons.PowsyblException;
import com.powsybl.iidm.network.*;
@@ -68,6 +69,7 @@ public class RestNetworkStoreClientTest {
@Before
public void setUp() throws IOException {
+ objectMapper.registerModule(new JodaModule());
Resource n1 = Resource.networkBuilder()
.id("n1")
.attributes(NetworkAttributes.builder()
diff --git a/network-store-iidm-impl/pom.xml b/network-store-iidm-impl/pom.xml
index f57005357..5e5848064 100644
--- a/network-store-iidm-impl/pom.xml
+++ b/network-store-iidm-impl/pom.xml
@@ -68,11 +68,13 @@
org.slf4j
log4j-over-slf4j
+ ${slf4j.version}
test
org.slf4j
slf4j-simple
+ ${slf4j.version}
test
diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/AbstractBranchAdder.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/AbstractBranchAdder.java
index b0dc62b82..ba084d8b6 100644
--- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/AbstractBranchAdder.java
+++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/AbstractBranchAdder.java
@@ -91,7 +91,7 @@ protected void checkNodeBus1() {
private String getConnectionBus1() {
if (bus1 != null) {
- if ((connectableBus1 != null) && (!bus1.equals(connectableBus1))) {
+ if (!bus1.equals(connectableBus1)) {
throw new ValidationException(this, "connection bus 1 is different to connectable bus 1");
}
return bus1;
@@ -172,7 +172,7 @@ protected void checkNodeBus2() {
private String getConnectionBus2() {
if (bus2 != null) {
- if ((connectableBus2 != null) && (!bus2.equals(connectableBus2))) {
+ if (connectableBus2 != null && !bus2.equals(connectableBus2)) {
throw new ValidationException(this, "connection bus 2 is different to connectable bus 2");
}
return bus2;
diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/AbstractInjectionAdder.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/AbstractInjectionAdder.java
index c849177ae..a242b7e49 100644
--- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/AbstractInjectionAdder.java
+++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/AbstractInjectionAdder.java
@@ -100,7 +100,7 @@ private void checkNode() {
private String getConnectionBus() {
if (bus != null) {
- if ((connectableBus != null) && (!bus.equals(connectableBus))) {
+ if (connectableBus != null && !bus.equals(connectableBus)) {
throw new ValidationException(this, "connection bus is different to connectable bus");
}
return bus;
diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/NodeBreakerTopology.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/NodeBreakerTopology.java
index c59e7b4f2..d6caac214 100644
--- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/NodeBreakerTopology.java
+++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/NodeBreakerTopology.java
@@ -94,8 +94,8 @@ protected boolean isCalculatedBusValid(Set nodesOrBusesConnected, Map equipmentCount = new EquipmentCount<>();
equipmentCount.count(nodesOrBusesConnected, verticesByNodeOrBus);
return !isBusView ? !nodesOrBusesConnected.isEmpty() :
- (equipmentCount.busbarSectionCount >= 1 && equipmentCount.feederCount >= 1)
- || (equipmentCount.branchCount >= 1 && equipmentCount.feederCount >= 2);
+ equipmentCount.busbarSectionCount >= 1 && equipmentCount.feederCount >= 1
+ || equipmentCount.branchCount >= 1 && equipmentCount.feederCount >= 2;
}
@Override
diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/NodeBreakerViewImpl.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/NodeBreakerViewImpl.java
index 3f8eb33f6..7708674ed 100644
--- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/NodeBreakerViewImpl.java
+++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/NodeBreakerViewImpl.java
@@ -370,8 +370,8 @@ public int getInternalConnectionCount() {
@Override
public void removeInternalConnections(int node1, int node2) {
if (!getVoltageLevelResource().getAttributes().getInternalConnections()
- .removeIf(attributes -> (attributes.getNode1() == node1 && attributes.getNode2() == node2) ||
- (attributes.getNode1() == node2 && attributes.getNode2() == node1))) {
+ .removeIf(attributes -> attributes.getNode1() == node1 && attributes.getNode2() == node2 ||
+ attributes.getNode1() == node2 && attributes.getNode2() == node1)) {
throw new PowsyblException("Internal connection not found between " + node1 + " and " + node2);
}
}
diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/SubstationUtil.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/SubstationUtil.java
index 60cd7496e..ea730cca0 100644
--- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/SubstationUtil.java
+++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/SubstationUtil.java
@@ -39,7 +39,7 @@ private static void checkRemovability(Substation substation, Branch branch) {
Objects.requireNonNull(branch);
Substation s1 = branch.getTerminal1().getVoltageLevel().getSubstation().orElse(null);
Substation s2 = branch.getTerminal2().getVoltageLevel().getSubstation().orElse(null);
- if ((s1 != substation) || (s2 != substation)) {
+ if (s1 != substation || s2 != substation) {
throw createIsolationException(substation);
}
}
@@ -50,7 +50,7 @@ private static void checkRemovability(Substation substation, ThreeWindingsTransf
Substation s1 = twt.getLeg1().getTerminal().getVoltageLevel().getSubstation().orElse(null);
Substation s2 = twt.getLeg2().getTerminal().getVoltageLevel().getSubstation().orElse(null);
Substation s3 = twt.getLeg3().getTerminal().getVoltageLevel().getSubstation().orElse(null);
- if ((s1 != substation) || (s2 != substation) || (s3 != substation)) {
+ if (s1 != substation || s2 != substation || s3 != substation) {
throw createIsolationException(substation);
}
}
@@ -62,7 +62,7 @@ private static void checkRemovability(Substation substation, HvdcConverterStatio
if (hvdcLine != null) {
Substation s1 = hvdcLine.getConverterStation1().getTerminal().getVoltageLevel().getSubstation().orElse(null);
Substation s2 = hvdcLine.getConverterStation2().getTerminal().getVoltageLevel().getSubstation().orElse(null);
- if ((s1 != substation) || (s2 != substation)) {
+ if (s1 != substation || s2 != substation) {
throw createIsolationException(substation);
}
}
diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/TerminalImpl.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/TerminalImpl.java
index 49813ee9d..f197a2b1c 100644
--- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/TerminalImpl.java
+++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/TerminalImpl.java
@@ -348,7 +348,7 @@ public boolean isConnected() {
return this.getBusView().getBus() != null;
} else {
var attributes = getAttributes();
- return (attributes.getBus() != null) && attributes.getBus().equals(attributes.getConnectableBus());
+ return attributes.getBus() != null && attributes.getBus().equals(attributes.getConnectableBus());
}
}
diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/ThreeWindingsTransformerAdderImpl.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/ThreeWindingsTransformerAdderImpl.java
index 99b57facf..5969cc248 100644
--- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/ThreeWindingsTransformerAdderImpl.java
+++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/ThreeWindingsTransformerAdderImpl.java
@@ -136,7 +136,7 @@ protected void checkParams() {
private String getConnectionBus() {
if (bus != null) {
- if ((connectableBus != null) && (!bus.equals(connectableBus))) {
+ if (connectableBus != null && !bus.equals(connectableBus)) {
throw new ValidationException(this, "connection bus leg " + legNumber + " is different to connectable bus");
}
return bus;
diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/VoltageLevelUtil.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/VoltageLevelUtil.java
index b285514a2..b804c7996 100644
--- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/VoltageLevelUtil.java
+++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/VoltageLevelUtil.java
@@ -23,7 +23,7 @@ static void checkRemovability(VoltageLevel voltageLevel) {
if (MULTIPLE_TERMINALS_CONNECTABLE_TYPES.contains(type)) {
// Reject lines, 2WT and 3WT
throw new AssertionError("The voltage level '" + voltageLevel.getId() + "' cannot be removed because of a remaining " + type);
- } else if ((type == IdentifiableType.HVDC_CONVERTER_STATION) && (network.getHvdcLine((HvdcConverterStation>) connectable) != null)) {
+ } else if (type == IdentifiableType.HVDC_CONVERTER_STATION && network.getHvdcLine((HvdcConverterStation>) connectable) != null) {
// Reject all converter stations connected to a HVDC line
throw new AssertionError("The voltage level '" + voltageLevel.getId() + "' cannot be removed because of a remaining HVDC line");
}
diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/extensions/HvdcOperatorActivePowerRangeImpl.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/extensions/HvdcOperatorActivePowerRangeImpl.java
index be6584ca2..bf628b6c7 100644
--- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/extensions/HvdcOperatorActivePowerRangeImpl.java
+++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/extensions/HvdcOperatorActivePowerRangeImpl.java
@@ -60,7 +60,7 @@ public HvdcOperatorActivePowerRangeImpl setOprFromCS2toCS1(float oprFromCS2toCS1
}
private float checkOPR(float opr, HvdcConverterStation> from, HvdcConverterStation> to) {
- if ((!Float.isNaN(opr)) && (opr < 0)) {
+ if (!Float.isNaN(opr) && opr < 0) {
String message = "OPR from " + from.getId() + " to " + to.getId() + " must be greater than 0 (current value " + opr + ").";
throw new IllegalArgumentException(message);
}
diff --git a/network-store-model/pom.xml b/network-store-model/pom.xml
index a50444292..caea5e5d7 100644
--- a/network-store-model/pom.xml
+++ b/network-store-model/pom.xml
@@ -20,7 +20,7 @@
Network store model
- 2.1.10
+ 2.2.9
@@ -56,9 +56,9 @@
jackson-datatype-joda
- io.swagger.core.v3
- swagger-annotations
- ${swagger-annotations.version}
+ io.swagger.core.v3
+ swagger-annotations-jakarta
+ ${swagger-annotations.version}
org.apache.commons
@@ -90,6 +90,7 @@
org.slf4j
slf4j-simple
+ ${slf4j.version}
test
diff --git a/network-store-model/src/main/java/com/powsybl/network/store/model/ReactiveLimitsAttributes.java b/network-store-model/src/main/java/com/powsybl/network/store/model/ReactiveLimitsAttributes.java
index fd380330f..d7bf61775 100644
--- a/network-store-model/src/main/java/com/powsybl/network/store/model/ReactiveLimitsAttributes.java
+++ b/network-store-model/src/main/java/com/powsybl/network/store/model/ReactiveLimitsAttributes.java
@@ -19,8 +19,8 @@
include = JsonTypeInfo.As.PROPERTY,
property = "type")
@JsonSubTypes({
- @JsonSubTypes.Type(value = ReactiveCapabilityCurveAttributes.class, name = "ReactiveCapabilityCurve"),
- @JsonSubTypes.Type(value = MinMaxReactiveLimitsAttributes.class, name = "MinMaxReactiveLimits")
+ @JsonSubTypes.Type(value = ReactiveCapabilityCurveAttributes.class, name = "ReactiveCapabilityCurve"),
+ @JsonSubTypes.Type(value = MinMaxReactiveLimitsAttributes.class, name = "MinMaxReactiveLimits")
})
@JsonInclude(JsonInclude.Include.NON_NULL)
public interface ReactiveLimitsAttributes {
diff --git a/network-store-model/src/main/java/com/powsybl/network/store/model/ShuntCompensatorModelAttributes.java b/network-store-model/src/main/java/com/powsybl/network/store/model/ShuntCompensatorModelAttributes.java
index a078441c5..18868a8eb 100644
--- a/network-store-model/src/main/java/com/powsybl/network/store/model/ShuntCompensatorModelAttributes.java
+++ b/network-store-model/src/main/java/com/powsybl/network/store/model/ShuntCompensatorModelAttributes.java
@@ -19,8 +19,8 @@
include = JsonTypeInfo.As.PROPERTY,
property = "type")
@JsonSubTypes({
- @JsonSubTypes.Type(value = ShuntCompensatorLinearModelAttributes.class, name = "LinearModel"),
- @JsonSubTypes.Type(value = ShuntCompensatorNonLinearModelAttributes.class, name = "NonLinearModel")
+ @JsonSubTypes.Type(value = ShuntCompensatorLinearModelAttributes.class, name = "LinearModel"),
+ @JsonSubTypes.Type(value = ShuntCompensatorNonLinearModelAttributes.class, name = "NonLinearModel")
})
@JsonInclude(JsonInclude.Include.NON_NULL)
public interface ShuntCompensatorModelAttributes {
diff --git a/pom.xml b/pom.xml
index 62636f6f4..ccaaa3c96 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
com.powsybl
powsybl-parent
- 12
+ 15
@@ -47,11 +47,12 @@
- 2.7.3
+ 3.1.2
3.9
2023.2.1
1.5.0
-
+ 2.0.4
+ 1.4.5
../network-store-client-distribution/target/site/jacoco-aggregate/jacoco.xml,
../../network-store-client-distributiont/target/site/jacoco-aggregate/jacoco.xml,
@@ -86,6 +87,23 @@
import
+
+
+ ch.qos.logback
+ logback-classic
+ ${logback.version}
+
+
+ ch.qos.logback
+ logback-core
+ ${logback.version}
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j.version}
+
+
com.powsybl