Cleanup NetconfDeviceCommunicator a bit
[netconf.git] / netconf / sal-netconf-connector / src / main / java / org / opendaylight / netconf / sal / connect / netconf / listener / NetconfDeviceCommunicator.java
index 28826c28053da7096de28a9d47503fe071f847c4..d391bb7ad0e113b89be015f2522316d41b28714d 100644 (file)
@@ -97,12 +97,12 @@ public class NetconfDeviceCommunicator
             final RemoteDeviceId id,
             final RemoteDevice<NetconfSessionPreferences, NetconfMessage, NetconfDeviceCommunicator> remoteDevice,
             final Optional<UserPreferences> overrideNetconfCapabilities, final int rpcMessageLimit) {
-        this.concurentRpcMsgs = rpcMessageLimit;
+        concurentRpcMsgs = rpcMessageLimit;
         this.id = id;
         this.remoteDevice = remoteDevice;
         this.overrideNetconfCapabilities = overrideNetconfCapabilities;
-        this.firstConnectionFuture = SettableFuture.create();
-        this.semaphore = rpcMessageLimit > 0 ? new Semaphore(rpcMessageLimit) : null;
+        firstConnectionFuture = SettableFuture.create();
+        semaphore = rpcMessageLimit > 0 ? new Semaphore(rpcMessageLimit) : null;
     }
 
     @Override
@@ -306,50 +306,51 @@ public class NetconfDeviceCommunicator
             sessionLock.unlock();
         }
 
-        if (request != null) {
-
-            if (FailedNetconfMessage.class.isInstance(message)) {
-                request.future.set(NetconfMessageTransformUtil.toRpcResult((FailedNetconfMessage) message));
-                return;
-            }
-
-            LOG.debug("{}: Message received {}", id, message);
+        if (request == null) {
+            // No matching request, bail out
+            return;
+        }
 
-            if (LOG.isTraceEnabled()) {
-                LOG.trace("{}: Matched request: {} to response: {}", id, msgToS(request.request), msgToS(message));
-            }
 
-            try {
-                NetconfMessageTransformUtil.checkValidReply(request.request, message);
-            } catch (final NetconfDocumentedException e) {
-                LOG.warn(
-                        "{}: Invalid request-reply match,"
-                                + "reply message contains different message-id, request: {}, response: {}",
-                        id, msgToS(request.request), msgToS(message), e);
+        if (message instanceof FailedNetconfMessage) {
+            request.future.set(NetconfMessageTransformUtil.toRpcResult((FailedNetconfMessage) message));
+            return;
+        }
 
-                request.future.set(RpcResultBuilder.<NetconfMessage>failed()
-                        .withRpcError(NetconfMessageTransformUtil.toRpcError(e)).build());
+        LOG.debug("{}: Message received {}", id, message);
 
-                //recursively processing message to eventually find matching request
-                processMessage(message);
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("{}: Matched request: {} to response: {}", id, msgToS(request.request), msgToS(message));
+        }
 
-                return;
-            }
+        try {
+            NetconfMessageTransformUtil.checkValidReply(request.request, message);
+        } catch (final NetconfDocumentedException e) {
+            LOG.warn("{}: Invalid request-reply match, reply message contains different message-id, "
+                + "request: {}, response: {}", id, msgToS(request.request), msgToS(message), e);
 
-            try {
-                NetconfMessageTransformUtil.checkSuccessReply(message);
-            } catch (final NetconfDocumentedException e) {
-                LOG.warn(
-                        "{}: Error reply from remote device, request: {}, response: {}",
-                        id, msgToS(request.request), msgToS(message), e);
+            request.future.set(RpcResultBuilder.<NetconfMessage>failed()
+                .withRpcError(NetconfMessageTransformUtil.toRpcError(e))
+                .build());
 
-                request.future.set(RpcResultBuilder.<NetconfMessage>failed()
-                        .withRpcError(NetconfMessageTransformUtil.toRpcError(e)).build());
-                return;
-            }
+            //recursively processing message to eventually find matching request
+            processMessage(message);
+            return;
+        }
 
-            request.future.set(RpcResultBuilder.success(message).build());
+        try {
+            NetconfMessageTransformUtil.checkSuccessReply(message);
+        } catch (final NetconfDocumentedException e) {
+            LOG.warn("{}: Error reply from remote device, request: {}, response: {}",
+                id, msgToS(request.request), msgToS(message), e);
+
+            request.future.set(RpcResultBuilder.<NetconfMessage>failed()
+                .withRpcError(NetconfMessageTransformUtil.toRpcError(e))
+                .build());
+            return;
         }
+
+        request.future.set(RpcResultBuilder.success(message).build());
     }
 
     private static String msgToS(final NetconfMessage msg) {