import akka.util.Timeout;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.SettableFuture;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.mdsal.dom.api.DOMRpcResult;
-import org.opendaylight.netconf.api.ModifyAction;
+import org.opendaylight.netconf.api.EffectiveOperation;
import org.opendaylight.netconf.dom.api.NetconfDataTreeService;
-import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
+import org.opendaylight.netconf.sal.connect.api.RemoteDeviceId;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.slf4j.Logger;
}
@Override
- public ListenableFuture<Optional<NormalizedNode<?, ?>>> get(final YangInstanceIdentifier path) {
+ public ListenableFuture<Optional<NormalizedNode>> get(final YangInstanceIdentifier path) {
LOG.debug("{}: Get {} {}", id, OPERATIONAL, path);
- final SettableFuture<Optional<NormalizedNode<?, ?>>> returnFuture = SettableFuture.create();
+ final SettableFuture<Optional<NormalizedNode>> returnFuture = SettableFuture.create();
processNetconfOperation(facade -> returnFuture.setFuture(facade.get(path)));
return returnFuture;
}
@Override
- public ListenableFuture<Optional<NormalizedNode<?, ?>>> get(final YangInstanceIdentifier path,
- final List<YangInstanceIdentifier> fields) {
+ public ListenableFuture<Optional<NormalizedNode>> get(final YangInstanceIdentifier path,
+ final List<YangInstanceIdentifier> fields) {
LOG.debug("{}: Get {} {} with fields: {}", id, OPERATIONAL, path, fields);
- final SettableFuture<Optional<NormalizedNode<?, ?>>> returnFuture = SettableFuture.create();
+ final SettableFuture<Optional<NormalizedNode>> returnFuture = SettableFuture.create();
processNetconfOperation(facade -> returnFuture.setFuture(facade.get(path, fields)));
return returnFuture;
}
@Override
- public ListenableFuture<Optional<NormalizedNode<?, ?>>> getConfig(final YangInstanceIdentifier path) {
+ public ListenableFuture<Optional<NormalizedNode>> getConfig(final YangInstanceIdentifier path) {
LOG.debug("{}: Get config {} {}", id, CONFIGURATION, path);
- final SettableFuture<Optional<NormalizedNode<?, ?>>> returnFuture = SettableFuture.create();
+ final SettableFuture<Optional<NormalizedNode>> returnFuture = SettableFuture.create();
processNetconfOperation(facade -> returnFuture.setFuture(facade.getConfig(path)));
return returnFuture;
}
@Override
- public ListenableFuture<Optional<NormalizedNode<?, ?>>> getConfig(final YangInstanceIdentifier path,
- final List<YangInstanceIdentifier> fields) {
+ public ListenableFuture<Optional<NormalizedNode>> getConfig(final YangInstanceIdentifier path,
+ final List<YangInstanceIdentifier> fields) {
LOG.debug("{}: Get config {} {} with fields: {}", id, CONFIGURATION, path, fields);
- final SettableFuture<Optional<NormalizedNode<?, ?>>> returnFuture = SettableFuture.create();
+ final SettableFuture<Optional<NormalizedNode>> returnFuture = SettableFuture.create();
processNetconfOperation(facade -> returnFuture.setFuture(facade.getConfig(path, fields)));
return returnFuture;
}
@Override
public ListenableFuture<? extends DOMRpcResult> merge(final LogicalDatastoreType store,
- final YangInstanceIdentifier path, final NormalizedNode<?, ?> data,
- final Optional<ModifyAction> defaultOperation) {
+ final YangInstanceIdentifier path, final NormalizedNode data,
+ final Optional<EffectiveOperation> defaultOperation) {
LOG.debug("{}: Merge {} {}", id, store, path);
final SettableFuture<DOMRpcResult> returnFuture = SettableFuture.create();
processNetconfOperation(facade -> returnFuture.setFuture(facade.merge(store, path, data, defaultOperation)));
@Override
public ListenableFuture<? extends DOMRpcResult> replace(final LogicalDatastoreType store,
- final YangInstanceIdentifier path, final NormalizedNode<?, ?> data,
- final Optional<ModifyAction> defaultOperation) {
+ final YangInstanceIdentifier path, final NormalizedNode data,
+ final Optional<EffectiveOperation> defaultOperation) {
LOG.debug("{}: Replace {} {}", id, store, path);
final SettableFuture<DOMRpcResult> returnFuture = SettableFuture.create();
processNetconfOperation(facade -> returnFuture.setFuture(facade.replace(store, path, data, defaultOperation)));
@Override
public ListenableFuture<? extends DOMRpcResult> create(final LogicalDatastoreType store,
- final YangInstanceIdentifier path, final NormalizedNode<?, ?> data,
- final Optional<ModifyAction> defaultOperation) {
+ final YangInstanceIdentifier path, final NormalizedNode data,
+ final Optional<EffectiveOperation> defaultOperation) {
LOG.debug("{}: Create {} {}", id, store, path);
final SettableFuture<DOMRpcResult> returnFuture = SettableFuture.create();
processNetconfOperation(facade -> returnFuture.setFuture(facade.create(store, path, data, defaultOperation)));
}
}
- @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
- justification = "https://github.com/spotbugs/spotbugs/issues/811")
private void executePriorNetconfOperations(final ProxyNetconfServiceFacade newNetconfFacade) {
while (true) {
// Access to queuedOperations and netconfFacade must be protected and atomic