[MDSAL-817] Add binding.api.(Keyed)Instance{Identifier,Wildcard}-using methods Created: 13/Mar/23  Updated: 18/Jan/24

Status: In Review
Project: mdsal
Component/s: Binding API
Affects Version/s: None
Fix Version/s: 14.0.0, 13.0.1

Type: Improvement Priority: Medium
Reporter: Robert Varga Assignee: Robert Varga
Resolution: Unresolved Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
relates to MDSAL-815 Add binding.api.(Keyed)Instance{Ident... Confirmed

 Description   

A number of places in mdsal-binding-api are using yang.binding.InstanceIdentifier. With MDSAL-815 we have replacement constructs, which better model the intent of the user.

Services in the following manner:

  • ReadOperations: new read()/exists() methods which take binding.api.InstanceIdentifier
  • WriteOperations: new put()/merge()/delete() etc. methods which take binding.api.InstanceIdentifier
  • DataTreeChangeService: two new registerDataTreeChangeListener() methods, one which takes binding.api.InstanceIdentifier and one which takes binding.api.InstanceWildcard. Note that instead of DataTreeIdentifier these should explicitly take a LogicalDatastoreType

Furthermore, DataTreeModification needs to be updated to render getRootPath() deprecated:

interface DataTreeModification<T extends DataObject> {
  @Deprecated
  default DataTreeIdentifier<T> getRootPath() {
    return DataTreeIdentifier.create(datastore(), rootPath().toLegacy());
  }

  LogicalDatastoreType datastore();

  InstanceIdentifier<T> rootPath();
}

Generated at Wed Feb 07 20:11:03 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.