X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-adapter%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fadapter%2FLazyDataTreeModification.java;h=4e486c65d411fe0b89faea2e3c00e3a8872f45c2;hb=refs%2Fchanges%2F16%2F107916%2F8;hp=adc4636f5a226697387bfa16a6c921d76e0b54d3;hpb=d2c0f28aef06857cbe7fcfb96a7745055b290db4;p=mdsal.git diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModification.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModification.java index adc4636f5a..4e486c65d4 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModification.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModification.java @@ -43,7 +43,8 @@ final class LazyDataTreeModification implements DataTreeMo @SuppressWarnings({"unchecked", "rawtypes"}) static @Nullable DataTreeModification from(final CurrentAdapterSerializer serializer, - final DataTreeCandidate domChange, final LogicalDatastoreType datastoreType, final Class augment) { + final DataTreeCandidate domChange, final LogicalDatastoreType datastoreType, + final @Nullable Class> augment) { final var bindingPath = createBindingPath(serializer, domChange.getRootPath(), augment); final var codec = serializer.getSubtreeCodec(bindingPath); final var modification = LazyDataObjectModification.from(codec, domChange.getRootNode()); @@ -51,23 +52,25 @@ final class LazyDataTreeModification implements DataTreeMo : new LazyDataTreeModification(DataTreeIdentifier.of(datastoreType, bindingPath), modification); } - @SuppressWarnings({"unchecked", "rawtypes"}) static @Nullable DataTreeModification from(final CurrentAdapterSerializer serializer, - final DOMDataTreeCandidate candidate, final Class augment) { + final DOMDataTreeCandidate candidate, final @Nullable Class augment) { final var domRootPath = candidate.getRootPath(); - final var bindingPath = createBindingPath(serializer, domRootPath.path(), augment); + @SuppressWarnings("unchecked") + final var bindingPath = (InstanceIdentifier) createBindingPath(serializer, domRootPath.path(), augment); final var codec = serializer.getSubtreeCodec(bindingPath); - final var modification = LazyDataObjectModification.from(codec, candidate.getRootNode()); + @SuppressWarnings("unchecked") + final var modification = (DataObjectModification) LazyDataObjectModification.from(codec, + candidate.getRootNode()); return modification == null ? null - : new LazyDataTreeModification(DataTreeIdentifier.of(domRootPath.datastore(), bindingPath), modification); + : new LazyDataTreeModification<>(DataTreeIdentifier.of(domRootPath.datastore(), bindingPath), modification); } static @NonNull List> from(final CurrentAdapterSerializer codec, final List domChanges, final LogicalDatastoreType datastoreType, - final Class augment) { + final @Nullable Class> augment) { final var result = new ArrayList>(domChanges.size()); for (var domChange : domChanges) { - final var bindingChange = from(codec, domChange, datastoreType, augment); + final var bindingChange = LazyDataTreeModification.from(codec, domChange, datastoreType, augment); if (bindingChange != null) { result.add(bindingChange); } @@ -81,7 +84,7 @@ final class LazyDataTreeModification implements DataTreeMo // codec and mis-report what is actually going on. @SuppressWarnings({"unchecked", "rawtypes"}) private static @NonNull InstanceIdentifier createBindingPath(final CurrentAdapterSerializer serializer, - final YangInstanceIdentifier domPath, final Class augment) { + final YangInstanceIdentifier domPath, final @Nullable Class augment) { final var bindingPath = serializer.coerceInstanceIdentifier(domPath); return augment == null ? bindingPath : bindingPath.augmentation((Class) augment.asSubclass(Augmentation.class)); }