Skip to content

Commit 944ab86

Browse files
authored
Merge pull request #100 from com-pas/develop
New release
2 parents 02c4787 + 540fa4e commit 944ab86

File tree

9 files changed

+38
-15
lines changed

9 files changed

+38
-15
lines changed

MAPPING.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ ProtectedSwitch.These classes are all mapped in the same way on IEC 61850
5959
| CIM Class | IEC Class | Remark |
6060
| -------------------------------- | -------------------------------- | --------- |
6161
| *cim:PowerTransformerEnd* | *TTransformerWinding* | |
62-
| name or id | name | |
62+
| name or id (PowerTransformer) + | | |
63+
| '_' + endNumber | name | |
6364
| 'PTW' | type | |
6465
| Terminal | List<TTerminal> | (1) |
6566

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The Mapping between IEC CIM and IEC 61850 is described in [Mapping](MAPPING.md).
2121
You can run your application in dev mode that enables live coding using:
2222

2323
```shell script
24-
./mvnw package io.quarkus:quarkus-maven-plugin:2.0.0.Final:dev
24+
./mvnw package io.quarkus:quarkus-maven-plugin:2.2.3.Final:dev
2525
```
2626

2727
> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.

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.2.Final</quarkus.platform.version>
21+
<quarkus.platform.version>2.2.3.Final</quarkus.platform.version>
2222
</properties>
2323

2424
<dependencyManagement>

service/src/main/java/org/lfenergy/compas/cim/mapping/mapper/CimToSclMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ protected void afterTransformerToTPowerTransformer(CgmesTransformer transformer,
150150
.forEach(tTransformerWinding -> tPowerTransformer.getTransformerWinding().add(tTransformerWinding));
151151
}
152152

153-
@Mapping(target = "name", source = "nameOrId")
153+
@Mapping(target = "name", source = "uniqueName")
154154
@Mapping(target = "type", constant = "PTW")
155155
protected abstract TTransformerWinding mapTransformerEndToTTransformerWinding(CgmesTransformerEnd transformerEnd,
156156
@Context CimToSclMapperContext context);

service/src/main/java/org/lfenergy/compas/cim/mapping/mapper/CimToSclMapperContext.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public class CimToSclMapperContext {
3030
public static final String DESCRIPTION_PROP = "description";
3131
public static final String NOMINAL_VOLTAGE_PROP = "nominalVoltage";
3232
public static final String TYPE_PROP = "type";
33+
public static final String ENDNUMBER_PROP = "endNumber";
3334
public static final String TERMINAL_1_PROP = "Terminal1";
3435
public static final String TERMINAL_2_PROP = "Terminal2";
3536

@@ -131,7 +132,8 @@ public List<CgmesTransformerEnd> getTransformerEnds(String powerTransformerId) {
131132
.map(propertyBag -> new CgmesTransformerEnd(
132133
propertyBag.getId(TRANSFORMER_END_PROP),
133134
propertyBag.get(NAME_PROP),
134-
propertyBag.getId(TERMINAL_PROP)))
135+
propertyBag.getId(TERMINAL_PROP),
136+
propertyBag.get(ENDNUMBER_PROP)))
135137
.collect(Collectors.toList());
136138
}
137139

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,16 @@
55

