1 package org.onap.ccsdk.features.sdnr.wt.devicemanager.base.netconf.wrapperc;
5 import javax.annotation.Nullable;
7 import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.netconf.container.Capabilities;
8 import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.netconf.util.GenericTransactionUtils;
9 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
10 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
11 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.InstanceList;
12 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.InstanceListKey;
13 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.instance.list.PortDsList;
14 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.port.ds.entry.PortIdentity;
15 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
16 import org.slf4j.Logger;
17 import org.slf4j.LoggerFactory;
20 * Reading PTP specific information from networkelement and creating log-trace output.
24 @SuppressWarnings("deprecation")
25 public class WrapperPTPModelRev170208 {
27 private static final Logger LOG = LoggerFactory.getLogger(WrapperPTPModelRev170208.class);
29 protected static final InstanceIdentifier<InstanceList> PTPINSTANCES_IID = InstanceIdentifier
30 .builder(InstanceList.class, new InstanceListKey(1)).build();
33 * Query synchronization information out of NE
36 public static void initSynchronizationExtension(String mountPointNodeName, DataBroker netconfNodeDataBroker,
37 Capabilities capabilities) {
39 if (!capabilities.isSupportingNamespaceAndRevision(InstanceList.QNAME)) {
40 LOG.debug("Mountpoint {} does not support PTP", mountPointNodeName);
42 StringBuffer sb = new StringBuffer();
44 sb.append(mountPointNodeName);
45 sb.append(" does support synchronisation.\n");
46 InstanceList ptpInstance = readPTPClockInstances(netconfNodeDataBroker);
47 if (ptpInstance != null) {
48 List<PortDsList> dsList = ptpInstance.getPortDsList();
51 for (PortDsList portDs : ptpInstance.getPortDsList()) {
52 PortIdentity portId = portDs.getPortIdentity();
55 sb.append(portId.getPortNumber());
56 sb.append("]{ ClockId: ");
57 sb.append(portId.getClockIdentity());
58 sb.append(", Portstate: ");
59 sb.append(portDs.getPortState());
62 sb.append("Incomplete port #" + t + ", ");
67 sb.append("dsList contains null");
70 sb.append("ptpInstance equals null");
72 LOG.trace(sb.toString());
74 } catch (Exception e) {
75 LOG.info("Inconsistent synchronisation structure: " + e.getMessage());
80 private static InstanceList readPTPClockInstances(DataBroker netconfNodeDataBroker) {
81 return GenericTransactionUtils.readData(netconfNodeDataBroker, LogicalDatastoreType.OPERATIONAL,