From 50d2521bfeae819b95d51a5b4477ce5f9bfdc94b Mon Sep 17 00:00:00 2001 From: Andrea Campanella Date: Fri, 26 Feb 2016 13:06:23 -0800 Subject: [PATCH] ONOS-4000 trimming reply from device and minor Netconf classes refactoring Change-Id: I33a6d5cac8a2523d377c662e3ae362903d9883fb --- .../src/main/resources/netconf-drivers.xml | 5 ++--- .../netconf/ctl/DefaultNetconfDevice.java | 4 ++-- .../netconf/ctl/NetconfSessionImpl.java | 22 +++++++++---------- .../netconf/ctl/NetconfStreamThread.java | 10 +++------ 4 files changed, 18 insertions(+), 23 deletions(-) diff --git a/drivers/netconf/src/main/resources/netconf-drivers.xml b/drivers/netconf/src/main/resources/netconf-drivers.xml index d9930adf25..6a4e2ae039 100644 --- a/drivers/netconf/src/main/resources/netconf-drivers.xml +++ b/drivers/netconf/src/main/resources/netconf-drivers.xml @@ -16,8 +16,7 @@ --> - + - + \n"); - rpc.append(""); + rpc.append("\n"); rpc.append(""); rpc.append("<").append(targetConfiguration).append("/>"); - rpc.append(""); + rpc.append("\n"); rpc.append(""); rpc.append(mode); - rpc.append(""); - rpc.append(""); + rpc.append("\n"); + rpc.append("\n"); rpc.append(newConfiguration); - rpc.append(""); - rpc.append(""); + rpc.append("\n"); + rpc.append("\n"); rpc.append(""); rpc.append(ENDPATTERN); + log.info(rpc.toString()); return checkReply(sendRequest(rpc.toString())); } diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/NetconfStreamThread.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/NetconfStreamThread.java index 7df78490de..1ed3f392a9 100644 --- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/NetconfStreamThread.java +++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/NetconfStreamThread.java @@ -161,13 +161,8 @@ public class NetconfStreamThread extends Thread implements NetconfStreamHandler while (!socketClosed) { int cInt = bufferReader.read(); if (cInt == -1) { - socketClosed = true; - log.debug("char {} " + bufferReader.read()); - NetconfDeviceOutputEvent event = new NetconfDeviceOutputEvent( - NetconfDeviceOutputEvent.Type.DEVICE_UNREGISTERED, - null, null, Optional.of(-1), netconfDeviceInfo); - netconfDeviceEventListeners.forEach( - listener -> listener.event(event)); + log.debug("Netconf device {} sent error char in session," + + " will need to be reopend", netconfDeviceInfo); } char c = (char) cInt; state = state.evaluateChar(c); @@ -175,6 +170,7 @@ public class NetconfStreamThread extends Thread implements NetconfStreamHandler if (state == NetconfMessageState.END_PATTERN) { String deviceReply = deviceReplyBuilder.toString(); if (deviceReply.equals(END_PATTERN)) { + socketClosed = true; NetconfDeviceOutputEvent event = new NetconfDeviceOutputEvent( NetconfDeviceOutputEvent.Type.DEVICE_UNREGISTERED, null, null, Optional.of(-1), netconfDeviceInfo);