Skip to content

Commit 68b7c0f

Browse files
committed
feat(#604): RSR-1589 - use extrefs of all ln
Signed-off-by: massifben <105049157+massifben@users.noreply.github.com>
1 parent b0d4822 commit 68b7c0f

6 files changed

Lines changed: 26 additions & 36 deletions

File tree

sct-commons/src/main/java/org/lfenergy/compas/sct/commons/dto/LNodeDTO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public static <T extends TAnyLN> LNodeDTO from(AbstractLNAdapter<T> nodeAdapter,
118118
ExtRefInfo.from(tExtRef, holderIedName, holderLDInst, lNodeDTO.nodeClass,
119119
lNodeDTO.inst, lNodeDTO.prefix
120120
))
121-
.collect(Collectors.toList())
121+
.toList()
122122
);
123123
}
124124

sct-commons/src/main/java/org/lfenergy/compas/sct/commons/scl/ExtRefService.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ public class ExtRefService {
2323
* @return Stream of ExtRefs
2424
*/
2525
public Stream<TExtRef> getExtRefs(TLDevice tlDevice) {
26-
Stream<TAnyLN> ln0Stream = tlDevice.isSetLN0() ? Stream.of(tlDevice.getLN0()) : Stream.empty();
27-
return Stream.concat(ln0Stream, tlDevice.getLN().stream())
26+
return Stream.concat(Stream.of(tlDevice.getLN0()), tlDevice.getLN().stream())
2827
.filter(TAnyLN::isSetInputs)
2928
.map(TAnyLN::getInputs)
3029
.filter(TInputs::isSetExtRef)

sct-commons/src/main/java/org/lfenergy/compas/sct/commons/scl/ied/AccessPointAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ public Optional<SclReportItem> checkLimitationForBoundIedFcdas(List<TExtRef> tEx
203203
if (!tExtRef.isSetSrcLNClass() || tExtRef.getSrcLNClass().contains(TLLN0Enum.LLN_0.value())) {
204204
abstractLNAdapter = lDeviceAdapter.getLN0Adapter();
205205
} else {
206-
abstractLNAdapter = lDeviceAdapter.getLNAdapter(tExtRef.getSrcLNClass().get(0), tExtRef.getSrcLNInst(), tExtRef.getSrcPrefix());
206+
abstractLNAdapter = lDeviceAdapter.getLNAdapter(tExtRef.getSrcLNClass().getFirst(), tExtRef.getSrcLNInst(), tExtRef.getSrcPrefix());
207207
}
208208
return abstractLNAdapter.getFCDAs(tExtRef);
209209
})

sct-commons/src/main/java/org/lfenergy/compas/sct/commons/scl/ldevice/LDeviceAdapter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,7 @@ public List<AbstractLNAdapter<?>> getLNAdaptersIncludingLN0() {
312312
* @return list of all LN of LDevice
313313
*/
314314
public Stream<AbstractLNAdapter<?>> streamLNAdaptersIncludingLN0() {
315-
Stream<LN0Adapter> ln0AdapterStream = hasLN0() ? Stream.of(getLN0Adapter()) : Stream.empty();
316-
return Stream.concat(ln0AdapterStream, streamLnAdapterStream());
315+
return Stream.concat(Stream.of(getLN0Adapter()), streamLnAdapterStream());
317316
}
318317

319318
public List<SclReportItem> createDataSetAndControlBlocks(List<org.lfenergy.compas.sct.commons.model.da_comm.TFCDA> allowedFcdas) {

sct-commons/src/main/java/org/lfenergy/compas/sct/commons/scl/ln/AbstractLNAdapter.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,11 @@ public List<TExtRef> getExtRefs(ExtRefSignalInfo filter) {
192192
.stream()
193193
.filter(tExtRef ->
194194
((filter.getDesc() == null && tExtRef.getDesc().isEmpty())
195-
|| Objects.equals(filter.getDesc(), tExtRef.getDesc())) &&
196-
Objects.equals(filter.getPDO(), tExtRef.getPDO()) &&
197-
Objects.equals(filter.getPDA(), tExtRef.getPDA()) &&
198-
Objects.equals(filter.getIntAddr(), tExtRef.getIntAddr()) &&
199-
Objects.equals(filter.getPServT(), tExtRef.getPServT()))
195+
|| Objects.equals(filter.getDesc(), tExtRef.getDesc())) &&
196+
Objects.equals(filter.getPDO(), tExtRef.getPDO()) &&
197+
Objects.equals(filter.getPDA(), tExtRef.getPDA()) &&
198+
Objects.equals(filter.getIntAddr(), tExtRef.getIntAddr()) &&
199+
Objects.equals(filter.getPServT(), tExtRef.getPServT()))
200200
.toList();
201201
}
202202

@@ -224,9 +224,9 @@ public void isExtRefExist(ExtRefSignalInfo signalInfo) {
224224
boolean extRefExist = currentElem.getInputs().getExtRef()
225225
.stream()
226226
.anyMatch(tExtRef -> Objects.equals(signalInfo.getDesc(), tExtRef.getDesc()) &&
227-
Objects.equals(tExtRef.getPDO(), signalInfo.getPDO()) &&
228-
Objects.equals(signalInfo.getIntAddr(), tExtRef.getIntAddr()) &&
229-
Objects.equals(signalInfo.getPServT(), tExtRef.getPServT()));
227+
Objects.equals(tExtRef.getPDO(), signalInfo.getPDO()) &&
228+
Objects.equals(signalInfo.getIntAddr(), tExtRef.getIntAddr()) &&
229+
Objects.equals(signalInfo.getPServT(), tExtRef.getPServT()));
230230
if (!extRefExist) {
231231
throw new ScdException("ExtRef signal does not exist in target LN");
232232
}
@@ -389,7 +389,7 @@ public <V extends TControl> List<V> getTControlsByType(Class<V> cls) {
389389
} else if (TReportControl.class.equals(cls)) {
390390
return (List<V>) currentElem.getReportControl();
391391
}
392-
throw new IllegalArgumentException("Unsupported ControlBlock "+cls.getSimpleName()+" for Lnode");
392+
throw new IllegalArgumentException("Unsupported ControlBlock " + cls.getSimpleName() + " for Lnode");
393393
}
394394

