Skip to content

Commit 205e97c

Browse files
authored
Merge pull request #166 from com-pas/labels_to_ext_manager
Extended the Extension Managers with methods for Labels.
2 parents 87922f4 + f22f880 commit 205e97c

File tree

24 files changed

+259
-84
lines changed

24 files changed

+259
-84
lines changed

scl-extension/src/main/java/org/lfenergy/compas/scl/extensions/commons/CompasExtensionsField.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
* For a description of the fields, see the XSD.
99
*/
1010
public enum CompasExtensionsField {
11-
SCL_NAME_EXTENSION("SclName"),
12-
SCL_FILETYPE_EXTENSION("SclFileType"),
11+
SCL_NAME("SclName"),
12+
SCL_FILE_TYPE("SclFileType"),
13+
LABELS("Labels"),
1314
FLOW("Flow"),
1415
CONNECTIVITY_NODE("ConnectivityNode"),
1516
BAY("Bay"),

scl-extension/src/test/java/org/lfenergy/compas/scl/extensions/commons/AbstractCompasExtensionsManagerTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,23 @@
1111
import java.util.List;
1212

1313
import static org.junit.jupiter.api.Assertions.*;
14-
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_NAME_EXTENSION;
14+
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_NAME;
1515

1616
class AbstractCompasExtensionsManagerTest {
1717
private AbstractCompasExtensionsManager manager = new AbstractCompasExtensionsManager() {
1818
};
1919

2020
@Test
2121
void getCompasElement_WhenNullPassedAsList_ThenEmptyOptionalReturned() {
22-
var result = manager.getCompasElement(null, SCL_NAME_EXTENSION);
22+
var result = manager.getCompasElement(null, SCL_NAME);
2323

2424
assertFalse(result.isPresent());
2525
}
2626

2727
@Test
2828
void getCompasElement_WhenCalledWithListContainingSclName_ThenSclNameReturned() {
2929
var elements = createElements(true);
30-
var result = manager.getCompasElement(elements, SCL_NAME_EXTENSION);
30+
var result = manager.getCompasElement(elements, SCL_NAME);
3131

3232
assertTrue(result.isPresent());
3333
assertEquals("project", result.get().getValue());
@@ -36,22 +36,22 @@ void getCompasElement_WhenCalledWithListContainingSclName_ThenSclNameReturned()
3636
@Test
3737
void getCompasElement_WhenCalledWithListNotContainingSclName_ThenEmptyOptionalReturned() {
3838
var elements = createElements(false);
39-
var result = manager.getCompasElement(elements, SCL_NAME_EXTENSION);
39+
var result = manager.getCompasElement(elements, SCL_NAME);
4040

4141
assertFalse(result.isPresent());
4242
}
4343

4444
@Test
4545
void getCompasValue_WhenNullPassedAsList_ThenEmptyOptionalReturned() {
46-
var result = manager.getCompasValue(null, SCL_NAME_EXTENSION, String.class);
46+
var result = manager.getCompasValue(null, SCL_NAME, String.class);
4747

4848
assertFalse(result.isPresent());
4949
}
5050

5151
@Test
5252
void getCompasValue_WhenCalledWithListContainingSclName_ThenSclNameReturned() {
5353
var elements = createElements(true);
54-
var result = manager.getCompasValue(elements, SCL_NAME_EXTENSION, String.class);
54+
var result = manager.getCompasValue(elements, SCL_NAME, String.class);
5555

5656
assertTrue(result.isPresent());
5757
assertEquals("project", result.get());
@@ -60,7 +60,7 @@ void getCompasValue_WhenCalledWithListContainingSclName_ThenSclNameReturned() {
6060
@Test
6161
void getCompasValue_WhenCalledWithListNotContainingSclName_ThenEmptyOptionalReturned() {
6262
var elements = createElements(false);
63-
var result = manager.getCompasValue(elements, SCL_NAME_EXTENSION, String.class);
63+
var result = manager.getCompasValue(elements, SCL_NAME, String.class);
6464

6565
assertFalse(result.isPresent());
6666
}
@@ -69,7 +69,7 @@ private List<Object> createElements(boolean withSclName) {
6969
var elements = new ArrayList<>();
7070

7171
if (withSclName) {
72-
var qname = new QName(CompasExtensionsConstants.COMPAS_EXTENSION_NS_URI, SCL_NAME_EXTENSION.getFieldName());
72+
var qname = new QName(CompasExtensionsConstants.COMPAS_EXTENSION_NS_URI, SCL_NAME.getFieldName());
7373
var jaxbElement = new JAXBElement<>(qname, String.class, "project");
7474
elements.add(jaxbElement);
7575
}

scl-extension/src/test/java/org/lfenergy/compas/scl/extensions/commons/CompasExtensionsFieldTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
import org.junit.jupiter.api.Test;
77

88
import static org.junit.jupiter.api.Assertions.assertEquals;
9-
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_FILETYPE_EXTENSION;
10-
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_NAME_EXTENSION;
9+
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.*;
1110

1211
class CompasExtensionsFieldTest {
1312
@Test
1413
void enum_WhenRetrievingTheFieldName_ThenTheCorrectStringIsReturned() {
15-
assertEquals("SclName", SCL_NAME_EXTENSION.getFieldName());
16-
assertEquals("SclFileType", SCL_FILETYPE_EXTENSION.getFieldName());
14+
assertEquals("SclName", SCL_NAME.getFieldName());
15+
assertEquals("SclFileType", SCL_FILE_TYPE.getFieldName());
16+
assertEquals("Labels", LABELS.getFieldName());
1717
}
1818
}

scl2003/src/main/java/org/lfenergy/compas/scl2003/commons/CompasExtensionsManager.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
import org.lfenergy.compas.scl.extensions.commons.AbstractCompasExtensionsManager;
77
import org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField;
88
import org.lfenergy.compas.scl.extensions.model.SclFileType;
9+
import org.lfenergy.compas.scl.extensions.model.TCompasLabels;
910
import org.lfenergy.compas.scl2003.model.SCL;
1011
import org.lfenergy.compas.scl2003.model.TPrivate;
1112

1213
import javax.xml.bind.JAXBElement;
1314
import java.util.Optional;
1415

1516
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsConstants.COMPAS_SCL_EXTENSION_TYPE;
16-
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_FILETYPE_EXTENSION;
17-
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_NAME_EXTENSION;
17+
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.*;
1818

1919
public class CompasExtensionsManager extends AbstractCompasExtensionsManager {
2020
public Optional<TPrivate> getCompasPrivate(SCL scl) {
@@ -27,12 +27,16 @@ public Optional<TPrivate> getCompasPrivate(SCL scl) {
2727
return Optional.empty();
2828
}
2929

30-
public Optional<String> getCompasSclName(TPrivate compasPrivate) {
31-
return getCompasValue(compasPrivate, SCL_NAME_EXTENSION, String.class);
30+
public Optional<TCompasLabels> getCompasLabels(TPrivate compasPrivate) {
31+
return getCompasValue(compasPrivate, LABELS, TCompasLabels.class);
3232
}
3333

3434
public Optional<SclFileType> getCompasSclFileType(TPrivate compasPrivate) {
35-
return getCompasValue(compasPrivate, SCL_FILETYPE_EXTENSION, SclFileType.class);
35+
return getCompasValue(compasPrivate, SCL_FILE_TYPE, SclFileType.class);
36+
}
37+
38+
public Optional<String> getCompasSclName(TPrivate compasPrivate) {
39+
return getCompasValue(compasPrivate, SCL_NAME, String.class);
3640
}
3741

3842
private <T> Optional<T> getCompasValue(TPrivate compasPrivate, CompasExtensionsField field, Class<T> clazz) {

scl2003/src/test/java/org/lfenergy/compas/scl2003/commons/CompasExtensionsManagerTest.java

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88

99
import static org.junit.jupiter.api.Assertions.*;
1010
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsConstants.COMPAS_SCL_EXTENSION_TYPE;
11-
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_FILETYPE_EXTENSION;
12-
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_NAME_EXTENSION;
11+
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_FILE_TYPE;
12+
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_NAME;
1313
import static org.lfenergy.compas.scl2003.util.ReadTestFile.readSCL;
1414

1515
class CompasExtensionsManagerTest {
@@ -44,7 +44,7 @@ void getCompasPrivate_WhenCalledWithoutPrivate_ThenNoCompasPrivateReturned() {
4444

4545
@Test
4646
void getCompasElement_WhenCalledNullPassed_ThenNoNameReturned() {
47-
var compasElement = manager.getCompasElement(null, SCL_NAME_EXTENSION);
47+
var compasElement = manager.getCompasElement(null, SCL_NAME);
4848

4949
assertFalse(compasElement.isPresent());
5050
}
@@ -55,7 +55,7 @@ void getCompasElement_WhenCalledWithoutSclName_ThenNoSclNameReturned() {
5555

5656
var compasPrivate = manager.getCompasPrivate(scl);
5757
compasPrivate.ifPresentOrElse(tPrivate -> {
58-
var compasElement = manager.getCompasElement(tPrivate, SCL_NAME_EXTENSION);
58+
var compasElement = manager.getCompasElement(tPrivate, SCL_NAME);
5959

6060
assertFalse(compasElement.isPresent());
6161
}, () -> fail(COMPAS_PRIVATE_NOT_FOUND));
@@ -67,7 +67,7 @@ void getCompasElement_WhenCalledWithSclName_ThenSclNameReturned() {
6767

6868
var compasPrivate = manager.getCompasPrivate(scl);
6969
compasPrivate.ifPresentOrElse(tPrivate -> {
70-
var compasElement = manager.getCompasElement(tPrivate, SCL_NAME_EXTENSION);
70+
var compasElement = manager.getCompasElement(tPrivate, SCL_NAME);
7171

7272
assertTrue(compasElement.isPresent());
7373
assertEquals("project", compasElement.get().getValue().toString());
@@ -80,7 +80,7 @@ void getCompasElement_WhenCalledWithoutFileType_ThenNoFileTypeReturned() {
8080

8181
var compasPrivate = manager.getCompasPrivate(scl);
8282
compasPrivate.ifPresentOrElse(tPrivate -> {
83-
var compasElement = manager.getCompasElement(tPrivate, SCL_FILETYPE_EXTENSION);
83+
var compasElement = manager.getCompasElement(tPrivate, SCL_FILE_TYPE);
8484

8585
assertFalse(compasElement.isPresent());
8686
}, () -> fail(COMPAS_PRIVATE_NOT_FOUND));
@@ -92,7 +92,7 @@ void getCompasElement_WhenCalledWithFileType_ThenFileTypeReturned() {
9292

9393
var compasPrivate = manager.getCompasPrivate(scl);
9494
compasPrivate.ifPresentOrElse(tPrivate -> {
95-
var compasElement = manager.getCompasElement(tPrivate, SCL_FILETYPE_EXTENSION);
95+
var compasElement = manager.getCompasElement(tPrivate, SCL_FILE_TYPE);
9696

9797
assertTrue(compasElement.isPresent());
9898
assertEquals(SclFileType.CID, compasElement.get().getValue());
@@ -163,6 +163,38 @@ void getCompasSclFileType_WhenCalledWithoutType_ThenNoTypeReturned() {
163163
}, () -> fail(COMPAS_PRIVATE_NOT_FOUND));
164164
}
165165

166+
@Test
167+
void getCompasLabels_WhenCalledNullPassed_ThenNoLabelsReturned() {
168+
var value = manager.getCompasLabels(null);
169+
170+
assertFalse(value.isPresent());
171+
}
172+
173+
@Test
174+
void getCompasLabels_WhenCalledWithLabels_ThenLabelsReturned() {
175+
var scl = readSCL("scl_with_compas_private.scd");
176+
var compasPrivate = manager.getCompasPrivate(scl);
177+
178+
compasPrivate.ifPresentOrElse(tPrivate -> {
179+
var labels = manager.getCompasLabels(tPrivate);
180+
181+
assertTrue(labels.isPresent());
182+
assertEquals("Label1", labels.get().getLabel().get(0));
183+
}, () -> fail(COMPAS_PRIVATE_NOT_FOUND));
184+
}
185+
186+
@Test
187+
void getCompasLabels_WhenCalledWithoutLabels_ThenNoLabelsReturned() {
188+
var scl = readSCL("scl_without_labels_compas_private.scd");
189+
190+
var compasPrivate = manager.getCompasPrivate(scl);
191+
compasPrivate.ifPresentOrElse(tPrivate -> {
192+
var labels = manager.getCompasLabels(tPrivate);
193+
194+
assertFalse(labels.isPresent());
195+
}, () -> fail(COMPAS_PRIVATE_NOT_FOUND));
196+
}
197+
166198
@Test
167199
void createCompasPrivate_WhenCalled_ThenNewCompasPrivateReturned() {
168200
var compasPrivate = manager.createCompasPrivate();
Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
<!-- SPDX-FileCopyrightText: 2021 Alliander N.V. -->
22
<!-- -->
33
<!-- SPDX-License-Identifier: Apache-2.0 -->
4-
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:ns2="https://www.lfenergy.org/compas/extension/v1">
4+
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:compas="https://www.lfenergy.org/compas/extension/v1">
55
<Private type="compas-scl">
6-
<ns2:SclName>project</ns2:SclName>
7-
<ns2:SclFileType>CID</ns2:SclFileType>
6+
<compas:SclName>project</compas:SclName>
7+
<compas:SclFileType>CID</compas:SclFileType>
8+
<compas:Labels>
9+
<compas:Label>Label1</compas:Label>
10+
</compas:Labels>
811
</Private>
912
<Header id="370e5d89-df3a-4d9b-a651-3dc5cb28bee1" version="1.0.0"/>
1013
</SCL>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!-- SPDX-FileCopyrightText: 2021 Alliander N.V. -->
22
<!-- -->
33
<!-- SPDX-License-Identifier: Apache-2.0 -->
4-
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:ns2="https://www.lfenergy.org/compas/extension/v1">
4+
<SCL xmlns="http://www.iec.ch/61850/2003/SCL">
55
<Header id="370e5d89-df3a-4d9b-a651-3dc5cb28bee1" version="1.0.0"/>
66
</SCL>
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
<!-- SPDX-FileCopyrightText: 2021 Alliander N.V. -->
22
<!-- -->
33
<!-- SPDX-License-Identifier: Apache-2.0 -->
4-
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:ns2="https://www.lfenergy.org/compas/extension/v1">
4+
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:compas="https://www.lfenergy.org/compas/extension/v1">
55
<Private type="compas-scl">
6-
<ns2:SclName>project</ns2:SclName>
6+
<compas:SclName>project</compas:SclName>
7+
<compas:Labels>
8+
<compas:Label>Label1</compas:Label>
9+
</compas:Labels>
710
</Private>
811
<Header id="370e5d89-df3a-4d9b-a651-3dc5cb28bee1" version="1.0.0"/>
912
</SCL>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!-- SPDX-FileCopyrightText: 2021 Alliander N.V. -->
2+
<!-- -->
3+
<!-- SPDX-License-Identifier: Apache-2.0 -->
4+
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:compas="https://www.lfenergy.org/compas/extension/v1">
5+
<Private type="compas-scl">
6+
<compas:SclName>project</compas:SclName>
7+
<compas:SclFileType>CID</compas:SclFileType>
8+
</Private>
9+
<Header id="370e5d89-df3a-4d9b-a651-3dc5cb28bee1" version="1.0.0"/>
10+
</SCL>
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
<!-- SPDX-FileCopyrightText: 2021 Alliander N.V. -->
22
<!-- -->
33
<!-- SPDX-License-Identifier: Apache-2.0 -->
4-
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:ns2="https://www.lfenergy.org/compas/extension/v1">
4+
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:compas="https://www.lfenergy.org/compas/extension/v1">
55
<Private type="compas-scl">
6-
<ns2:SclFileType>CID</ns2:SclFileType>
6+
<compas:SclFileType>CID</compas:SclFileType>
7+
<compas:Labels>
8+
<compas:Label>Label1</compas:Label>
9+
</compas:Labels>
710
</Private>
811
<Header id="370e5d89-df3a-4d9b-a651-3dc5cb28bee1" version="1.0.0"/>
912
</SCL>

scl2007b/src/main/java/org/lfenergy/compas/scl2007b/commons/CompasExtensionsManager.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
import org.lfenergy.compas.scl.extensions.commons.AbstractCompasExtensionsManager;
77
import org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField;
88
import org.lfenergy.compas.scl.extensions.model.SclFileType;
9+
import org.lfenergy.compas.scl.extensions.model.TCompasLabels;
910
import org.lfenergy.compas.scl2007b.model.SCL;
1011
import org.lfenergy.compas.scl2007b.model.TPrivate;
1112

1213
import javax.xml.bind.JAXBElement;
1314
import java.util.Optional;
1415

1516
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsConstants.COMPAS_SCL_EXTENSION_TYPE;
16-
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_FILETYPE_EXTENSION;
17-
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.SCL_NAME_EXTENSION;
17+
import static org.lfenergy.compas.scl.extensions.commons.CompasExtensionsField.*;
1818

1919
public class CompasExtensionsManager extends AbstractCompasExtensionsManager {
2020
public Optional<TPrivate> getCompasPrivate(SCL scl) {
@@ -34,12 +34,16 @@ private <T> Optional<T> getCompasValue(TPrivate compasPrivate, CompasExtensionsF
3434
return Optional.empty();
3535
}
3636

37+
public Optional<SclFileType> getCompasSclFileType(TPrivate compasPrivate) {
38+
return getCompasValue(compasPrivate, SCL_FILE_TYPE, SclFileType.class);
39+
}
40+
3741
public Optional<String> getCompasSclName(TPrivate compasPrivate) {
38-
return getCompasValue(compasPrivate, SCL_NAME_EXTENSION, String.class);
42+
return getCompasValue(compasPrivate, SCL_NAME, String.class);
3943
}
4044

41-
public Optional<SclFileType> getCompasSclFileType(TPrivate compasPrivate) {
42-
return getCompasValue(compasPrivate, SCL_FILETYPE_EXTENSION, SclFileType.class);
45+
public Optional<TCompasLabels> getCompasLabels(TPrivate compasPrivate) {
46+
return getCompasValue(compasPrivate, LABELS, TCompasLabels.class);
4347
}
4448

4549
public TPrivate createCompasPrivate() {

0 commit comments

Comments
 (0)