Skip to content

Commit 0cec0ea

Browse files
author
Dennis Labordus
authored
Merge pull request #116 from com-pas/develop
New release
2 parents 57abfdb + 8e963d5 commit 0cec0ea

File tree

12 files changed

+39
-103
lines changed

12 files changed

+39
-103
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,4 @@ environment variables that can be set in the container to configure the validati
8686
| JWT_GROUPS_PATH | smallrye.jwt.path.groups | The JSON Path where to find the roles of the user. | resource_access/cim-mapping/roles |
8787

8888
There are no roles defined in this service, only need to be authenticated.
89+

app/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ SPDX-License-Identifier: Apache-2.0
1818
<packaging>jar</packaging>
1919

2020
<properties>
21-
<quarkus.platform.version>2.2.3.Final</quarkus.platform.version>
21+
<quarkus.platform.version>2.3.0.Final</quarkus.platform.version>
2222

2323
<quarkus.container-image.group>lfenergycompas</quarkus.container-image.group>
2424
<quarkus.container-image.name>compas-cim-mapping</quarkus.container-image.name>

app/src/main/java/org/lfenergy/compas/cim/mapping/rest/CompasCimMappingConfiguration.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,13 @@
44
package org.lfenergy.compas.cim.mapping.rest;
55

66
import org.lfenergy.compas.cim.mapping.mapper.CimToSclMapper;
7-
import org.lfenergy.compas.core.commons.ElementConverter;
87

98
import javax.enterprise.inject.Produces;
109