395395
/**
@@ -400,9 +400,9 @@ public <V extends TControl> List<V> getTControlsByType(Class<V> cls) {
400400
*/
401401
private boolean isCBKnown(String cbName) {
402402
return isLN0()
403-
&& (((LN0) currentElem).getGSEControl().stream().anyMatch(tgse -> tgse.getName().equals(cbName)) ||
404-
((LN0) currentElem).getSampledValueControl().stream().anyMatch(tsmv -> tsmv.getName().equals(cbName)))
405-
|| currentElem.getReportControl().stream().anyMatch(trpt -> trpt.getName().equals(cbName));
403+
&& (((LN0) currentElem).getGSEControl().stream().anyMatch(tgse -> tgse.getName().equals(cbName)) ||
404+
((LN0) currentElem).getSampledValueControl().stream().anyMatch(tsmv -> tsmv.getName().equals(cbName)))
405+
|| currentElem.getReportControl().stream().anyMatch(trpt -> trpt.getName().equals(cbName));
406406
}
407407

408408
/**
@@ -561,8 +561,8 @@ public TExtRef extractExtRefFromExtRefInfo(@NonNull ExtRefInfo extRefInfo) {
561561
/**
562562
* Returns a list of Data Attribute Reference for DataAttribute (updatable or not)
563563
*
564-
* @param dataAttributeRef Data Attribute Reference (used as filter)
565-
* @param updatableOnly true to retrieve DataTypeTemplate's related to only updatable DAI, false to retrieve all
564+
* @param dataAttributeRef Data Attribute Reference (used as filter)
565+
* @param updatableOnly true to retrieve DataTypeTemplate's related to only updatable DAI, false to retrieve all
566566
* @return List of Data Attribute Reference (updatable or not)
567567
* @throws ScdException SCD illegal arguments exception
568568
*/
@@ -802,7 +802,7 @@ public boolean matches(ObjectReference objRef) {
802802
List<DataAttributeRef> dataAttributeRefs = lNodeTypeAdapter.getDataAttributeRefs(filter);
803803

804804
return matchesDataAttributes(dataAttribute) ||
805-
dataAttributeRefs.stream().anyMatch(dataAttributeRef -> dataAttributeRef.getDataAttributes().startsWith(dataAttribute));
805+
dataAttributeRefs.stream().anyMatch(dataAttributeRef -> dataAttributeRef.getDataAttributes().startsWith(dataAttribute));
806806
}
807807

