Skip to content

Commit c9ef2a6

Browse files
authored
Merge pull request #538 from com-pas/feat/RSR-1337_channel_short_label_q
feat(#545): RSR-1337 Use ChannelShortLabelQ in LDEPF Binding
2 parents ee69c20 + fbc1521 commit c9ef2a6

File tree

3 files changed

+25
-10
lines changed

3 files changed

+25
-10
lines changed

sct-commons/src/main/java/org/lfenergy/compas/sct/commons/ExtRefEditorService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ private void updateDaiValue(TDataTypeTemplates dtt, TIED tied, TLDevice tlDevice
369369

370370
private String getNewDaiValue(String daName, String lnPrefix, TExtRef extRef, TChannel setting) {
371371
return switch (daName) {
372-
case DU_DA_NAME -> setting.isSetChannelShortLabel() ? setting.getChannelShortLabel() : null;
372+
case DU_DA_NAME -> (LN_PREFIX_A.equals(lnPrefix) || LN_PREFIX_B.equals(lnPrefix)) ? setting.getChannelShortLabelQ() : setting.getChannelShortLabel();
373373
case SETVAL_DA_NAME -> {
374374
if (LN_PREFIX_B.equals(lnPrefix) || LN_PREFIX_A.equals(lnPrefix)) {
375375
yield setting.isSetChannelLevModQ() && !setting.getChannelLevModQ().equals(TChannelLevMod.NA) ? setting.getChannelLevModQ().value() : null;

sct-commons/src/main/resources/xsd/LDEPF.xsd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ SPDX-License-Identifier: Apache-2.0
6060
<xs:attribute name="IEDSystemVersionInstance" type="xs:string" use="optional"/>
6161
<xs:attribute name="IEDRedundancy" type="tIEDredundancy" use="optional"/>
6262
<xs:attribute name="ChannelShortLabel" type="xs:string" use="optional"/>
63+
<xs:attribute name="ChannelShortLabelQ" type="xs:string" use="optional"/>
6364
<xs:attribute name="ChannelMREP" type="tChannelMREP" use="optional"/>
6465
<xs:attribute name="ChannelLevModQ" type="tChannelLevMod" use="optional"/>
6566
<xs:attribute name="ChannelLevMod" type="tChannelLevMod" use="optional"/>

sct-commons/src/test/java/org/lfenergy/compas/sct/commons/ExtRefEditorServiceTest.java

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ void manageBindingForLDEPF_whenFlowKindIsInternalAndAllExtRefInSameBay_should_re
4848
channel.setChannelType(TChannelType.DIGITAL);
4949
channel.setChannelNum("1");
5050
channel.setChannelShortLabel("MR.PX1");
51+
channel.setChannelShortLabelQ("QUALITY OF MR.PX1");
5152
channel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
5253
channel.setChannelLevModQ(TChannelLevMod.OTHER);
5354
channel.setIEDType("BCU");
@@ -96,7 +97,7 @@ void manageBindingForLDEPF_whenFlowKindIsInternalAndAllExtRefInSameBay_should_re
9697
AbstractLNAdapter<?> lnBrbdr = findLn(scd, "IED_NAME1", "LDEPF", "RBDR", "1", "b");
9798
assertThat(getDaiValue(lnBrbdr, CHNUM1_DO_NAME, DU_DA_NAME))
9899
.isNotEqualTo("dU_old_val")
99-
.isEqualTo("MR.PX1");
100+
.isEqualTo("QUALITY OF MR.PX1");
100101
assertThat(getDaiValue(lnBrbdr, LEVMOD_DO_NAME, SETVAL_DA_NAME))
101102
.isNotEqualTo("setVal_old_val")
102103
.isEqualTo("Other");
@@ -117,6 +118,7 @@ void manageBindingForLDEPF_when_internalBindingMatchEPFChannel_should_update_suc
117118
channel.setChannelType(TChannelType.DIGITAL);
118119
channel.setChannelNum("1");
119120
channel.setChannelShortLabel("MR.PX1");
121+
channel.setChannelShortLabelQ("QUALITY OF MR.PX1");
120122
channel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
121123
channel.setChannelLevModQ(TChannelLevMod.OTHER);
122124
channel.setIEDType("BCU");
@@ -159,7 +161,7 @@ void manageBindingForLDEPF_when_internalBindingMatchEPFChannel_should_update_suc
159161
AbstractLNAdapter<?> lnBrbdr = findLn(scd, "IED_NAME1", "LDEPF", "RBDR", "1", "b");
160162
assertThat(getDaiValue(lnBrbdr, CHNUM1_DO_NAME, DU_DA_NAME))
161163
.isNotEqualTo("dU_old_val")
162-
.isEqualTo("MR.PX1");
164+
.isEqualTo("QUALITY OF MR.PX1");
163165
assertThat(getDaiValue(lnBrbdr, LEVMOD_DO_NAME, SETVAL_DA_NAME))
164166
.isNotEqualTo("setVal_old_val")
165167
.isEqualTo("Other");
@@ -180,6 +182,7 @@ void manageBindingForLDEPF_when_manyIedSourceFound_should_return_reportMassages(
180182
channel.setChannelType(TChannelType.DIGITAL);
181183
channel.setChannelNum("1");
182184
channel.setChannelShortLabel("MR.PX1");
185+
channel.setChannelShortLabelQ("QUALITY OF MR.PX1");
183186
channel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
184187
channel.setChannelLevModQ(TChannelLevMod.OTHER);
185188
channel.setIEDType("BCU");
@@ -241,6 +244,7 @@ void manageBindingForLDEPF_when_extRefMatchFlowKindInternalOrExternal_forAnalaog
241244
analogueChannel1WithBayInternalScope.setChannelType(TChannelType.ANALOG);
242245
analogueChannel1WithBayInternalScope.setChannelNum("1");
243246
analogueChannel1WithBayInternalScope.setChannelShortLabel("V0");
247+
analogueChannel1WithBayInternalScope.setChannelShortLabelQ("QUALITY OF V0");
244248
analogueChannel1WithBayInternalScope.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
245249
analogueChannel1WithBayInternalScope.setChannelLevModQ(TChannelLevMod.OTHER);
246250
analogueChannel1WithBayInternalScope.setBAPVariant("8");
@@ -262,6 +266,7 @@ void manageBindingForLDEPF_when_extRefMatchFlowKindInternalOrExternal_forAnalaog
262266
analogueChannel10WithBayExternalBayScope.setChannelType(TChannelType.ANALOG);
263267
analogueChannel10WithBayExternalBayScope.setChannelNum("10");
264268
analogueChannel10WithBayExternalBayScope.setChannelShortLabel("U101");
269+
analogueChannel10WithBayExternalBayScope.setChannelShortLabelQ("QUALITY OF U101");
265270
analogueChannel10WithBayExternalBayScope.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
266271
analogueChannel10WithBayExternalBayScope.setChannelLevModQ(TChannelLevMod.OTHER);
267272
analogueChannel10WithBayExternalBayScope.setBAPVariant("8");
@@ -331,7 +336,7 @@ void manageBindingForLDEPF_when_extRefMatchFlowKindInternalOrExternal_forAnalaog
331336
assertThat(tlDevice.getLN())
332337
.filteredOn(tln -> tln.getLnClass().contains("RBDR") && tln.getInst().equals("1") && tln.getPrefix().equals("a"))
333338
.allSatisfy(tln -> {
334-
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("V0");
339+
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("QUALITY OF V0");
335340
assertThat(getDaiValue(tln, MOD_DO_NAME, STVAL_DA_NAME)).isEqualTo("on");
336341
assertThat(getDaiValue(tln, LEVMOD_DO_NAME, SETVAL_DA_NAME)).isEqualTo("Other");
337342
assertThat(getDaiValue(tln, SRCREF_DO_NAME, SETSRCREF_DA_NAME)).isEqualTo("IED_NAME1LDTM1/U01ATVTR11.VolSv.q");
@@ -639,6 +644,7 @@ void manageBindingForLDEPF_should_bind_extRef_and_update_dai_within_radr_and_rbd
639644
digitalChannel.setChannelType(TChannelType.DIGITAL);
640645
digitalChannel.setChannelNum("1");
641646
digitalChannel.setChannelShortLabel("MR.PX1");
647+
digitalChannel.setChannelShortLabelQ("QUALITY OF MR.PX1");
642648
if(!channelLevMod.isEmpty()){
643649
digitalChannel.setChannelLevMod(TChannelLevMod.valueOf(channelLevMod));
644650
}
@@ -660,6 +666,7 @@ void manageBindingForLDEPF_should_bind_extRef_and_update_dai_within_radr_and_rbd
660666
analogChannel.setChannelType(TChannelType.ANALOG);
661667
analogChannel.setChannelNum("1");
662668
analogChannel.setChannelShortLabel("MR.PX1");
669+
analogChannel.setChannelShortLabelQ("QUALITY OF MR.PX1");
663670
if(!channelLevMod.isEmpty()){
664671
analogChannel.setChannelLevMod(TChannelLevMod.valueOf(channelLevMod));
665672
}
@@ -708,7 +715,7 @@ void manageBindingForLDEPF_should_bind_extRef_and_update_dai_within_radr_and_rbd
708715
assertThat(tlDevice.getLN())
709716
.filteredOn(tln -> tln.getLnClass().contains("RBDR") && tln.getInst().equals("1") && tln.getPrefix().equals("b"))
710717
.allSatisfy(tln -> {
711-
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("MR.PX1");
718+
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("QUALITY OF MR.PX1");
712719
assertThat(getDaiValue(tln, MOD_DO_NAME, STVAL_DA_NAME)).isEqualTo("on");
713720
assertThat(getDaiValue(tln, LEVMOD_DO_NAME, SETVAL_DA_NAME)).isEqualTo(expectedChannelLevModq);
714721
assertThat(getDaiValue(tln, SRCREF_DO_NAME, SETSRCREF_DA_NAME)).isEqualTo("IED_NAME1LDPX/PTRC0.Str.q");
@@ -727,7 +734,7 @@ void manageBindingForLDEPF_should_bind_extRef_and_update_dai_within_radr_and_rbd
727734
assertThat(tlDevice.getLN())
728735
.filteredOn(tln -> tln.getLnClass().contains("RBDR") && tln.getInst().equals("1") && tln.getPrefix().equals("a"))
729736
.allSatisfy(tln -> {
730-
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("MR.PX1");
737+
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("QUALITY OF MR.PX1");
731738
assertThat(getDaiValue(tln, MOD_DO_NAME, STVAL_DA_NAME)).isEqualTo("on");
732739
assertThat(getDaiValue(tln, LEVMOD_DO_NAME, SETVAL_DA_NAME)).isEqualTo(expectedChannelLevModq);
733740
assertThat(getDaiValue(tln, SRCREF_DO_NAME, SETSRCREF_DA_NAME)).isEqualTo("IED_NAME1LDPX/PTRC0.Str.q");
@@ -746,6 +753,7 @@ void manageBindingForLDEPF_should_return_error_report_when_missing_mandatory_pri
746753
digitalChannel.setChannelType(TChannelType.DIGITAL);
747754
digitalChannel.setChannelNum("1");
748755
digitalChannel.setChannelShortLabel("MR.PX1");
756+
digitalChannel.setChannelShortLabelQ("QUALITY OF MR.PX1");
749757
digitalChannel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
750758
digitalChannel.setChannelLevModQ(TChannelLevMod.OTHER);
751759
digitalChannel.setIEDType("BCU");
@@ -787,6 +795,7 @@ void manageBindingForLDEPF_should_return_warning_when_dai_is_not_updatable() {
787795
digitalChannel.setChannelType(TChannelType.DIGITAL);
788796
digitalChannel.setChannelNum("1");
789797
digitalChannel.setChannelShortLabel("MR.PX1");
798+
digitalChannel.setChannelShortLabelQ("QUALITY OF MR.PX1");
790799
digitalChannel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
791800
digitalChannel.setChannelLevModQ(TChannelLevMod.OTHER);
792801
digitalChannel.setIEDType("BCU");
@@ -819,6 +828,7 @@ void manageBindingForLDEPF_should_not_been_configured_when_ldepf_ln0_is_off() {
819828
digitalChannel.setChannelType(TChannelType.DIGITAL);
820829
digitalChannel.setChannelNum("1");
821830
digitalChannel.setChannelShortLabel("MR.PX1");
831+
digitalChannel.setChannelShortLabelQ("QUALITY OF MR.PX1");
822832
digitalChannel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
823833
digitalChannel.setChannelLevModQ(TChannelLevMod.OTHER);
824834
digitalChannel.setIEDType("BCU");
@@ -852,6 +862,7 @@ void manageBindingForLDEPF_should_update_binding_properties_when_internal_bindin
852862
digitalChannel.setChannelType(TChannelType.DIGITAL);
853863
digitalChannel.setChannelNum("1");
854864
digitalChannel.setChannelShortLabel("MR.PX1");
865+
digitalChannel.setChannelShortLabelQ("QUALITY OF MR.PX1");
855866
digitalChannel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
856867
digitalChannel.setChannelLevModQ(TChannelLevMod.OTHER);
857868
digitalChannel.setIEDType("BCU");
@@ -869,6 +880,7 @@ void manageBindingForLDEPF_should_update_binding_properties_when_internal_bindin
869880
analogChannel.setChannelType(TChannelType.ANALOG);
870881
analogChannel.setChannelNum("1");
871882
analogChannel.setChannelShortLabel("MR.PX1");
883+
analogChannel.setChannelShortLabelQ("QUALITY OF MR.PX1");
872884
analogChannel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
873885
analogChannel.setChannelLevModQ(TChannelLevMod.OTHER);
874886
analogChannel.setIEDType("BCU");
@@ -918,7 +930,7 @@ void manageBindingForLDEPF_should_update_binding_properties_when_internal_bindin
918930
assertThat(tlDevice.getLN())
919931
.filteredOn(tln -> tln.getLnClass().contains("RBDR") && tln.getInst().equals("1") && tln.getPrefix().equals("a"))
920932
.allSatisfy(tln -> {
921-
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("MR.PX1");
933+
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("QUALITY OF MR.PX1");
922934
assertThat(getDaiValue(tln, MOD_DO_NAME, STVAL_DA_NAME)).isEqualTo("on");
923935
assertThat(getDaiValue(tln, LEVMOD_DO_NAME, SETVAL_DA_NAME)).isEqualTo(TChannelLevMod.OTHER.value());
924936
assertThat(getDaiValue(tln, SRCREF_DO_NAME, SETSRCREF_DA_NAME)).isEqualTo("IED_NAME1LDPX/PTRC0.Str.q");
@@ -935,7 +947,7 @@ void manageBindingForLDEPF_should_update_binding_properties_when_internal_bindin
935947
assertThat(tlDevice.getLN())
936948
.filteredOn(tln -> tln.getLnClass().contains("RBDR") && tln.getInst().equals("1") && tln.getPrefix().equals("b"))
937949
.allSatisfy(tln -> {
938-
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("MR.PX1");
950+
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("QUALITY OF MR.PX1");
939951
assertThat(getDaiValue(tln, MOD_DO_NAME, STVAL_DA_NAME)).isEqualTo("on");
940952
assertThat(getDaiValue(tln, LEVMOD_DO_NAME, SETVAL_DA_NAME)).isEqualTo(TChannelLevMod.OTHER.value());
941953
assertThat(getDaiValue(tln, SRCREF_DO_NAME, SETSRCREF_DA_NAME)).isEqualTo("IED_NAME1LDPX/PTRC0.Str.q");
@@ -952,6 +964,7 @@ void manageBindingForLDEPF_should_update_binding_properties_when_external_bindin
952964
digitalChannel.setChannelType(TChannelType.DIGITAL);
953965
digitalChannel.setChannelNum("1");
954966
digitalChannel.setChannelShortLabel("MR.PX1");
967+
digitalChannel.setChannelShortLabelQ("QUALITY OF MR.PX1");
955968
digitalChannel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
956969
digitalChannel.setChannelLevModQ(TChannelLevMod.OTHER);
957970
digitalChannel.setIEDType("BCU");
@@ -969,6 +982,7 @@ void manageBindingForLDEPF_should_update_binding_properties_when_external_bindin
969982
analogChannel.setChannelType(TChannelType.ANALOG);
970983
analogChannel.setChannelNum("1");
971984
analogChannel.setChannelShortLabel("MR.PX1");
985+
analogChannel.setChannelShortLabelQ("QUALITY OF MR.PX1");
972986
analogChannel.setChannelLevMod(TChannelLevMod.POSITIVE_OR_RISING);
973987
analogChannel.setChannelLevModQ(TChannelLevMod.OTHER);
974988
analogChannel.setIEDType("BCU");
@@ -1018,7 +1032,7 @@ void manageBindingForLDEPF_should_update_binding_properties_when_external_bindin
10181032
assertThat(tlDevice.getLN())
10191033
.filteredOn(tln -> tln.getLnClass().contains("RBDR") && tln.getInst().equals("1") && tln.getPrefix().equals("a"))
10201034
.allSatisfy(tln -> {
1021-
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("MR.PX1");
1035+
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("QUALITY OF MR.PX1");
10221036
assertThat(getDaiValue(tln, MOD_DO_NAME, STVAL_DA_NAME)).isEqualTo("on");
10231037
assertThat(getDaiValue(tln, LEVMOD_DO_NAME, SETVAL_DA_NAME)).isEqualTo(TChannelLevMod.OTHER.value());
10241038
assertThat(getDaiValue(tln, SRCREF_DO_NAME, SETSRCREF_DA_NAME)).isEqualTo("IED_NAME2LDPX/PTRC0.Str.q");
@@ -1035,7 +1049,7 @@ void manageBindingForLDEPF_should_update_binding_properties_when_external_bindin
10351049
assertThat(tlDevice.getLN())
10361050
.filteredOn(tln -> tln.getLnClass().contains("RBDR") && tln.getInst().equals("1") && tln.getPrefix().equals("b"))
10371051
.allSatisfy(tln -> {
1038-
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("MR.PX1");
1052+
assertThat(getDaiValue(tln, CHNUM1_DO_NAME, DU_DA_NAME)).isEqualTo("QUALITY OF MR.PX1");
10391053
assertThat(getDaiValue(tln, MOD_DO_NAME, STVAL_DA_NAME)).isEqualTo("on");
10401054
assertThat(getDaiValue(tln, LEVMOD_DO_NAME, SETVAL_DA_NAME)).isEqualTo(TChannelLevMod.OTHER.value());
10411055
assertThat(getDaiValue(tln, SRCREF_DO_NAME, SETSRCREF_DA_NAME)).isEqualTo("IED_NAME2LDPX/PTRC0.Str.q");

0 commit comments

Comments
 (0)