diff --git a/geo-data-distribution/pom.xml b/geo-data-distribution/pom.xml
index bd9fda79..91d6a7a0 100644
--- a/geo-data-distribution/pom.xml
+++ b/geo-data-distribution/pom.xml
@@ -24,11 +24,6 @@
Geographical data distribution module
-
- ${project.groupId}
- gridsuite-geo-data-extensions
- ${project.version}
-
${project.groupId}
gridsuite-geo-data-server
diff --git a/geo-data-extensions/pom.xml b/geo-data-extensions/pom.xml
deleted file mode 100644
index 86528355..00000000
--- a/geo-data-extensions/pom.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
- 4.0.0
-
-
- org.gridsuite
- gridsuite-geo-data
- 1.0.0-SNAPSHOT
-
-
- gridsuite-geo-data-extensions
- Geo data IIDM extensions
- IIDM substation and line geographical extensions
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- ${maven.jar.version}
-
-
-
- test-jar
-
-
-
-
-
-
-
-
-
- org.projectlombok
- lombok
-
-
-
- com.powsybl
- powsybl-cgmes-conversion
-
-
- com.powsybl
- powsybl-cgmes-model
-
-
- com.powsybl
- powsybl-iidm-api
-
-
- com.powsybl
- powsybl-triple-store-api
-
-
-
-
- com.google.jimfs
- jimfs
- test
-
-
- junit
- junit
- test
-
-
- org.mockito
- mockito-core
- test
-
-
- org.slf4j
- slf4j-simple
- test
-
-
- org.xmlunit
- xmlunit-core
- test
-
-
-
- com.powsybl
- powsybl-commons
- test-jar
- test
-
-
- com.powsybl
- powsybl-config-test
- test
-
-
- com.powsybl
- powsybl-iidm-impl
- test
-
-
- com.powsybl
- powsybl-iidm-xml-converter
- test
-
-
-
diff --git a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/Coordinate.java b/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/Coordinate.java
deleted file mode 100755
index a1125670..00000000
--- a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/Coordinate.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Copyright (c) 2019, RTE (http://www.rte-france.com)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-package org.gridsuite.geodata.extensions;
-
-import lombok.*;
-
-/**
- * @author Chamseddine Benhamed
- */
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
-@Getter
-@Setter
-@ToString
-@EqualsAndHashCode
-public class Coordinate {
-
- private double lat;
-
- private double lon;
-
- public Coordinate(Coordinate coordinate) {
- this.lon = coordinate.getLon();
- this.lat = coordinate.getLat();
- }
-
-}
diff --git a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/LinePosition.java b/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/LinePosition.java
deleted file mode 100644
index 4a0098bd..00000000
--- a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/LinePosition.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Copyright (c) 2019, RTE (http://www.rte-france.com)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-package org.gridsuite.geodata.extensions;
-
-import com.powsybl.commons.extensions.AbstractExtension;
-import com.powsybl.iidm.network.DanglingLine;
-import com.powsybl.iidm.network.Identifiable;
-import com.powsybl.iidm.network.Line;
-
-import java.util.List;
-import java.util.Objects;
-
-/**
- *
- * @author Massimo Ferraro
- */
-public class LinePosition> extends AbstractExtension {
-
- static final String NAME = "line-position";
-
- private final List coordinates;
-
- private LinePosition(T line, List coordinates) {
- super(line);
- this.coordinates = Objects.requireNonNull(coordinates);
- }
-
- public LinePosition(Line line, List coordinates) {
- this((T) line, coordinates);
- }
-
- public LinePosition(DanglingLine danglingLine, List coordinates) {
- this((T) danglingLine, coordinates);
- }
-
- @Override
- public String getName() {
- return NAME;
- }
-
- public List getCoordinates() {
- return coordinates;
- }
-
-}
diff --git a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/LinePositionXmlSerializer.java b/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/LinePositionXmlSerializer.java
deleted file mode 100644
index 67a132ed..00000000
--- a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/LinePositionXmlSerializer.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Copyright (c) 2019, RTE (http://www.rte-france.com)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-package org.gridsuite.geodata.extensions;
-
-import com.google.auto.service.AutoService;
-import com.powsybl.commons.extensions.AbstractExtensionXmlSerializer;
-import com.powsybl.commons.extensions.ExtensionXmlSerializer;
-import com.powsybl.commons.xml.XmlReaderContext;
-import com.powsybl.commons.xml.XmlUtil;
-import com.powsybl.commons.xml.XmlWriterContext;
-import com.powsybl.iidm.network.DanglingLine;
-import com.powsybl.iidm.network.Identifiable;
-import com.powsybl.iidm.network.Line;
-
-import javax.xml.stream.XMLStreamException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- *
- * @author Massimo Ferraro
- */
-@AutoService(ExtensionXmlSerializer.class)
-public class LinePositionXmlSerializer> extends AbstractExtensionXmlSerializer> {
-
- public LinePositionXmlSerializer() {
- super(LinePosition.NAME, "network", LinePosition.class, true, "linePosition.xsd",
- "http://www.itesla_project.eu/schema/iidm/ext/line_position/1_0", "lp");
- }
-
- @Override
- public void write(LinePosition linePosition, XmlWriterContext context) throws XMLStreamException {
- for (Coordinate point : linePosition.getCoordinates()) {
- context.getWriter().writeEmptyElement(getNamespaceUri(), "coordinate");
- XmlUtil.writeDouble("longitude", point.getLon(), context.getWriter());
- XmlUtil.writeDouble("latitude", point.getLat(), context.getWriter());
- }
- }
-
- @Override
- public LinePosition read(T line, XmlReaderContext context) throws XMLStreamException {
- List coordinates = new ArrayList<>();
- XmlUtil.readUntilEndElement(getExtensionName(), context.getReader(), () -> {
- double longitude = XmlUtil.readDoubleAttribute(context.getReader(), "longitude");
- double latitude = XmlUtil.readDoubleAttribute(context.getReader(), "latitude");
- coordinates.add(new Coordinate(latitude, longitude));
- });
- return createLinePosition(line, coordinates);
- }
-
- private LinePosition createLinePosition(T line, List coordinates) {
- if (line instanceof Line) {
- return new LinePosition<>((Line) line, coordinates);
- } else if (line instanceof DanglingLine) {
- return new LinePosition<>((DanglingLine) line, coordinates);
- } else {
- throw new AssertionError("Unsupported equipment");
- }
- }
-
-}
diff --git a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/SubstationPosition.java b/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/SubstationPosition.java
deleted file mode 100644
index 94960971..00000000
--- a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/SubstationPosition.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Copyright (c) 2019, RTE (http://www.rte-france.com)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-package org.gridsuite.geodata.extensions;
-
-import com.powsybl.commons.extensions.AbstractExtension;
-import com.powsybl.iidm.network.Substation;
-
-import java.util.Objects;
-
-/**
- *
- * @author Massimo Ferraro
- */
-public class SubstationPosition extends AbstractExtension {
-
- static final String NAME = "substation-position";
-
- private final Coordinate coordinate;
-
- public SubstationPosition(Substation substation, Coordinate coordinate) {
- super(substation);
- this.coordinate = Objects.requireNonNull(coordinate);
- }
-
- @Override
- public String getName() {
- return NAME;
- }
-
- public Coordinate getCoordinate() {
- return coordinate;
- }
-
-}
diff --git a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/SubstationPositionXmlSerializer.java b/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/SubstationPositionXmlSerializer.java
deleted file mode 100644
index 50bfee5d..00000000
--- a/geo-data-extensions/src/main/java/org/gridsuite/geodata/extensions/SubstationPositionXmlSerializer.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Copyright (c) 2019, RTE (http://www.rte-france.com)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-package org.gridsuite.geodata.extensions;
-
-import com.google.auto.service.AutoService;
-import com.powsybl.commons.extensions.AbstractExtensionXmlSerializer;
-import com.powsybl.commons.extensions.ExtensionXmlSerializer;
-import com.powsybl.commons.xml.XmlReaderContext;
-import com.powsybl.commons.xml.XmlUtil;
-import com.powsybl.commons.xml.XmlWriterContext;
-import com.powsybl.iidm.network.Substation;
-
-import javax.xml.stream.XMLStreamException;
-
-/**
- *
- * @author Massimo Ferraro
- */
-@AutoService(ExtensionXmlSerializer.class)
-public class SubstationPositionXmlSerializer extends AbstractExtensionXmlSerializer {
-
- public SubstationPositionXmlSerializer() {
- super(SubstationPosition.NAME, "network", SubstationPosition.class, true, "substationPosition.xsd",
- "http://www.itesla_project.eu/schema/iidm/ext/substation_position/1_0", "sp");
- }
-
- @Override
- public void write(SubstationPosition substationPosition, XmlWriterContext context) throws XMLStreamException {
- context.getWriter().writeEmptyElement(getNamespaceUri(), "coordinate");
- XmlUtil.writeDouble("longitude", substationPosition.getCoordinate().getLon(), context.getWriter());
- XmlUtil.writeDouble("latitude", substationPosition.getCoordinate().getLat(), context.getWriter());
- }
-
- @Override
- public SubstationPosition read(Substation substation, XmlReaderContext context) throws XMLStreamException {
- Coordinate[] coordinate = new Coordinate[1];
- XmlUtil.readUntilEndElement(getExtensionName(), context.getReader(), () -> {
- double longitude = XmlUtil.readDoubleAttribute(context.getReader(), "longitude");
- double latitude = XmlUtil.readDoubleAttribute(context.getReader(), "latitude");
- coordinate[0] = new Coordinate(latitude, longitude);
- });
- return new SubstationPosition(substation, coordinate[0]);
- }
-
-}
diff --git a/geo-data-extensions/src/main/resources/xsd/linePosition.xsd b/geo-data-extensions/src/main/resources/xsd/linePosition.xsd
deleted file mode 100644
index ed31dd9e..00000000
--- a/geo-data-extensions/src/main/resources/xsd/linePosition.xsd
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/geo-data-extensions/src/main/resources/xsd/substationPosition.xsd b/geo-data-extensions/src/main/resources/xsd/substationPosition.xsd
deleted file mode 100644
index be044449..00000000
--- a/geo-data-extensions/src/main/resources/xsd/substationPosition.xsd
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/geo-data-extensions/src/test/java/org/gridsuite/geodata/extensions/CoordinateTest.java b/geo-data-extensions/src/test/java/org/gridsuite/geodata/extensions/CoordinateTest.java
deleted file mode 100644
index a7ebc324..00000000
--- a/geo-data-extensions/src/test/java/org/gridsuite/geodata/extensions/CoordinateTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Copyright (c) 2019, RTE (http://www.rte-france.com)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-package org.gridsuite.geodata.extensions;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * @author Chamseddine Benhamed
- */
-public class CoordinateTest {
-
- @Test
- public void test() {
- Coordinate coordinate = new Coordinate(1, 2);
- assertEquals(1, coordinate.getLat(), 0);
- assertEquals(2, coordinate.getLon(), 0);
-
- Coordinate coordinate1 = new Coordinate(1, 2);
-
- assertNotSame(coordinate, coordinate1);
-
- Coordinate coordinate2 = new Coordinate(coordinate);
- assertEquals(coordinate.getLat(), coordinate2.getLat(), 0);
- assertEquals(coordinate.getLon(), coordinate2.getLon(), 0);
-
- Coordinate coordinate3 = new Coordinate();
- coordinate3.setLat(1);
- coordinate3.setLon(2);
- assertEquals(1, coordinate3.getLat(), 0);
- assertEquals(2, coordinate3.getLon(), 0);
- }
-
- @Test
- public void testTestEquals() {
- Coordinate oneTwo = new Coordinate(1, 2);
- Coordinate oneTwoBis = new Coordinate(1, 2);
- Coordinate oneOne = new Coordinate(1, 1);
- Coordinate twoTwo = new Coordinate(2, 2);
- assertEquals(oneTwo, oneTwo);
- assertEquals(oneTwo, oneTwoBis);
- assertNotEquals(oneTwo, twoTwo);
- assertNotEquals(oneTwo, oneOne);
- assertNotEquals(oneTwo, null);
- }
-}
diff --git a/geo-data-extensions/src/test/java/org/gridsuite/geodata/extensions/GLTestUtils.java b/geo-data-extensions/src/test/java/org/gridsuite/geodata/extensions/GLTestUtils.java
deleted file mode 100644
index e181a6ef..00000000
--- a/geo-data-extensions/src/test/java/org/gridsuite/geodata/extensions/GLTestUtils.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * Copyright (c) 2019, RTE (http://www.rte-france.com)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-package org.gridsuite.geodata.extensions;
-
-import com.powsybl.iidm.network.*;
-import org.joda.time.DateTime;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- *
- * @author Massimo Ferraro
- */
-public final class GLTestUtils {
-
- public static final Coordinate SUBSTATION_1 = new Coordinate(51.380348205566406, 0.5492960214614868);
- public static final Coordinate SUBSTATION_2 = new Coordinate(52.00010299682617, 0.30759671330451965);
- public static final Coordinate LINE_1 = new Coordinate(51.529258728027344, 0.5132722854614258);
- public static final Coordinate LINE_2 = new Coordinate(51.944923400878906, 0.4120868146419525);
-
- private GLTestUtils() {
- }
-
- public static Network getNetwork() {
- Network network = Network.create("Network", "test");
- network.setCaseDate(DateTime.parse("2018-01-01T00:30:00.000+01:00"));
- Substation substation1 = network.newSubstation()
- .setId("Substation1")
- .setCountry(Country.FR)
- .add();
- VoltageLevel voltageLevel1 = substation1.newVoltageLevel()
- .setId("VoltageLevel1")
- .setNominalV(400)
- .setTopologyKind(TopologyKind.BUS_BREAKER)
- .add();
- voltageLevel1.getBusBreakerView().newBus()
- .setId("Bus1")
- .add();
- Substation substation2 = network.newSubstation()
- .setId("Substation2")
- .setCountry(Country.FR)
- .add();
- VoltageLevel voltageLevel2 = substation2.newVoltageLevel()
- .setId("VoltageLevel2")
- .setNominalV(400)
- .setTopologyKind(TopologyKind.BUS_BREAKER)
- .add();
- voltageLevel2.getBusBreakerView().newBus()
- .setId("Bus2")
- .add();
- network.newLine()
- .setId("Line")
- .setVoltageLevel1(voltageLevel1.getId())
- .setBus1("Bus1")
- .setConnectableBus1("Bus1")
- .setVoltageLevel2(voltageLevel2.getId())
- .setBus2("Bus2")
- .setConnectableBus2("Bus2")
- .setR(3.0)
- .setX(33.0)
- .setG1(0.0)
- .setB1(386E-6 / 2)
- .setG2(0.0)
- .setB2(386E-6 / 2)
- .add();
- return network;
- }
-
- public static void checkNetwork(Network network) {
- Substation substation1 = network.getSubstation("Substation1");
- SubstationPosition substation1Position = substation1.getExtension(SubstationPosition.class);
- assertEquals(SUBSTATION_1.getLat(), substation1Position.getCoordinate().getLat(), 0);
- assertEquals(SUBSTATION_1.getLon(), substation1Position.getCoordinate().getLon(), 0);
-
- Substation substation2 = network.getSubstation("Substation2");
- SubstationPosition substation2Position = substation2.getExtension(SubstationPosition.class);
- assertEquals(SUBSTATION_2.getLat(), substation2Position.getCoordinate().getLat(), 0);
- assertEquals(SUBSTATION_2.getLon(), substation2Position.getCoordinate().getLon(), 0);
-
- Line line = network.getLine("Line");
- LinePosition linePosition = line.getExtension(LinePosition.class);
- assertEquals(SUBSTATION_1.getLat(), linePosition.getCoordinates().get(0).getLat(), 0);
- assertEquals(SUBSTATION_1.getLon(), linePosition.getCoordinates().get(0).getLon(), 0);
-
- assertEquals(LINE_1.getLat(), linePosition.getCoordinates().get(1).getLat(), 0);
- assertEquals(LINE_1.getLon(), linePosition.getCoordinates().get(1).getLon(), 0);
-
- assertEquals(LINE_2.getLat(), linePosition.getCoordinates().get(2).getLat(), 0);
- assertEquals(LINE_2.getLon(), linePosition.getCoordinates().get(2).getLon(), 0);
-
- assertEquals(SUBSTATION_2.getLat(), linePosition.getCoordinates().get(3).getLat(), 0);
- assertEquals(SUBSTATION_2.getLon(), linePosition.getCoordinates().get(3).getLon(), 0);
- }
-}
diff --git a/geo-data-extensions/src/test/java/org/gridsuite/geodata/extensions/PositionTest.java b/geo-data-extensions/src/test/java/org/gridsuite/geodata/extensions/PositionTest.java
deleted file mode 100644
index f8d08cb4..00000000
--- a/geo-data-extensions/src/test/java/org/gridsuite/geodata/extensions/PositionTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2019, RTE (http://www.rte-france.com)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-package org.gridsuite.geodata.extensions;
-
-import com.google.common.collect.ImmutableList;
-import com.powsybl.commons.AbstractConverterTest;
-import com.powsybl.iidm.network.Line;
-import com.powsybl.iidm.network.Network;
-import com.powsybl.iidm.network.Substation;
-import com.powsybl.iidm.xml.NetworkXml;
-import org.junit.Test;
-
-import java.io.IOException;
-
-import static org.gridsuite.geodata.extensions.GLTestUtils.*;
-
-/**
- *
- * @author Massimo Ferraro
- */
-public class PositionTest extends AbstractConverterTest {
-
- @Test
- public void test() throws IOException {
- Network network = GLTestUtils.getNetwork();
- Substation substation1 = network.getSubstation("Substation1");
- SubstationPosition substationPosition1 = new SubstationPosition(substation1, SUBSTATION_1);
- substation1.addExtension(SubstationPosition.class, substationPosition1);
-
- Substation substation2 = network.getSubstation("Substation2");
- SubstationPosition substationPosition2 = new SubstationPosition(substation2, SUBSTATION_2);
- substation2.addExtension(SubstationPosition.class, substationPosition2);
-
- Line line = network.getLine("Line");
- line.addExtension(LinePosition.class, new LinePosition<>(line, ImmutableList.of(SUBSTATION_1, LINE_1, LINE_2, SUBSTATION_2)));
-
- Network network2 = roundTripXmlTest(network,
- NetworkXml::writeAndValidate,
- NetworkXml::read,
- "/network.xml");
-
- GLTestUtils.checkNetwork(network2);
- }
-}
diff --git a/geo-data-extensions/src/test/resources/network.xml b/geo-data-extensions/src/test/resources/network.xml
deleted file mode 100644
index d454e224..00000000
--- a/geo-data-extensions/src/test/resources/network.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/geo-data-server/pom.xml b/geo-data-server/pom.xml
index 53e919a9..ab7b1745 100755
--- a/geo-data-server/pom.xml
+++ b/geo-data-server/pom.xml
@@ -84,11 +84,6 @@
com.powsybl
powsybl-ws-commons
-
- org.gridsuite
- gridsuite-geo-data-extensions
- ${project.version}
-
org.springframework.boot
spring-boot-starter-data-jpa
diff --git a/geo-data-server/src/main/java/org/gridsuite/geodata/server/GeoDataApplication.java b/geo-data-server/src/main/java/org/gridsuite/geodata/server/GeoDataApplication.java
index ff468968..fc4cc503 100755
--- a/geo-data-server/src/main/java/org/gridsuite/geodata/server/GeoDataApplication.java
+++ b/geo-data-server/src/main/java/org/gridsuite/geodata/server/GeoDataApplication.java
@@ -6,9 +6,16 @@
*/
package org.gridsuite.geodata.server;
+import com.powsybl.iidm.network.extensions.Coordinate;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import com.fasterxml.jackson.databind.node.*;
+import org.springframework.boot.jackson.*;
+import com.fasterxml.jackson.databind.*;
+import com.fasterxml.jackson.core.*;
+import java.io.IOException;
+
/**
* @author Chamseddine Benhamed
*/
@@ -19,4 +26,31 @@ public class GeoDataApplication {
public static void main(String[] args) {
SpringApplication.run(GeoDataApplication.class, args);
}
+
+ //TODO to remove, Coordinate in powsybl-core doesn't have a default constructor
+ //Also coordinate in powsybl-core has longitude/latitude, whereas our coordinate class
+ //used to have lat/lon; so accept both for now
+ @JsonComponent
+ public static class CoordinateJsonComponent extends JsonDeserializer {
+
+ @Override
+ public Coordinate deserialize(JsonParser jsonParser,
+ DeserializationContext deserializationContext)
+ throws IOException {
+ TreeNode treeNode = jsonParser.getCodec().readTree(jsonParser);
+ if (treeNode != null) {
+ DoubleNode latitude = (DoubleNode) treeNode.get("lat");
+ DoubleNode longitude = (DoubleNode) treeNode.get("lon");
+ if (latitude != null && longitude != null) {
+ return new Coordinate(latitude.doubleValue(), longitude.doubleValue());
+ }
+ latitude = (DoubleNode) treeNode.get("latitude");
+ longitude = (DoubleNode) treeNode.get("longitude");
+ if (latitude != null && longitude != null) {
+ return new Coordinate(latitude.doubleValue(), longitude.doubleValue());
+ }
+ }
+ return null;
+ }
+ }
}
diff --git a/geo-data-server/src/main/java/org/gridsuite/geodata/server/GeoDataService.java b/geo-data-server/src/main/java/org/gridsuite/geodata/server/GeoDataService.java
index ed7b1a8c..c853fa27 100755
--- a/geo-data-server/src/main/java/org/gridsuite/geodata/server/GeoDataService.java
+++ b/geo-data-server/src/main/java/org/gridsuite/geodata/server/GeoDataService.java
@@ -8,8 +8,8 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import org.gridsuite.geodata.extensions.Coordinate;
-import org.gridsuite.geodata.extensions.SubstationPosition;
+import com.powsybl.iidm.network.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.SubstationPosition;
import org.gridsuite.geodata.server.dto.LineGeoData;
import org.gridsuite.geodata.server.dto.SubstationGeoData;
import org.gridsuite.geodata.server.repositories.*;
@@ -178,13 +178,13 @@ private static SubstationGeoData calculateCentroidGeoData(Substation substation,
Coordinate coordinate = null;
if (neighboursGeoData.size() > 1) {
// centroid calculation
- double lat = neighboursGeoData.stream().mapToDouble(n -> n.getCoordinate().getLat()).average().orElseThrow(IllegalStateException::new);
- double lon = neighboursGeoData.stream().mapToDouble(n -> n.getCoordinate().getLon()).average().orElseThrow(IllegalStateException::new);
+ double lat = neighboursGeoData.stream().mapToDouble(n -> n.getCoordinate().getLatitude()).average().orElseThrow(IllegalStateException::new);
+ double lon = neighboursGeoData.stream().mapToDouble(n -> n.getCoordinate().getLongitude()).average().orElseThrow(IllegalStateException::new);
coordinate = new Coordinate(lat, lon);
} else if (neighboursGeoData.size() == 1 && step == Step.TWO) {
// centroid calculation
- double lat = neighboursGeoData.get(0).getCoordinate().getLat() - 0.002; // 1° correspond à 111KM
- double lon = neighboursGeoData.get(0).getCoordinate().getLon() - 0.007; // 1° correspond à 111.11 cos(1) = 60KM
+ double lat = neighboursGeoData.get(0).getCoordinate().getLatitude() - 0.002; // 1° correspond à 111KM
+ double lon = neighboursGeoData.get(0).getCoordinate().getLongitude() - 0.007; // 1° correspond à 111.11 cos(1) = 60KM
coordinate = new Coordinate(lat, lon);
}
diff --git a/geo-data-server/src/main/java/org/gridsuite/geodata/server/dto/LineGeoData.java b/geo-data-server/src/main/java/org/gridsuite/geodata/server/dto/LineGeoData.java
index 8e7a431d..35e4e60f 100755
--- a/geo-data-server/src/main/java/org/gridsuite/geodata/server/dto/LineGeoData.java
+++ b/geo-data-server/src/main/java/org/gridsuite/geodata/server/dto/LineGeoData.java
@@ -6,7 +6,7 @@
*/
package org.gridsuite.geodata.server.dto;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import com.powsybl.iidm.network.Country;
import lombok.*;
diff --git a/geo-data-server/src/main/java/org/gridsuite/geodata/server/dto/SubstationGeoData.java b/geo-data-server/src/main/java/org/gridsuite/geodata/server/dto/SubstationGeoData.java
index 7d5bdaa6..13f55bfc 100755
--- a/geo-data-server/src/main/java/org/gridsuite/geodata/server/dto/SubstationGeoData.java
+++ b/geo-data-server/src/main/java/org/gridsuite/geodata/server/dto/SubstationGeoData.java
@@ -6,7 +6,7 @@
*/
package org.gridsuite.geodata.server.dto;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import com.powsybl.iidm.network.Country;
import lombok.*;
diff --git a/geo-data-server/src/main/java/org/gridsuite/geodata/server/repositories/CoordinateEmbeddable.java b/geo-data-server/src/main/java/org/gridsuite/geodata/server/repositories/CoordinateEmbeddable.java
index bf2510a6..76a94954 100644
--- a/geo-data-server/src/main/java/org/gridsuite/geodata/server/repositories/CoordinateEmbeddable.java
+++ b/geo-data-server/src/main/java/org/gridsuite/geodata/server/repositories/CoordinateEmbeddable.java
@@ -7,7 +7,7 @@
package org.gridsuite.geodata.server.repositories;
import lombok.*;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@@ -34,8 +34,8 @@ public class CoordinateEmbeddable {
static List create(List coordinates) {
return coordinates.stream()
.map(p -> CoordinateEmbeddable.builder()
- .lat(p.getLat())
- .lon(p.getLon())
+ .lat(p.getLatitude())
+ .lon(p.getLongitude())
.build())
.collect(Collectors.toList());
}
diff --git a/geo-data-server/src/main/java/org/gridsuite/geodata/server/repositories/SubstationEntity.java b/geo-data-server/src/main/java/org/gridsuite/geodata/server/repositories/SubstationEntity.java
index cb070968..e0c3e05e 100644
--- a/geo-data-server/src/main/java/org/gridsuite/geodata/server/repositories/SubstationEntity.java
+++ b/geo-data-server/src/main/java/org/gridsuite/geodata/server/repositories/SubstationEntity.java
@@ -7,7 +7,7 @@
package org.gridsuite.geodata.server.repositories;
import lombok.NoArgsConstructor;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import org.gridsuite.geodata.server.dto.SubstationGeoData;
import com.powsybl.iidm.network.Country;
import lombok.AllArgsConstructor;
@@ -49,8 +49,8 @@ public static SubstationEntity create(SubstationGeoData s) {
.country(s.getCountry().toString())
.id(s.getId())
.coordinate(CoordinateEmbeddable.builder()
- .lat(s.getCoordinate().getLat())
- .lon(s.getCoordinate().getLon())
+ .lat(s.getCoordinate().getLatitude())
+ .lon(s.getCoordinate().getLongitude())
.build())
.build();
}
diff --git a/geo-data-server/src/test/java/org/gridsuite/geodata/server/GeoDataControllerTest.java b/geo-data-server/src/test/java/org/gridsuite/geodata/server/GeoDataControllerTest.java
index d167b4a6..f4b7affb 100644
--- a/geo-data-server/src/test/java/org/gridsuite/geodata/server/GeoDataControllerTest.java
+++ b/geo-data-server/src/test/java/org/gridsuite/geodata/server/GeoDataControllerTest.java
@@ -10,7 +10,7 @@
import com.powsybl.iidm.network.Country;
import com.powsybl.iidm.network.test.EurostagTutorialExample1Factory;
import com.powsybl.network.store.client.NetworkStoreService;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import org.gridsuite.geodata.server.dto.LineGeoData;
import org.gridsuite.geodata.server.dto.SubstationGeoData;
import org.gridsuite.geodata.server.repositories.LineRepository;
diff --git a/geo-data-server/src/test/java/org/gridsuite/geodata/server/GeoDataServiceTest.java b/geo-data-server/src/test/java/org/gridsuite/geodata/server/GeoDataServiceTest.java
index f0e23e40..7b3783cd 100644
--- a/geo-data-server/src/test/java/org/gridsuite/geodata/server/GeoDataServiceTest.java
+++ b/geo-data-server/src/test/java/org/gridsuite/geodata/server/GeoDataServiceTest.java
@@ -9,7 +9,7 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableList;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import org.gridsuite.geodata.server.dto.LineGeoData;
import org.gridsuite.geodata.server.dto.SubstationGeoData;
import org.gridsuite.geodata.server.repositories.*;
@@ -127,8 +127,8 @@ public void test() {
List substationsGeoData = geoDataService.getSubstations(network, new HashSet<>(Collections.singletonList(Country.FR)));
assertEquals(4, substationsGeoData.size());
- assertEquals(2, substationsGeoData.stream().filter(s -> s.getId().equals("P4")).collect(Collectors.toList()).get(0).getCoordinate().getLat(), 0);
- assertEquals(3, substationsGeoData.stream().filter(s -> s.getId().equals("P4")).collect(Collectors.toList()).get(0).getCoordinate().getLon(), 0);
+ assertEquals(2, substationsGeoData.stream().filter(s -> s.getId().equals("P4")).collect(Collectors.toList()).get(0).getCoordinate().getLatitude(), 0);
+ assertEquals(3, substationsGeoData.stream().filter(s -> s.getId().equals("P4")).collect(Collectors.toList()).get(0).getCoordinate().getLongitude(), 0);
List linesGeoData = geoDataService.getLines(network, new HashSet<>(List.of(Country.FR)));
@@ -146,11 +146,11 @@ public void test() {
List substationsGeoData2 = geoDataService.getSubstations(network, new HashSet<>(ImmutableList.of(Country.FR, Country.BE)));
assertEquals(5, substationsGeoData2.size());
- assertEquals(2, substationsGeoData2.stream().filter(s -> s.getId().equals("P4")).collect(Collectors.toList()).get(0).getCoordinate().getLat(), 0);
- assertEquals(3, substationsGeoData2.stream().filter(s -> s.getId().equals("P4")).collect(Collectors.toList()).get(0).getCoordinate().getLon(), 0);
+ assertEquals(2, substationsGeoData2.stream().filter(s -> s.getId().equals("P4")).collect(Collectors.toList()).get(0).getCoordinate().getLatitude(), 0);
+ assertEquals(3, substationsGeoData2.stream().filter(s -> s.getId().equals("P4")).collect(Collectors.toList()).get(0).getCoordinate().getLongitude(), 0);
- assertEquals(2, substationsGeoData2.stream().filter(s -> s.getId().equals("P5")).collect(Collectors.toList()).get(0).getCoordinate().getLat(), 0);
- assertEquals(1, substationsGeoData2.stream().filter(s -> s.getId().equals("P5")).collect(Collectors.toList()).get(0).getCoordinate().getLon(), 0);
+ assertEquals(2, substationsGeoData2.stream().filter(s -> s.getId().equals("P5")).collect(Collectors.toList()).get(0).getCoordinate().getLatitude(), 0);
+ assertEquals(1, substationsGeoData2.stream().filter(s -> s.getId().equals("P5")).collect(Collectors.toList()).get(0).getCoordinate().getLongitude(), 0);
}
@Test
diff --git a/geo-data-server/src/test/java/org/gridsuite/geodata/server/dto/LineGeoDataTest.java b/geo-data-server/src/test/java/org/gridsuite/geodata/server/dto/LineGeoDataTest.java
index c19cc21a..1d8b16db 100644
--- a/geo-data-server/src/test/java/org/gridsuite/geodata/server/dto/LineGeoDataTest.java
+++ b/geo-data-server/src/test/java/org/gridsuite/geodata/server/dto/LineGeoDataTest.java
@@ -6,7 +6,7 @@
*/
package org.gridsuite.geodata.server.dto;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import com.powsybl.iidm.network.Country;
import org.junit.Test;
diff --git a/geo-data-server/src/test/java/org/gridsuite/geodata/server/dto/SubstationGeoDataTest.java b/geo-data-server/src/test/java/org/gridsuite/geodata/server/dto/SubstationGeoDataTest.java
index 22abb48d..93040e1a 100644
--- a/geo-data-server/src/test/java/org/gridsuite/geodata/server/dto/SubstationGeoDataTest.java
+++ b/geo-data-server/src/test/java/org/gridsuite/geodata/server/dto/SubstationGeoDataTest.java
@@ -6,7 +6,7 @@
*/
package org.gridsuite.geodata.server.dto;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import com.powsybl.iidm.network.Country;
import org.junit.Test;
@@ -23,8 +23,8 @@ public void test() {
assertEquals("id", substationGeoData.getId());
assertEquals(Country.FR, substationGeoData.getCountry());
- assertEquals(1, substationGeoData.getCoordinate().getLat(), 0);
- assertEquals(1, substationGeoData.getCoordinate().getLon(), 0);
+ assertEquals(1, substationGeoData.getCoordinate().getLatitude(), 0);
+ assertEquals(1, substationGeoData.getCoordinate().getLongitude(), 0);
SubstationGeoData.SubstationGeoDataBuilder substationGeoDataBuilder = SubstationGeoData.builder();
substationGeoDataBuilder.id("testID");
diff --git a/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/CoordinateEntityTest.java b/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/CoordinateEntityTest.java
index 5a28d9d7..1c78e6dd 100644
--- a/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/CoordinateEntityTest.java
+++ b/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/CoordinateEntityTest.java
@@ -6,7 +6,7 @@
*/
package org.gridsuite.geodata.server.repositories;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import org.junit.Test;
import java.util.Arrays;
diff --git a/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/LineRepositoryTest.java b/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/LineRepositoryTest.java
index 9e37f583..fdb99b4e 100644
--- a/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/LineRepositoryTest.java
+++ b/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/LineRepositoryTest.java
@@ -9,7 +9,7 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.powsybl.iidm.network.Country;
-import org.gridsuite.geodata.extensions.Coordinate;
+import com.powsybl.iidm.network.extensions.Coordinate;
import org.gridsuite.geodata.server.GeoDataApplication;
import org.gridsuite.geodata.server.dto.LineGeoData;
import org.junit.Before;
@@ -49,8 +49,8 @@ public void setUp() {
@Test
public void test() throws JsonProcessingException {
List coordinateEntities = new ArrayList<>();
- coordinateEntities.add(Coordinate.builder().lat(11).lon(12).build());
- coordinateEntities.add(Coordinate.builder().lat(13).lon(14.1).build());
+ coordinateEntities.add(new Coordinate(11, 12));
+ coordinateEntities.add(new Coordinate(13, 14.1));
LineEntity.LineEntityBuilder lineEntityBuilder = LineEntity.builder();
lineEntityBuilder.country("FR")
@@ -61,7 +61,7 @@ public void test() throws JsonProcessingException {
.substationEnd("way")
.coordinates(objectMapper.writeValueAsString(coordinateEntities));
- assertEquals("LineEntity.LineEntityBuilder(country=FR, id=lineID, side1=false, otherCountry=BE, substationStart$value=sub, substationEnd$value=way, coordinates=[{\"lat\":11.0,\"lon\":12.0},{\"lat\":13.0,\"lon\":14.1}])", lineEntityBuilder.toString());
+ assertEquals("LineEntity.LineEntityBuilder(country=FR, id=lineID, side1=false, otherCountry=BE, substationStart$value=sub, substationEnd$value=way, coordinates=[{\"latitude\":11.0,\"longitude\":12.0},{\"latitude\":13.0,\"longitude\":14.1}])", lineEntityBuilder.toString());
repository.save(lineEntityBuilder.build());
List lines = repository.findAll();
diff --git a/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/SubstationRepositoryTest.java b/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/SubstationRepositoryTest.java
index 9f9dc54b..1ce6b21a 100644
--- a/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/SubstationRepositoryTest.java
+++ b/geo-data-server/src/test/java/org/gridsuite/geodata/server/repositories/SubstationRepositoryTest.java
@@ -71,8 +71,8 @@ public void test() {
SubstationGeoData substationGeoData = substations.get(0).toGeoData();
- assertEquals(3, substationGeoData.getCoordinate().getLat(), 0);
- assertEquals(2, substationGeoData.getCoordinate().getLon(), 0);
+ assertEquals(3, substationGeoData.getCoordinate().getLatitude(), 0);
+ assertEquals(2, substationGeoData.getCoordinate().getLongitude(), 0);
assertEquals("FR", substations.get(0).getCountry());
assertEquals("ID", substations.get(0).getId());
diff --git a/pom.xml b/pom.xml
index 5e330415..238a7e1d 100755
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,6 @@
geo-data-distribution
geo-data-server
- geo-data-extensions