+ // Add state to link. Based on the operational state of the TPs at the edge of the link.
+ // Similar to getting srcTp and destTp
+ State srcTpState = nodes.get(i).augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang
+ .ietf.network.topology.rev180226.Node1.class).getTerminationPoint().values().stream()
+ .filter(tp -> tp.getTpId().getValue().contains("CP") || tp.getTpId().getValue().contains("CTP"))
+ .findFirst().get().augmentation(org.opendaylight.yang.gen.v1.http
+ .org.openroadm.common.network.rev200529.TerminationPoint1.class).getOperationalState();
+ State destTpState = nodes.get(j).augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang
+ .ietf.network.topology.rev180226.Node1.class).getTerminationPoint().values().stream()
+ .filter(tp -> tp.getTpId().getValue().contains("CP") || tp.getTpId().getValue().contains("CTP"))
+ .findFirst().get().augmentation(org.opendaylight.yang.gen.v1.http
+ .org.openroadm.common.network.rev200529.TerminationPoint1.class).getOperationalState();
+ if (State.InService.equals(srcTpState) && State.InService.equals(destTpState)) {
+ ocnAzLinkBldr.setAdministrativeState(AdminStates.InService)
+ .setOperationalState(State.InService);
+ ocnZaLinkBldr.setAdministrativeState(AdminStates.InService)
+ .setOperationalState(State.InService);
+ } else {
+ ocnAzLinkBldr.setAdministrativeState(AdminStates.OutOfService)
+ .setOperationalState(State.OutOfService);
+ ocnZaLinkBldr.setAdministrativeState(AdminStates.OutOfService)
+ .setOperationalState(State.OutOfService);
+ }