Split up MessageTransformer 23/103723/3
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 20 Dec 2022 17:50:48 +0000 (18:50 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 25 Dec 2022 23:47:06 +0000 (00:47 +0100)
We have three groups of methods in one interface and we need to
correctly separate their implementations, as not everything can be a
DOMRpcResult.

JIRA: NETCONF-669
Change-Id: I39452c7050cd5c7da46910f708d37ef17caac279
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 files changed:
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/ActionTransformer.java [moved from netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/MessageTransformer.java with 55% similarity]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/DeviceActionFactory.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/NotificationTransformer.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/RpcTransformer.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/DeviceActionFactoryImpl.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NotificationHandler.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpc.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformer.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformer.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformer.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDeviceTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java

similarity index 55%
rename from netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/MessageTransformer.java
rename to netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/ActionTransformer.java
index c387e2d80c8c2116ae88d13ed5131c7eccd5571a..ac2eec85905757015d12a05f148c6c75f6663840 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
+ * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -9,21 +9,14 @@ package org.opendaylight.netconf.sal.connect.api;
 
 import org.opendaylight.mdsal.dom.api.DOMActionResult;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
-import org.opendaylight.mdsal.dom.api.DOMNotification;
-import org.opendaylight.mdsal.dom.api.DOMRpcResult;
 import org.opendaylight.netconf.api.NetconfMessage;
-import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
 
-public interface MessageTransformer {
-
-    DOMNotification toNotification(NetconfMessage message);
-
-    NetconfMessage toRpcRequest(QName rpc, NormalizedNode node);
-
-    DOMRpcResult toRpcResult(NetconfMessage message, QName rpc);
-
+/**
+ * Interface for transforming NETCONF device action request/response messages.
+ */
+public interface ActionTransformer {
     /**
      * Parse action into message for request.
      *
@@ -32,10 +25,8 @@ public interface MessageTransformer {
      * @param payload - input of action
      * @return message
      */
-    default NetconfMessage toActionRequest(final Absolute action, final DOMDataTreeIdentifier domDataTreeIdentifier,
-            final NormalizedNode payload) {
-        throw new UnsupportedOperationException();
-    }
+    NetconfMessage toActionRequest(Absolute action, DOMDataTreeIdentifier domDataTreeIdentifier,
+            NormalizedNode payload);
 
     /**
      * Parse result of invoking action into DOM result.
@@ -44,7 +35,5 @@ public interface MessageTransformer {
      * @param message - message to parsing
      * @return {@link DOMActionResult}
      */
-    default DOMActionResult toActionResult(final Absolute action, final NetconfMessage message) {
-        throw new UnsupportedOperationException();
-    }
+    DOMActionResult toActionResult(Absolute action, NetconfMessage message);
 }
index f69882946d285373ae1443b371f4acf85a3914b9..6e4e47bd3f0a3db771d755312ea69c6b003da389 100644 (file)
@@ -18,6 +18,6 @@ public interface DeviceActionFactory {
      * @param listener - allows specific service to send and receive messages to/from device
      * @return {@link Actions} of specific device
      */
-    @NonNull Actions createDeviceAction(MessageTransformer messageTransformer, RemoteDeviceCommunicator listener);
+    @NonNull Actions createDeviceAction(ActionTransformer messageTransformer, RemoteDeviceCommunicator listener);
 }
 
diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/NotificationTransformer.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/NotificationTransformer.java
new file mode 100644 (file)
index 0000000..2f0a321
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.netconf.sal.connect.api;
+
+import org.opendaylight.mdsal.dom.api.DOMNotification;
+import org.opendaylight.netconf.api.NetconfMessage;
+
+/**
+ * Interface for transforming NETCONF device {@link NetconfMessage}s to {@link DOMNotification}.
+ */
+public interface NotificationTransformer {
+
+    DOMNotification toNotification(NetconfMessage message);
+}
diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/RpcTransformer.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/api/RpcTransformer.java
new file mode 100644 (file)
index 0000000..d32917b
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.netconf.sal.connect.api;
+
+import org.opendaylight.mdsal.dom.api.DOMRpcResult;
+import org.opendaylight.netconf.api.NetconfMessage;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+
+/**
+ * Interface for transforming NETCONF device RPC request/response messages.
+ */
+public interface RpcTransformer {
+
+    NetconfMessage toRpcRequest(QName rpc, NormalizedNode node);
+
+    DOMRpcResult toRpcResult(NetconfMessage message, QName rpc);
+}
index cb778d337e80747bb2b9762d58d386f3556db90a..8ea00f6202bc6489c85d82e8a0ed70328f79aaef 100644 (file)
@@ -13,8 +13,8 @@ import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.MoreExecutors;
 import javax.inject.Singleton;
 import org.opendaylight.mdsal.dom.api.DOMActionService;
+import org.opendaylight.netconf.sal.connect.api.ActionTransformer;
 import org.opendaylight.netconf.sal.connect.api.DeviceActionFactory;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceCommunicator;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceServices.Actions;
 import org.osgi.service.component.annotations.Component;
@@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory;
 
 /**
  * Implementation of the factory for creation of {@link DOMActionService} instances that are provided by device.
- * {@link DOMActionService} is implemented using {@link MessageTransformer} that builds NETCONF RPCs and
+ * {@link DOMActionService} is implemented using {@link ActionTransformer} that builds NETCONF RPCs and
  * transforms replied NETCONF message  to action result, and using {@link RemoteDeviceCommunicator} that is responsible
  * for sending of built RPCs to NETCONF client.
  */
@@ -33,7 +33,7 @@ public class DeviceActionFactoryImpl implements DeviceActionFactory {
     private static final Logger LOG = LoggerFactory.getLogger(DeviceActionFactoryImpl.class);
 
     @Override
-    public Actions.Normalized createDeviceAction(final MessageTransformer messageTransformer,
+    public Actions.Normalized createDeviceAction(final ActionTransformer messageTransformer,
             final RemoteDeviceCommunicator listener) {
         return (schemaPath, dataTreeIdentifier, input) -> {
             requireNonNull(schemaPath);
index 05e55bb8ca653be7a7b16b0848f043e1b38c199e..f29bd2422b1f71c420c0c668aec316a5c2245a76 100644 (file)
@@ -39,7 +39,6 @@ import org.opendaylight.mdsal.dom.api.DOMRpcResult;
 import org.opendaylight.netconf.api.NetconfMessage;
 import org.opendaylight.netconf.api.xml.XmlNetconfConstants;
 import org.opendaylight.netconf.sal.connect.api.DeviceActionFactory;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
 import org.opendaylight.netconf.sal.connect.api.NetconfDeviceSchemasResolver;
 import org.opendaylight.netconf.sal.connect.api.RemoteDevice;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceCommunicator;
@@ -112,7 +111,7 @@ public class NetconfDevice implements RemoteDevice<NetconfDeviceCommunicator> {
     private boolean connected = false;
 
     // Message transformer is constructed once the schemas are available
-    private MessageTransformer messageTransformer;
+    private NetconfMessageTransformer messageTransformer;
 
     public NetconfDevice(final SchemaResourcesDTO schemaResourcesDTO, final BaseNetconfSchemas baseSchemas,
             final RemoteDeviceId id, final RemoteDeviceHandler salFacade,
@@ -258,7 +257,7 @@ public class NetconfDevice implements RemoteDevice<NetconfDeviceCommunicator> {
         updateTransformer(null);
     }
 
-    private synchronized void updateTransformer(final MessageTransformer transformer) {
+    private synchronized void updateTransformer(final NetconfMessageTransformer transformer) {
         messageTransformer = transformer;
     }
 
index 3b03974f92f49f932ce6971ae612e7a8487b9585..917729e7cba70b5d2060cd173d8bd4329ffb88ff 100644 (file)
@@ -17,7 +17,7 @@ import java.util.function.Predicate;
 import org.opendaylight.mdsal.dom.api.DOMNotification;
 import org.opendaylight.netconf.api.NetconfMessage;
 import org.opendaylight.netconf.api.xml.XmlUtil;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
+import org.opendaylight.netconf.sal.connect.api.NotificationTransformer;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
 import org.slf4j.Logger;
@@ -36,7 +36,7 @@ final class NotificationHandler {
 
     private boolean passNotifications = false;
     private NotificationFilter filter;
-    private MessageTransformer messageTransformer;
+    private NotificationTransformer messageTransformer;
 
     NotificationHandler(final RemoteDeviceHandler salFacade, final RemoteDeviceId id) {
         this.salFacade = requireNonNull(salFacade);
@@ -55,7 +55,7 @@ final class NotificationHandler {
      * Forward all cached notifications and pass all notifications from this point directly to sal facade.
      * @param transformer Message transformer
      */
-    synchronized void onRemoteSchemaUp(final MessageTransformer transformer) {
+    synchronized void onRemoteSchemaUp(final NotificationTransformer transformer) {
         messageTransformer = requireNonNull(transformer);
 
         passNotifications = true;
index e902a4912c6a1e0b10ad96d7ff6ff7bc998cc1b6..6679f06020aa06ad66faa189a0801f45b633897d 100644 (file)
@@ -22,9 +22,9 @@ import org.opendaylight.mdsal.dom.api.DOMRpcResult;
 import org.opendaylight.mdsal.dom.api.DefaultDOMRpcException;
 import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult;
 import org.opendaylight.netconf.api.NetconfMessage;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceCommunicator;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceServices.Rpcs;
+import org.opendaylight.netconf.sal.connect.api.RpcTransformer;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.concepts.NoOpListenerRegistration;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -38,11 +38,11 @@ import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
  */
 public final class NetconfDeviceRpc implements Rpcs.Normalized {
     private final RemoteDeviceCommunicator communicator;
-    private final MessageTransformer transformer;
+    private final RpcTransformer transformer;
     private final EffectiveModelContext modelContext;
 
     public NetconfDeviceRpc(final EffectiveModelContext modelContext, final RemoteDeviceCommunicator communicator,
-            final MessageTransformer transformer) {
+            final RpcTransformer transformer) {
         this.modelContext = requireNonNull(modelContext);
         this.communicator = communicator;
         this.transformer = transformer;
index 9ead72651f4f85fc3aeb803b4a8e913086df3d7c..1d66547a4d72408022278d88d21d99527c58eb9f 100644 (file)
@@ -17,9 +17,9 @@ import org.opendaylight.mdsal.dom.api.DOMRpcImplementationNotAvailableException;
 import org.opendaylight.mdsal.dom.api.DOMRpcResult;
 import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult;
 import org.opendaylight.netconf.api.NetconfMessage;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceCommunicator;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceServices.Rpcs;
+import org.opendaylight.netconf.sal.connect.api.RpcTransformer;
 import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.BaseRpcSchemalessTransformer;
 import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.SchemalessMessageTransformer;
 import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil;
@@ -58,7 +58,7 @@ public final class SchemalessNetconfDeviceRpc implements Rpcs.Schemaless {
 
     @Override
     public ListenableFuture<? extends DOMRpcResult> invokeRpc(final QName type, final NormalizedNode input) {
-        final MessageTransformer transformer;
+        final RpcTransformer transformer;
         if (input instanceof DOMSourceAnyxmlNode) {
             transformer = schemalessTransformer;
         } else if (isBaseRpc(type)) {
@@ -71,7 +71,7 @@ public final class SchemalessNetconfDeviceRpc implements Rpcs.Schemaless {
     }
 
     private @NonNull ListenableFuture<DOMRpcResult> handleRpc(final @NonNull QName type,
-            final @NonNull NormalizedNode input, final MessageTransformer transformer) {
+            final @NonNull NormalizedNode input, final RpcTransformer transformer) {
         final var delegateFuture = listener.sendRequest(transformer.toRpcRequest(type, input), type);
         final var ret = SettableFuture.<DOMRpcResult>create();
         Futures.addCallback(delegateFuture, new FutureCallback<>() {
index 7ab9718c47e5deb2ce7057ffb302deac72ec5e3a..eef1b8117d92b6ec6d6e22e9d31188452a873403 100644 (file)
@@ -13,13 +13,12 @@ import java.io.IOException;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.transform.dom.DOMResult;
 import javax.xml.transform.dom.DOMSource;
-import org.opendaylight.mdsal.dom.api.DOMNotification;
 import org.opendaylight.mdsal.dom.api.DOMRpcResult;
 import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult;
 import org.opendaylight.netconf.api.NetconfMessage;
 import org.opendaylight.netconf.api.xml.XmlElement;
 import org.opendaylight.netconf.api.xml.XmlUtil;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
+import org.opendaylight.netconf.sal.connect.api.RpcTransformer;
 import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil;
 import org.opendaylight.netconf.sal.connect.util.MessageCounter;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -36,7 +35,7 @@ import org.w3c.dom.Element;
 /**
  * Transforms base netconf RPCs.
  */
-public class BaseRpcSchemalessTransformer implements MessageTransformer {
+public class BaseRpcSchemalessTransformer implements RpcTransformer {
     private final ImmutableMap<QName, ? extends RpcDefinition> mappedRpcs;
     private final EffectiveModelContext modelContext;
     private final MessageCounter counter;
@@ -48,11 +47,6 @@ public class BaseRpcSchemalessTransformer implements MessageTransformer {
         this.counter = counter;
     }
 
-    @Override
-    public DOMNotification toNotification(final NetconfMessage message) {
-        throw new UnsupportedOperationException("Notifications not supported.");
-    }
-
     @Override
     public NetconfMessage toRpcRequest(final QName rpc, final NormalizedNode payload) {
         // In case no input for rpc is defined, we can simply construct the payload here
index 3d67ba2abd48a57fa30078786388b9cb84d3f8a5..7a2e57017d84656f00f4138113c7bc9cb7c047c5 100644 (file)
@@ -58,7 +58,9 @@ import org.opendaylight.mdsal.dom.spi.SimpleDOMActionResult;
 import org.opendaylight.netconf.api.NetconfMessage;
 import org.opendaylight.netconf.api.xml.MissingNameSpaceException;
 import org.opendaylight.netconf.api.xml.XmlElement;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
+import org.opendaylight.netconf.sal.connect.api.ActionTransformer;
+import org.opendaylight.netconf.sal.connect.api.NotificationTransformer;
+import org.opendaylight.netconf.sal.connect.api.RpcTransformer;
 import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil;
 import org.opendaylight.netconf.sal.connect.util.MessageCounter;
 import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext;
@@ -100,7 +102,7 @@ import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
-public class NetconfMessageTransformer implements MessageTransformer {
+public class NetconfMessageTransformer implements ActionTransformer, NotificationTransformer, RpcTransformer {
     private static final Logger LOG = LoggerFactory.getLogger(NetconfMessageTransformer.class);
 
     private static final ImmutableSet<XMLNamespace> BASE_OR_NOTIFICATION_NS = ImmutableSet.of(
index 3a8f2d7ca87cea3313d288a72dec3127a71d8bb5..d3b920a4244905248f66ccf0d2efe89b95f67b7b 100644 (file)
@@ -16,7 +16,8 @@ import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult;
 import org.opendaylight.netconf.api.NetconfMessage;
 import org.opendaylight.netconf.api.xml.MissingNameSpaceException;
 import org.opendaylight.netconf.api.xml.XmlElement;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
+import org.opendaylight.netconf.sal.connect.api.NotificationTransformer;
+import org.opendaylight.netconf.sal.connect.api.RpcTransformer;
 import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil;
 import org.opendaylight.netconf.sal.connect.util.MessageCounter;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -31,7 +32,7 @@ import org.w3c.dom.Element;
 /**
  * Transforms anyxml rpcs for schemaless netconf devices.
  */
-public class SchemalessMessageTransformer implements MessageTransformer {
+public class SchemalessMessageTransformer implements NotificationTransformer, RpcTransformer {
     // TODO maybe we should move this somewhere else as this
     // might be used in applications using schemaless mountpoints
     public static final NodeIdentifier SCHEMALESS_NOTIFICATION_PAYLOAD =
index 43bf865e5ef32d498003db30328d9edb6e2fa8f1..100277dcc16fba9838542462082eb6d60ded103f 100644 (file)
@@ -50,7 +50,6 @@ import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult;
 import org.opendaylight.netconf.api.NetconfMessage;
 import org.opendaylight.netconf.api.xml.XmlNetconfConstants;
 import org.opendaylight.netconf.api.xml.XmlUtil;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
 import org.opendaylight.netconf.sal.connect.api.NetconfDeviceSchemasResolver;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceServices;
@@ -63,7 +62,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev15
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.available.capabilities.AvailableCapability.CapabilityOrigin;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.repo.api.EffectiveModelContextFactory;
@@ -562,14 +560,6 @@ public class NetconfDeviceTest extends AbstractTestModelTest {
         return MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor());
     }
 
-    public MessageTransformer getMessageTransformer() throws Exception {
-        final MessageTransformer messageTransformer = mockClass(MessageTransformer.class);
-        doReturn(NOTIFICATION).when(messageTransformer).toRpcRequest(any(QName.class), any(NormalizedNode.class));
-        doReturn(RPC_RESULT).when(messageTransformer).toRpcResult(any(NetconfMessage.class), any(QName.class));
-        doReturn(COMPOSITE_NODE).when(messageTransformer).toNotification(any(NetconfMessage.class));
-        return messageTransformer;
-    }
-
     public NetconfSessionPreferences getSessionCaps(final boolean addMonitor,
                                                     final Collection<String> additionalCapabilities) {
         final ArrayList<String> capabilities = Lists.newArrayList(
index e00e2cb18d2a071646f5a4cad620368e6e2fce1e..92100136be1e7c096e092d5b364deda1da7e7a56 100644 (file)
@@ -34,8 +34,8 @@ import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier;
 import org.opendaylight.mdsal.dom.api.DOMRpcResult;
 import org.opendaylight.netconf.api.NetconfMessage;
 import org.opendaylight.netconf.api.xml.XmlUtil;
-import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceCommunicator;
+import org.opendaylight.netconf.sal.connect.api.RpcTransformer;
 import org.opendaylight.netconf.sal.connect.netconf.AbstractBaseSchemasTest;
 import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer;
 import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil;
@@ -98,7 +98,7 @@ public class NetconfDeviceRpcTest extends AbstractBaseSchemasTest {
     @Test
     public void testDeadlock() throws Exception {
         // when rpc is successful, but transformer fails for some reason
-        final MessageTransformer failingTransformer = mock(MessageTransformer.class);
+        final RpcTransformer failingTransformer = mock(RpcTransformer.class);
         final RemoteDeviceCommunicator communicatorMock = mock(RemoteDeviceCommunicator.class);
         final NetconfMessage msg = null;
         final RpcResult<NetconfMessage> result = RpcResultBuilder.success(msg).build();
index e91abae2fc6f4d0560264399f3c64bd42ecf0151..99a554152d14025e37c6b7eb691518c1708a8afd 100644 (file)
@@ -67,12 +67,6 @@ public class BaseRpcSchemalessTransformerTest extends AbstractBaseSchemasTest {
         transformer = new BaseRpcSchemalessTransformer(BASE_SCHEMAS, new MessageCounter());
     }
 
-    @Test(expected = UnsupportedOperationException.class)
-    public void toNotification() throws Exception {
-        transformer.toNotification(new NetconfMessage(
-                XmlUtil.readXmlToDocument(getClass().getResourceAsStream("/notification-payload.xml"))));
-    }
-
     @Test
     public void toRpcRequest() throws Exception {
         final Document doc =