+ public String getSupportedInterface(String nodeId, String interf) {
+ Optional<Interface> supInterfOpt;
+ try {
+ supInterfOpt = getInterface(nodeId, interf);
+ if (supInterfOpt.isPresent()) {
+ return supInterfOpt.orElseThrow().getSupportingInterfaceList().stream().findFirst().orElseThrow();
+ } else {
+ return null;
+ }
+ } catch (OpenRoadmInterfaceException e) {
+ LOG.error("error getting Supported Interface of {} - {}", interf, nodeId, e);
+ return null;
+ }
+ }
+
+ private boolean checkIfDevicePortIsUpdatedWithInterface(String nodeId, InterfaceBuilder ifBuilder) {
+ InstanceIdentifier<Ports> portIID = InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .child(CircuitPacks.class, new CircuitPacksKey(ifBuilder.getSupportingCircuitPackName()))
+ .child(Ports.class, new PortsKey(ifBuilder.getSupportingPort()))
+ .build();
+ Ports port = deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL,
+ portIID, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT).orElseThrow();
+ if (port.getInterfaces() == null) {
+ return false;
+ }
+ for (Interfaces interf : port.getInterfaces()) {
+ if (interf.getInterfaceName().equals(ifBuilder.getName())) {
+ return true;
+ }
+ }
+ return false;
+ }