66
public class CgmesTransformerEnd extends AbstractCgmesEntity {
77
private String terminalId;
8+
private String endNumber;
89

9-
public CgmesTransformerEnd(String id, String name, String terminalId) {
10+
public CgmesTransformerEnd(String id, String name, String terminalId, String endNumber) {
1011
super(id, name);
1112
this.terminalId = terminalId;
13+
this.endNumber = endNumber;
14+
}
15+
16+
public String getUniqueName() {
17+
return getNameOrId() + "_" + getEndNumber();
1218
}
1319

1420
public String getTerminalId() {
@@ -18,4 +24,12 @@ public String getTerminalId() {
1824
public void setTerminalId(String terminalId) {
1925
this.terminalId = terminalId;
2026
}
27+
28+
public String getEndNumber() {
29+
return endNumber;
30+
}
31+
32+
public void setEndNumber(String endNumber) {
33+
this.endNumber = endNumber;
34+
}
2135
}

service/src/main/java/org/lfenergy/compas/cim/mapping/service/CompasCimMappingService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ public SCL map(List<CimData> cimData, String who) {
6666
* @return The created SCL Model.
6767
*/
6868
SCL createBasicSCL(List<CimData> cimData, String who) {
69-
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssXXX");
70-
ObjectFactory factory = new ObjectFactory();
69+
var formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssXXX");
70+
var factory = new ObjectFactory();
7171

7272
// Create the SCL and set some default values.
7373
var scl = factory.createSCL();
@@ -76,7 +76,7 @@ SCL createBasicSCL(List<CimData> cimData, String who) {
7676
scl.setRelease((short) 4);
7777

7878
// Create the Header and set some default values.
79-
THeader header = factory.createTHeader();
79+
var header = factory.createTHeader();
8080
header.setId(UUID.randomUUID().toString());
8181
header.setVersion(INITIAL_VERSION);
8282
header.setRevision(INITIAL_REVISION);
@@ -91,7 +91,7 @@ SCL createBasicSCL(List<CimData> cimData, String who) {
9191
item.setWho(who);
9292

9393
// Add all CIM filenames that where used to create the SCL Content.
94-
String what = "SCL created from CIM File(s)";
94+
var what = "SCL created from CIM File(s)";
9595
if (cimData != null && !cimData.isEmpty()) {
9696
what += ": " + cimData.stream()
9797
.map(CimData::getName)

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,19 +139,22 @@ void getTransformerEnds_WhenCalledWithKnownId_ThenPropertyBagsIsFilteredOnIdAndC
139139
var tfeName = "Name Tfe";
140140
var terminalId = "Known Terminal ID";
141141
var tfId = "Known Transformer ID";
142+
var endNumber = "1";
142143
var bags = new PropertyBags();
143-
var bag = new PropertyBag(List.of(TRANSFORMER_END_PROP, NAME_PROP, POWER_TRANSFORMER_PROP, TERMINAL_PROP));
144+
var bag = new PropertyBag(List.of(TRANSFORMER_END_PROP, NAME_PROP, POWER_TRANSFORMER_PROP, TERMINAL_PROP, ENDNUMBER_PROP));
144145
bag.put(TRANSFORMER_END_PROP, tfeId);
145146
bag.put(NAME_PROP, tfeName);
146147
bag.put(POWER_TRANSFORMER_PROP, tfId);
147148
bag.put(TERMINAL_PROP, terminalId);
149+
bag.put(ENDNUMBER_PROP, endNumber);
148150
bags.add(bag);
149151

150152
bag = new PropertyBag(List.of(TRANSFORMER_END_PROP, NAME_PROP, POWER_TRANSFORMER_PROP, TERMINAL_PROP));
151153
bag.put(TRANSFORMER_END_PROP, "Other ID");
152154
bag.put(NAME_PROP, "Other Name");
153155
bag.put(POWER_TRANSFORMER_PROP, "Unknown Transformer ID");
154156
bag.put(TERMINAL_PROP, "Other Terminal ID");
157+
bag.put(ENDNUMBER_PROP, "2");
155158
bags.add(bag);
156159

157160
when(cgmesModel.transformerEnds()).thenReturn(bags);
@@ -161,8 +164,10 @@ void getTransformerEnds_WhenCalledWithKnownId_ThenPropertyBagsIsFilteredOnIdAndC
161164
assertEquals(1, result.size());
162165
var ccn = result.get(0);
163166
assertEquals(tfeId, ccn.getId());
167+
assertEquals(tfeName + "_" + endNumber, ccn.getUniqueName());
164168
assertEquals(tfeName, ccn.getName());
165169
assertEquals(terminalId, ccn.getTerminalId());
170+
assertEquals(endNumber, ccn.getEndNumber());
166171
}
167172

168173
@Test

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ private void assertPowerTransformer(TPowerTransformer powerTransformer) {
127127

128128
private void assertTransformerWinding(TTransformerWinding powerTransformerEnd) {
129129
assertNotNull(powerTransformerEnd);
130-
assertEquals("T3", powerTransformerEnd.getName());
130+
assertEquals("T3_1", powerTransformerEnd.getName());
131131
assertEquals(TTransformerWindingEnum.PTW, powerTransformerEnd.getType());
132132
}
133133

@@ -241,16 +241,17 @@ void mapTransformerToTPowerTransformer_WhenCalledWithCgmesTransformer_ThenProper
241241
@Test
242242
void mapTransformerEndToTTransformerWinding_WhenCalledWithCgmesTransformerEnd_ThenPropertiesMappedToTTransformerWinding() {
243243
var expectedName = "TheName";
244+
var expectedEndNumber = "1";
244245

245-
when(cgmesTransformerEnd.getNameOrId()).thenReturn(expectedName);
246+
when(cgmesTransformerEnd.getUniqueName()).thenReturn(expectedName + "_" + expectedEndNumber);
246247

247248
var sclTransformerWinding = mapper.mapTransformerEndToTTransformerWinding(cgmesTransformerEnd, context);
248249

249250
assertNotNull(sclTransformerWinding);
250-
assertEquals(expectedName, sclTransformerWinding.getName());
251+
assertEquals(expectedName + "_" + expectedEndNumber, sclTransformerWinding.getName());
251252
assertEquals(TTransformerWindingEnum.PTW, sclTransformerWinding.getType());
252253
verify(cgmesTransformerEnd, times(1)).getId();
253-
verify(cgmesTransformerEnd, times(1)).getNameOrId();
254+
verify(cgmesTransformerEnd, times(1)).getUniqueName();
254255
verify(cgmesTransformerEnd, times(1)).getTerminalId();
255256
verifyNoMoreInteractions(cgmesTransformerEnd);
256257
}

0 commit comments

Comments
 (0)