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