Skip to content

Commit 2fec318

Browse files
committed
feat(#436): Add ConnectedAPService and SubnetworkService
Signed-off-by: gleizesDor <[email protected]>
1 parent d7f8a85 commit 2fec318

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// SPDX-FileCopyrightText: 2023 RTE FRANCE
2+
//
3+
// SPDX-License-Identifier: Apache-2.0
4+
5+
package org.lfenergy.compas.sct.commons;
6+
7+
import org.lfenergy.compas.scl2007b4.model.TConnectedAP;
8+
import org.lfenergy.compas.scl2007b4.model.TSubNetwork;
9+
10+
import java.util.Optional;
11+
import java.util.function.Predicate;
12+
import java.util.stream.Stream;
13+
14+
public class ConnectedAPService {
15+
16+
public Stream<TConnectedAP> getConnectedAP(TSubNetwork tSubNetwork) {
17+
if (!tSubNetwork.isSetConnectedAP()) {
18+
return Stream.empty();
19+
}
20+
return tSubNetwork.getConnectedAP().stream();
21+
}
22+
23+
public Stream<TConnectedAP> getFilteredConnectedAP(TSubNetwork tSubNetwork, Predicate<TConnectedAP> tConnectedAPPredicate) {
24+
return getConnectedAP(tSubNetwork).filter(tConnectedAPPredicate);
25+
}
26+
27+
public Optional<TConnectedAP> findConnectedAP(TSubNetwork tSubNetwork, Predicate<TConnectedAP> tConnectedAPPredicate) {
28+
return getFilteredConnectedAP(tSubNetwork, tConnectedAPPredicate).findFirst();
29+
}
30+
31+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// SPDX-FileCopyrightText: 2023 RTE FRANCE
2+
//
3+
// SPDX-License-Identifier: Apache-2.0
4+
5+
package org.lfenergy.compas.sct.commons;
6+
7+
import org.lfenergy.compas.scl2007b4.model.TSubNetwork;
8+
import org.lfenergy.compas.scl2007b4.model.SCL;
9+
10+
import java.util.Optional;
11+
import java.util.function.Predicate;
12+
import java.util.stream.Stream;
13+
14+
public class SubNetworkService {
15+
16+
public Stream<TSubNetwork> getSubNetworks(SCL scl) {
17+
if (!scl.isSetCommunication()) {
18+
return Stream.empty();
19+
}
20+
if (!scl.getCommunication().isSetSubNetwork()) {
21+
return Stream.empty();
22+
}
23+
return scl.getCommunication().getSubNetwork().stream();
24+
}
25+
26+
public Stream<TSubNetwork> getFilteredSubNetworks(SCL tlNodeType, Predicate<TSubNetwork> tdoPredicate) {
27+
return getSubNetworks(tlNodeType).filter(tdoPredicate);
28+
}
29+
30+
public Optional<TSubNetwork> findSubNetwork(SCL tlNodeType, Predicate<TSubNetwork> tdoPredicate) {
31+
return getFilteredSubNetworks(tlNodeType, tdoPredicate).findFirst();
32+
}
33+
34+
}

0 commit comments

Comments
 (0)