1110
/**
1211
* Create Beans from other dependencies that are used in the application.
1312
*/
1413
public class CompasCimMappingConfiguration {
15-
@Produces
16-
public ElementConverter createElementConverter() {
17-
return new ElementConverter();
18-
}
19-
2014
@Produces
2115
public CimToSclMapper createCimToSclMapper() {
2216
return CimToSclMapper.INSTANCE;

app/src/main/java/org/lfenergy/compas/cim/mapping/rest/v1/model/MapResponse.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-FileCopyrightText: 2021 Alliander N.V.
22
//
33
// SPDX-License-Identifier: Apache-2.0
4-
54
package org.lfenergy.compas.cim.mapping.rest.v1.model;
65

76
import org.eclipse.microprofile.openapi.annotations.media.Schema;

app/src/test/java/org/lfenergy/compas/cim/mapping/rest/CompasCimMappingConfigurationTest.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@
1010
class CompasCimMappingConfigurationTest {
1111
private CompasCimMappingConfiguration configuration = new CompasCimMappingConfiguration();
1212

13-
@Test
14-
void createElementConverter_WhenCalled_ThenObjectReturned() {
15-
assertNotNull(configuration.createElementConverter());
16-
}
17-
1813
@Test
1914
void createCimToSclMapper_WhenCalled_ThenObjectReturned() {
2015
assertNotNull(configuration.createCimToSclMapper());

app/src/test/java/org/lfenergy/compas/cim/mapping/rest/v1/CompasCimMappingResourceTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import org.lfenergy.compas.cim.mapping.model.CimData;
1515
import org.lfenergy.compas.cim.mapping.rest.v1.model.MapRequest;
1616
import org.lfenergy.compas.cim.mapping.service.CompasCimMappingService;
17-
import org.lfenergy.compas.core.commons.ElementConverter;
1817
import org.lfenergy.compas.scl2007b4.model.SCL;
1918

2019
import java.io.IOException;
@@ -27,7 +26,8 @@
2726
import static java.util.Objects.requireNonNull;
2827
import static org.junit.jupiter.api.Assertions.assertEquals;
2928
import static org.junit.jupiter.api.Assertions.assertNotNull;
30-
import static org.lfenergy.compas.cim.mapping.CimMappingConstants.*;
29+
import static org.lfenergy.compas.cim.mapping.CimMappingConstants.CIM_MAPPING_SERVICE_V1_NS_URI;
30+
import static org.lfenergy.compas.cim.mapping.CimMappingConstants.SCL_NS_URI;
3131
import static org.mockito.Mockito.*;
3232

3333
@QuarkusTest
@@ -43,10 +43,9 @@ class CompasCimMappingResourceTest {
4343

4444
@Test
4545
void mapCimToScl_WhenCalled_ThenCorrectMessageIsRetrieved() throws IOException {
46-
var converter = new ElementConverter();
4746
var cimDate = new CimData();
4847
cimDate.setName("MiniGridTestConfiguration_BC_EQ_v3.0.0.xml");
49-
cimDate.setRdf(List.of(converter.convertToElement(readFile(), "RDF", RDF_NS_URI)));
48+
cimDate.setRdfData(readFile());
5049
var request = new MapRequest();
5150
request.setCimData(List.of(cimDate));
5251

pom.xml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ SPDX-License-Identifier: Apache-2.0
2626

2727
<compas.core.version>0.5.0</compas.core.version>
2828
<jakarta-cdi-api.version>2.0.2</jakarta-cdi-api.version>
29+
<apache.commons-io.version>2.11.0</apache.commons-io.version>
2930
<slf4j.version>1.7.32</slf4j.version>
3031
<powsybl.version>4.4.0</powsybl.version>
3132
<mapstruct.version>1.4.2.Final</mapstruct.version>
3233

3334
<!-- Test -->
34-
<junit-jupiter.version>5.7.2</junit-jupiter.version>
35-
<mockito-junit-jupiter.version>3.12.4</mockito-junit-jupiter.version>
35+
<junit-jupiter.version>5.8.1</junit-jupiter.version>
36+
<mockito-junit-jupiter.version>4.0.0</mockito-junit-jupiter.version>
3637
<openpojo.version>0.9.1</openpojo.version>
3738
</properties>
3839

@@ -70,11 +71,6 @@ SPDX-License-Identifier: Apache-2.0
7071
<artifactId>scl2007b4</artifactId>
7172
<version>${compas.core.version}</version>
7273
</dependency>
73-
<dependency>
74-
<groupId>org.lfenergy.compas.core</groupId>
75-
<artifactId>commons</artifactId>
76-
<version>${compas.core.version}</version>
77-
</dependency>
7874
<dependency>
7975
<groupId>org.lfenergy.compas.core</groupId>
8076
<artifactId>jaxrs-commons</artifactId>
@@ -98,6 +94,12 @@ SPDX-License-Identifier: Apache-2.0
9894
<version>${mapstruct.version}</version>
9995
</dependency>
10096

97+
<dependency>
98+
<groupId>commons-io</groupId>
99+
<artifactId>commons-io</artifactId>
100+
<version>${apache.commons-io.version}</version>
101+
</dependency>
102+
101103
<dependency>
102104
<groupId>jakarta.enterprise</groupId>
103105
<artifactId>jakarta.enterprise.cdi-api</artifactId>
@@ -183,7 +185,7 @@ SPDX-License-Identifier: Apache-2.0
183185
<plugin>
184186
<groupId>org.jboss.jandex</groupId>
185187
<artifactId>jandex-maven-plugin</artifactId>
186-
<version>1.1.1</version>
188+
<version>1.2.1</version>
187189
<executions>
188190
<execution>
189191
<id>make-index</id>

service/pom.xml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@ SPDX-License-Identifier: Apache-2.0
2222
<groupId>org.lfenergy.compas.core</groupId>
2323
<artifactId>scl2007b4</artifactId>
2424
</dependency>
25-
<dependency>
26-
<groupId>org.lfenergy.compas.core</groupId>
27-
<artifactId>commons</artifactId>
28-
</dependency>
2925

3026
<dependency>
3127
<groupId>com.powsybl</groupId>
@@ -41,6 +37,11 @@ SPDX-License-Identifier: Apache-2.0
4137
<artifactId>mapstruct</artifactId>
4238
</dependency>
4339

40+
<dependency>
41+
<groupId>commons-io</groupId>
42+
<artifactId>commons-io</artifactId>
43+
</dependency>
44+
4445
<dependency>
4546
<groupId>jakarta.enterprise</groupId>
4647
<artifactId>jakarta.enterprise.cdi-api</artifactId>

service/src/main/java/org/lfenergy/compas/cim/mapping/cgmes/CgmesCimReader.java

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,14 @@
77
import com.powsybl.cgmes.model.CgmesModelFactory;
88
import com.powsybl.commons.datasource.ReadOnlyMemDataSource;
99
import com.powsybl.triplestore.api.TripleStoreFactory;
10+
import org.apache.commons.io.input.ReaderInputStream;
1011
import org.lfenergy.compas.cim.mapping.model.CimData;
11-
import org.lfenergy.compas.core.commons.ElementConverter;
1212
import org.slf4j.Logger;
1313
import org.slf4j.LoggerFactory;
1414

1515
import javax.enterprise.context.ApplicationScoped;
16-
import javax.inject.Inject;
17-
import java.io.ByteArrayInputStream;
1816
import java.io.InputStream;
17+
import java.io.StringReader;
1918
import java.nio.charset.StandardCharsets;
2019
import java.util.List;
2120
import java.util.Map;
@@ -28,13 +27,6 @@
2827
public class CgmesCimReader {
2928
private static final Logger LOGGER = LoggerFactory.getLogger(CgmesCimReader.class);
3029

31-
private final ElementConverter converter;
32-
33-
@Inject
34-
public CgmesCimReader(ElementConverter converter) {
35-
this.converter = converter;
36-
}
37-
3830
/**
3931
* Use PowSyBl to convert a CIM XML InputStream to the PowSyBl Cgmes Model.
4032
* Multiple InputStream Objects can be passed if needed.
@@ -55,14 +47,11 @@ public CgmesModel readModel(List<CimData> cimData) {
5547

5648
Map<String, InputStream> convertCimDataToMap(List<CimData> cimData) {
5749
return cimData.stream()
58-
.filter(cimRecord -> cimRecord.getRdf() != null && cimRecord.getRdf().size() == 1)
5950
.collect(
6051
Collectors.toMap(
6152
CimData::getName,
62-
cimRecord -> {
63-
var xml = converter.convertToString(cimRecord.getRdf().get(0), false);
64-
return new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8));
65-
})
53+
cimRecord -> new ReaderInputStream(
54+
new StringReader(cimRecord.getRdfData()), StandardCharsets.UTF_8))
6655
);
6756
}
6857
}

service/src/main/java/org/lfenergy/compas/cim/mapping/model/CimData.java

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,14 @@
55

66
import org.eclipse.microprofile.openapi.annotations.media.Schema;
77
import org.lfenergy.compas.cim.mapping.constraint.CimDataNamePattern;
8-
import org.lfenergy.compas.core.commons.constraint.XmlAnyElementValid;
9-
import org.w3c.dom.Element;
108

119
import javax.validation.constraints.NotBlank;
12-
import javax.validation.constraints.Size;
13-
import javax.xml.bind.annotation.*;
14-
import java.util.ArrayList;
15-
import java.util.List;
10+
import javax.xml.bind.annotation.XmlAccessType;
11+
import javax.xml.bind.annotation.XmlAccessorType;
12+
import javax.xml.bind.annotation.XmlElement;
13+
import javax.xml.bind.annotation.XmlType;
1614

1715
import static org.lfenergy.compas.cim.mapping.CimMappingConstants.CIM_MAPPING_SERVICE_V1_NS_URI;
18-
import static org.lfenergy.compas.cim.mapping.CimMappingConstants.RDF_NS_URI;
1916

2017
/**
2118
* Simple Pojo Class to hold a source entry of Cim XML. PowSyBl needs to have a (file)name and of
@@ -30,11 +27,10 @@ public class CimData {
3027
@XmlElement(name = "Name", namespace = CIM_MAPPING_SERVICE_V1_NS_URI, required = true)
3128
private String name;
3229

33-
@Size(min = 1, max = 1, message = "{org.lfenergy.compas.XmlAnyElementValid.moreElements.message}")
34-
@XmlAnyElementValid(elementName = "RDF", elementNamespace = RDF_NS_URI)
35-
@Schema(example = "RDF XML...", implementation = String.class)
36-
@XmlAnyElement
37-
protected List<Element> rdf = new ArrayList<>();
30+
@NotBlank
31+
@XmlElement(name = "RdfData", namespace = CIM_MAPPING_SERVICE_V1_NS_URI, required = true)
32+
@Schema(example = "RDF XML", implementation = String.class)
33+
private String rdfData;
3834

3935
public String getName() {
4036
return name;
@@ -44,11 +40,11 @@ public void setName(String name) {
4440
this.name = name;
4541
}
4642

47-
public List<Element> getRdf() {
48-
return rdf;
43+
public String getRdfData() {
44+
return rdfData;
4945
}
5046

51-
public void setRdf(List<Element> rdf) {
52-
this.rdf = rdf;
47+
public void setRdfData(String rdfData) {
48+
this.rdfData = rdfData;
5349
}
5450
}

service/src/test/java/org/lfenergy/compas/cim/mapping/cgmes/CgmesCimReaderTest.java

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
import org.junit.jupiter.api.Test;
77
import org.junit.jupiter.api.extension.ExtendWith;
88
import org.lfenergy.compas.cim.mapping.model.CimData;
9-
import org.lfenergy.compas.core.commons.ElementConverter;
109
import org.mockito.InjectMocks;
11-
import org.mockito.Mock;
1210
import org.mockito.junit.jupiter.MockitoExtension;
1311

1412
import java.io.IOException;
@@ -19,29 +17,22 @@
1917

2018
import static java.util.Objects.requireNonNull;
2119
import static org.junit.jupiter.api.Assertions.assertEquals;
22-
import static org.mockito.Mockito.*;
2320

2421
@ExtendWith(MockitoExtension.class)
2522
class CgmesCimReaderTest {
26-
@Mock
27-
private ElementConverter converter;
28-
2923
@InjectMocks
3024
private CgmesCimReader cgmesCimReader;
3125

3226
@Test
3327
void readModel_WhenReadingCimModel_ThenCgmesModelReturnedWithSubstations() throws IOException {
3428
var cimData = new CimData();
3529
cimData.setName("MiniGridTestConfiguration_BC_EQ_v3.0.0.xml");
36-
cimData.getRdf().add(null); // Fake added an Element, will be fixed bij mocking below.
30+
cimData.setRdfData(readFile());
3731
var cimDataList = List.of(cimData);
3832

39-
when(converter.convertToString(any(), eq(false))).thenReturn(readFile());
40-
4133
var result = cgmesCimReader.readModel(cimDataList);
4234

4335
assertEquals(5, result.substations().size());
44-
verifyNoMoreInteractions(converter);
4536
}
4637

4738
@Test
@@ -51,34 +42,6 @@ void readModel_WhenReadingWithoutCimModel_ThenCgmesModelReturnedWithoutSubstatio
5142
var result = cgmesCimReader.readModel(cimDataList);
5243

5344
assertEquals(0, result.substations().size());
54-
verifyNoMoreInteractions(converter);
55-
}
56-
57-
@Test
58-
void readModel_WhenReadingWithoutRdfElement_ThenCgmesModelReturnedWithoutSubstations() {
59-
var cimData = new CimData();
60-
cimData.setName("MiniGridTestConfiguration_BC_EQ_v3.0.0.xml");
61-
cimData.setRdf(null);
62-
var cimDataList = List.of(cimData);
63-
64-
var result = cgmesCimReader.readModel(cimDataList);
65-
66-
assertEquals(0, result.substations().size());
67-
verifyNoMoreInteractions(converter);
68-
}
69-
70-
@Test
71-
void readModel_WhenReadingWithTooManyRdfElement_ThenCgmesModelReturnedWithoutSubstations() {
72-
var cimData = new CimData();
73-
cimData.setName("MiniGridTestConfiguration_BC_EQ_v3.0.0.xml");
74-
cimData.getRdf().add(null); // Fake added an Element
75-
cimData.getRdf().add(null); // Fake added an Element
76-
var cimDataList = List.of(cimData);
77-
78-
var result = cgmesCimReader.readModel(cimDataList);
79-
80-
assertEquals(0, result.substations().size());
81-
verifyNoMoreInteractions(converter);
8245
}
8346

8447
private String readFile() throws IOException {

service/src/test/java/org/lfenergy/compas/cim/mapping/mapper/CimToSclMapperTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.junit.jupiter.api.extension.ExtendWith;
99
import org.lfenergy.compas.cim.mapping.cgmes.CgmesCimReader;
1010
import org.lfenergy.compas.cim.mapping.model.*;
11-
import org.lfenergy.compas.core.commons.ElementConverter;
1211
import org.lfenergy.compas.scl2007b4.model.*;
1312
import org.mapstruct.factory.Mappers;
1413
import org.mockito.Mock;
@@ -25,7 +24,6 @@
2524
import static java.util.Objects.requireNonNull;
2625
import static org.junit.jupiter.api.Assertions.*;
2726
import static org.lfenergy.compas.cim.mapping.CimMappingConstants.DC_LINE_SEGMENT_TYPE;
28-
import static org.lfenergy.compas.cim.mapping.CimMappingConstants.RDF_NS_URI;
2927
import static org.mockito.Mockito.*;
3028

3129
@ExtendWith(MockitoExtension.class)
@@ -43,11 +41,10 @@ void setup() {
4341
@Test
4442
void map_WhenWithCimData_ThenSclMapped() throws IOException {
4543
// This is an overall test to see the whole mapping working with a test CIM File.
46-
var converter = new ElementConverter();
47-
var reader = new CgmesCimReader(converter);
44+
var reader = new CgmesCimReader();
4845
var cimData = new CimData();
4946
cimData.setName("MiniGridTestConfiguration_BC_EQ_v3.0.0.xml");
50-
cimData.setRdf(List.of(converter.convertToElement(readFile(), "RDF", RDF_NS_URI)));
47+
cimData.setRdfData(readFile());
5148
var cgmesModel = reader.readModel(List.of(cimData));
5249

5350
var result = new SCL();

0 commit comments

Comments
 (0)