808808
/**
@@ -822,7 +822,7 @@ public InputsAdapter getInputsAdapter() {
822822
*/
823823
protected boolean matchesDataAttributes(String dataAttribute) {
824824
return currentElem.getDataSet().stream().anyMatch(tDataSet -> tDataSet.getName().equals(dataAttribute)) ||
825-
currentElem.getReportControl().stream().anyMatch(rptCtl -> rptCtl.getName().equals(dataAttribute));
825+
currentElem.getReportControl().stream().anyMatch(rptCtl -> rptCtl.getName().equals(dataAttribute));
826826
}
827827

828828
/**
@@ -840,7 +840,7 @@ public Map<Long, String> getDAIValues(DataAttributeRef dataAttributeRef) {
840840
List<TVal> tVals;
841841
IDataAdapter daiAdapter = daiTracker.getBdaiOrDaiAdapter();
842842
if (daiAdapter.getClass().equals(SDIAdapter.DAIAdapter.class)) {
843-
tVals = ((RootSDIAdapter.DAIAdapter) daiAdapter).getCurrentElem().getVal();
843+
tVals = ((SDIAdapter.DAIAdapter) daiAdapter).getCurrentElem().getVal();
844844
} else if (daiAdapter.getClass().equals(RootSDIAdapter.DAIAdapter.class)) {
845845
tVals = ((RootSDIAdapter.DAIAdapter) daiAdapter).getCurrentElem().getVal();
846846
} else {

sct-commons/src/test/java/org/lfenergy/compas/sct/commons/scl/ExtRefServiceTest.java

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,25 +47,17 @@ void getExtRefs_should_return_extRefs() {
4747
assertThat(result).hasSize(2);
4848
}
4949

50-
@ParameterizedTest
51-
@MethodSource("provideLDevices")
52-
void getExtRefs_should_return_empty_stream(TLDevice tlDevice) {
53-
//Given : parameters
50+
@Test
51+
void getExtRefs_should_return_empty_stream() {
52+
//Given
53+
TLDevice tlDevice = new TLDevice();
54+
tlDevice.setLN0(new LN0());
5455
//When
5556
Stream<TExtRef> result = extRefService.getExtRefs(tlDevice);
5657
//Then
5758
assertThat(result).isEmpty();
5859
}
5960

60-
private static Stream<Arguments> provideLDevices() {
61-
TLDevice tlDeviceWithoutLn0 = new TLDevice();
62-
tlDeviceWithoutLn0.setLN0(new LN0());
63-
return Stream.of(
64-
Arguments.of(named("LDevice without LN0 should return empty stream", tlDeviceWithoutLn0)),
65-
Arguments.of(named("LDevice with empty Inputs should return empty stream", new TLDevice()))
66-
);
67-
}
68-
6961
@Test
7062
void getFilteredExtRefs_should_succeed() {
7163
//Given

0 commit comments

Comments
 (0)