*/
package org.opendaylight.mdsal.binding.dom.adapter;
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.collect.Maps;
import java.util.ArrayList;
import java.util.Collection;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
-public class BindingDOMDataTreeListenerAdapter implements DOMDataTreeListener {
+public class BindingDOMDataTreeListenerAdapter extends AbstractBindingAdapter<DataTreeListener>
+ implements DOMDataTreeListener {
- private final DataTreeListener delegate;
- private final BindingToNormalizedNodeCodec codec;
private final LogicalDatastoreType store;
-
protected BindingDOMDataTreeListenerAdapter(final DataTreeListener delegate,
final BindingToNormalizedNodeCodec codec, final LogicalDatastoreType store) {
- this.delegate = Preconditions.checkNotNull(delegate, "delegate");
- this.codec = Preconditions.checkNotNull(codec, "codec");
- this.store = Preconditions.checkNotNull(store, "store");
+ super(codec, delegate);
+ this.store = requireNonNull(store, "store");
}
@Override
final Collection<DataTreeModification<?>> changes = toBinding(domChanges);
final Map<DataTreeIdentifier<?>, DataObject> subtrees = toBinding(domSubtrees);
- delegate.onDataTreeChanged(changes, subtrees);
+ getDelegate().onDataTreeChanged(changes, subtrees);
}
private Map<DataTreeIdentifier<?>, DataObject> toBinding(
final Map<DataTreeIdentifier<?>, DataObject> ret = Maps.newHashMapWithExpectedSize(domSubtrees.size());
for (final Entry<DOMDataTreeIdentifier, NormalizedNode<?, ?>> domEntry : domSubtrees.entrySet()) {
final Entry<InstanceIdentifier<?>, DataObject> bindingEntry =
- codec.fromNormalizedNode(domEntry.getKey().getRootIdentifier(), domEntry.getValue());
+ getCodec().fromNormalizedNode(domEntry.getKey().getRootIdentifier(), domEntry.getValue());
ret.put(DataTreeIdentifier.create(store, bindingEntry.getKey()), bindingEntry.getValue());
}
return ret;
@SuppressWarnings("unchecked")
private Collection<DataTreeModification<?>> toBinding(final Collection<DataTreeCandidate> domChanges) {
- return Collection.class.cast(LazyDataTreeModification.from(codec, domChanges, store));
+ return Collection.class.cast(LazyDataTreeModification.from(getCodec(), domChanges, store));
}
@Override
bindingCauses.add(mapException(cause));
}
- delegate.onDataTreeFailed(bindingCauses);
+ getDelegate().onDataTreeFailed(bindingCauses);
}
private static DataTreeListeningException mapException(final DOMDataTreeListeningException cause) {