Remove use of thread-local input
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / src / main / java / org / opendaylight / controller / remote / rpc / messages / ExecuteRpc.java
index dca81dc0b7bb29a069d514dca28f0650923011fb..23fdfdc6795ba6b27dd9fce08cd443b2b9de8d9c 100644 (file)
@@ -72,20 +72,22 @@ public final class ExecuteRpc implements Serializable {
         public Proxy() {
         }
 
-        Proxy(ExecuteRpc executeRpc) {
+        Proxy(final ExecuteRpc executeRpc) {
             this.executeRpc = executeRpc;
         }
 
         @Override
-        public void writeExternal(ObjectOutput out) throws IOException {
+        public void writeExternal(final ObjectOutput out) throws IOException {
+            // FIXME: QName is a WritableObject
             out.writeObject(executeRpc.getRpc());
-            SerializationUtils.serializeNormalizedNode(executeRpc.getInputNormalizedNode(), out);
+            SerializationUtils.writeNormalizedNode(out, executeRpc.getInputNormalizedNode());
         }
 
         @Override
-        public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
+            // FIXME: QName is a WritableObject
             QName qname = (QName) in.readObject();
-            executeRpc = new ExecuteRpc(SerializationUtils.deserializeNormalizedNode(in), qname);
+            executeRpc = new ExecuteRpc(SerializationUtils.readNormalizedNode(in).orElse(null), qname);
         }
 
         private Object readResolve() {