diff options
author | Ravi Pendurty <ravi.pendurty@highstreet-technologies.com> | 2022-01-31 16:34:09 +0530 |
---|---|---|
committer | Ravi Pendurty <ravi.pendurty@highstreet-technologies.com> | 2022-01-31 16:34:30 +0530 |
commit | 3eaa42a454569639597eded0df4a181ca66f45d4 (patch) | |
tree | 7091a0179c88e29f1e33f76c09bb62e07b862ba5 /sdnr/wt/netconfnode-state-service/model/src/main | |
parent | 4d62788c11ac7e3a18e5c4b3eccf5eb5896bde70 (diff) |
Enhance netconfnode-state-service bundle
Add support for new capabilities and DOM functions
Issue-ID: CCSDK-3576
Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
Change-Id: Ie7a4a4d5002dd846c4028457e19d00490f819a94
Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wt/netconfnode-state-service/model/src/main')
3 files changed, 40 insertions, 2 deletions
diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/Capabilities.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/Capabilities.java index 133868fcf..82232b2d5 100644 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/Capabilities.java +++ b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/Capabilities.java @@ -48,8 +48,9 @@ public class Capabilities { private static final Logger LOG = LoggerFactory.getLogger(Capabilities.class); private static final String UNSUPPORTED = "Unsupported"; + private static final DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + private final List<String> capabilities = new ArrayList<>(); - private final DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); private Capabilities() {} @@ -151,6 +152,25 @@ public class Capabilities { } /** + * Provide namespace and its revision as String. + * + * @param qCapability capability from the model + * @return String + */ + public static String getNamespaceAndRevisionAsString(QName qCapability) { + StringBuffer res = new StringBuffer(); + res.append(qCapability.getNamespace().toString()); + + String revisionString = getRevisionString(qCapability); + if (revisionString != null) { + res.append("?"); + res.append(revisionString); + } + + return res.toString(); + } + + /** * * @param namespace requested * @param revision request or null for any revision @@ -178,7 +198,7 @@ public class Capabilities { * @param qCapability that specifies the revision * @return String with revisiondate or null */ - private String getRevisionString(QName qCapability) { + private static String getRevisionString(QName qCapability) { Object revisionObject = qCapability.getRevision(); String revision = null; if (revisionObject instanceof Optional) { diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java index a419b3ac3..46fbbacc0 100644 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java +++ b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java @@ -19,6 +19,7 @@ package org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice; import java.util.Optional; import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; @@ -35,6 +36,12 @@ public interface NetconfAccessor { DataBroker getControllerBindingDataBroker(); /** + * @return the Controller DOMDataBroker + */ + DOMDataBroker getControllerDOMDataBroker(); + + + /** * @return the nodeId */ NodeId getNodeId(); diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfDomAccessor.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfDomAccessor.java index e78579a47..1013e37c7 100644 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfDomAccessor.java +++ b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfDomAccessor.java @@ -76,6 +76,16 @@ public interface NetconfDomAccessor extends NetconfAccessor { Optional<NormalizedNode<?, ?>> readDataNode(LogicalDatastoreType dataStoreType, YangInstanceIdentifier path); /** + * Read data from Controller node - controller-config + * + * @param dataStoreType + * @param path + * @return NormalizedNode<?, ?> with data + */ + Optional<NormalizedNode<?, ?>> readControllerDataNode(LogicalDatastoreType dataStoreType, + YangInstanceIdentifier path); + + /** * Register netconf notification listener for related mountpoint * * @param <T> specific child class of DOMNotificationListener @@ -153,4 +163,5 @@ public interface NetconfDomAccessor extends NetconfAccessor { * @return serialization object. */ BindingNormalizedNodeSerializer getBindingNormalizedNodeSerializer(); + } |