From 03bdca4492c8a84b864b6fd91b4c5bd466e348ff Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 26 Aug 2019 12:58:10 +0200 Subject: [PATCH] Propagate MountPointContext to NetconfMessageTransformer In order to deal with NETCONF mount points, the transformer needs to understand the execution context here. This patch updates the APIs to pass the context down and implementations to use an empty mount point context. Change-Id: I4b8e825b96e1063efaa8bbdc750d9c0d35d23d8d Signed-off-by: Robert Varga --- .../singleton/impl/MasterSalFacade.java | 9 +++-- .../impl/MountPointEndToEndTest.java | 5 ++- .../sal/connect/api/RemoteDeviceHandler.java | 8 ++-- .../sal/connect/netconf/NetconfDevice.java | 18 +++++---- .../netconf/SchemalessNetconfDevice.java | 6 +-- .../netconf/sal/KeepaliveSalFacade.java | 6 +-- .../netconf/sal/NetconfDeviceSalFacade.java | 5 ++- .../mapping/NetconfMessageTransformer.java | 37 +++++++++++-------- .../connect/netconf/NetconfDeviceTest.java | 19 +++++----- .../netconf/NetconfToNotificationTest.java | 5 ++- .../netconf/NetconfToRpcRequestTest.java | 3 +- .../netconf/SchemalessNetconfDeviceTest.java | 6 +-- ...KeepaliveSalFacadeResponseWaitingTest.java | 4 +- .../netconf/sal/KeepaliveSalFacadeTest.java | 4 +- .../netconf/sal/NetconfDeviceRpcTest.java | 4 +- .../sal/NetconfDeviceSalFacadeTest.java | 4 +- .../NetconfMessageTransformerTest.java | 10 +++-- .../netconf/util/NetconfBaseOpsTest.java | 4 +- 18 files changed, 91 insertions(+), 66 deletions(-) diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/MasterSalFacade.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/MasterSalFacade.java index e0c5e062cb..ee2d3ee0b1 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/MasterSalFacade.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/MasterSalFacade.java @@ -30,6 +30,7 @@ import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceNotificatio import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalProvider; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; import org.opendaylight.netconf.topology.singleton.messages.CreateInitialMasterActorData; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -68,20 +69,20 @@ class MasterSalFacade implements AutoCloseable, RemoteDeviceHandler extends AutoCloseable { @@ -22,7 +22,7 @@ public interface RemoteDeviceHandler extends AutoCloseable { * @param netconfSessionPreferences - session of device * @param deviceRpc - {@link DOMRpcService} of device */ - default void onDeviceConnected(final SchemaContext remoteSchemaContext, final PREF netconfSessionPreferences, + default void onDeviceConnected(final MountPointContext remoteSchemaContext, final PREF netconfSessionPreferences, final DOMRpcService deviceRpc) { // DO NOTHING } @@ -30,12 +30,12 @@ public interface RemoteDeviceHandler extends AutoCloseable { /** * When device connected, init new mount point with specific schema context and DOM services. * - * @param remoteSchemaContext - schema context of connected device + * @param mountContext - MountPointContext of connected device * @param netconfSessionPreferences - session of device * @param deviceRpc - {@link DOMRpcService} of device * @param deviceAction - {@link DOMActionService} of device */ - default void onDeviceConnected(final SchemaContext remoteSchemaContext, final PREF netconfSessionPreferences, + default void onDeviceConnected(final MountPointContext mountContext, final PREF netconfSessionPreferences, final DOMRpcService deviceRpc, final DOMActionService deviceAction) { // DO NOTHING } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java index 4f8e993187..9f7afe7ae0 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java @@ -57,6 +57,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.optional.rev19 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode; import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.available.capabilities.AvailableCapabilityBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.unavailable.capabilities.UnavailableCapability; +import org.opendaylight.yangtools.rcf8528.data.util.EmptyMountPointContext; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException; @@ -113,7 +115,7 @@ public class NetconfDevice final BaseSchema baseSchema = resolveBaseSchema(notificationSupport); return new NetconfDeviceRpc(baseSchema.getSchemaContext(), listener, - new NetconfMessageTransformer(baseSchema.getSchemaContext(), false, baseSchema)); + new NetconfMessageTransformer(baseSchema.getMountPointContext(), false, baseSchema)); } private static BaseSchema resolveBaseSchema(final boolean notificationSupport) { @@ -227,7 +229,7 @@ public class NetconfDevice return remoteSessionCapabilities.isNotificationsSupported() && reconnectOnSchemasChange; } - private synchronized void handleSalInitializationSuccess(final SchemaContext result, + private synchronized void handleSalInitializationSuccess(final MountPointContext result, final NetconfSessionPreferences remoteSessionCapabilities, final DOMRpcService deviceRpc, final RemoteDeviceCommunicator listener) { @@ -242,7 +244,7 @@ public class NetconfDevice // salFacade.onDeviceConnected has to be called before the notification handler is initialized this.salFacade.onDeviceConnected(result, remoteSessionCapabilities, deviceRpc, this.deviceActionFactory == null ? null : this.deviceActionFactory.createDeviceAction( - this.messageTransformer, listener, result)); + this.messageTransformer, listener, result.getSchemaContext())); this.notificationHandler.onRemoteSchemaUp(this.messageTransformer); LOG.info("{}: Netconf connector initialized successfully", id); @@ -520,8 +522,9 @@ public class NetconfDevice remoteSessionCapabilities.getNonModuleBasedCapsOrigin().get(entry)).build()) .collect(Collectors.toList())); - handleSalInitializationSuccess(result, remoteSessionCapabilities, getDeviceSpecificRpc(result), - listener); + final MountPointContext mountContext = new EmptyMountPointContext(result); + handleSalInitializationSuccess(mountContext, remoteSessionCapabilities, + getDeviceSpecificRpc(mountContext), listener); return; } catch (final ExecutionException e) { // schemaBuilderFuture.checkedGet() throws only SchemaResolutionException @@ -609,8 +612,9 @@ public class NetconfDevice return resolutionException.getResolvedSources(); } - protected NetconfDeviceRpc getDeviceSpecificRpc(final SchemaContext result) { - return new NetconfDeviceRpc(result, listener, new NetconfMessageTransformer(result, true)); + protected NetconfDeviceRpc getDeviceSpecificRpc(final MountPointContext result) { + return new NetconfDeviceRpc(result.getSchemaContext(), listener, + new NetconfMessageTransformer(result, true)); } private Collection stripUnavailableSource(final Collection requiredSources, diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/SchemalessNetconfDevice.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/SchemalessNetconfDevice.java index 5a7e64c0f5..310f5a9068 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/SchemalessNetconfDevice.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/SchemalessNetconfDevice.java @@ -23,8 +23,8 @@ import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; public class SchemalessNetconfDevice implements RemoteDevice { - private RemoteDeviceId id; - private RemoteDeviceHandler salFacade; + private final RemoteDeviceId id; + private final RemoteDeviceHandler salFacade; private final SchemalessMessageTransformer messageTransformer; private final BaseRpcSchemalessTransformer rpcTransformer; @@ -52,7 +52,7 @@ public class SchemalessNetconfDevice implements final SchemalessNetconfDeviceRpc schemalessNetconfDeviceRpc = new SchemalessNetconfDeviceRpc(id, netconfDeviceCommunicator, rpcTransformer, messageTransformer); - salFacade.onDeviceConnected(BaseSchema.BASE_NETCONF_CTX.getSchemaContext(), + salFacade.onDeviceConnected(BaseSchema.BASE_NETCONF_CTX.getMountPointContext(), remoteSessionCapabilities, schemalessNetconfDeviceRpc); } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacade.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacade.java index f8abed3c39..755745650a 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacade.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacade.java @@ -33,9 +33,9 @@ import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPrefe import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; 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.SchemaContext; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -125,13 +125,13 @@ public final class KeepaliveSalFacade implements RemoteDeviceHandler mappedRpcs; @@ -91,14 +94,18 @@ public class NetconfMessageTransformer implements MessageTransformer actions; - public NetconfMessageTransformer(final SchemaContext schemaContext, final boolean strictParsing) { - this(schemaContext, strictParsing, BaseSchema.BASE_NETCONF_CTX); + public NetconfMessageTransformer(final MountPointContext mountContext, final boolean strictParsing) { + this(mountContext, strictParsing, BaseSchema.BASE_NETCONF_CTX); } - public NetconfMessageTransformer(final SchemaContext schemaContext, final boolean strictParsing, + public NetconfMessageTransformer(final MountPointContext mountContext, final boolean strictParsing, final BaseSchema baseSchema) { this.counter = new MessageCounter(); - this.schemaContext = schemaContext; + this.mountContext = requireNonNull(mountContext); + + final SchemaContext schemaContext = mountContext.getSchemaContext(); + this.contextTree = DataSchemaContextTree.from(schemaContext); + this.mappedRpcs = Maps.uniqueIndex(schemaContext.getOperations(), SchemaNode::getQName); this.actions = Maps.uniqueIndex(getActions(schemaContext), ActionDefinition::getPath); this.mappedNotifications = Multimaps.index(schemaContext.getNotifications(), @@ -157,7 +164,7 @@ public class NetconfMessageTransformer implements MessageTransformer argument = ArgumentCaptor.forClass(NetconfSessionPreferences.class); - verify(facade, timeout(5000)) - .onDeviceConnected(any(SchemaContext.class), argument.capture(), any(DOMRpcService.class), isNull()); + verify(facade, timeout(5000)).onDeviceConnected(any(MountPointContext.class), argument.capture(), + any(DOMRpcService.class), isNull()); final NetconfDeviceCapabilities netconfDeviceCaps = argument.getValue().getNetconfDeviceCapabilities(); netconfDeviceCaps.getResolvedCapabilities() @@ -421,7 +422,7 @@ public class NetconfDeviceTest extends AbstractTestModelTest { final RemoteDeviceHandler remoteDeviceHandler = mockCloseableClass(RemoteDeviceHandler.class); doNothing().when(remoteDeviceHandler).onDeviceConnected( - any(SchemaContext.class), any(NetconfSessionPreferences.class), any(NetconfDeviceRpc.class), + any(MountPointContext.class), any(NetconfSessionPreferences.class), any(NetconfDeviceRpc.class), any(DOMActionService.class)); doNothing().when(remoteDeviceHandler).onDeviceDisconnected(); doNothing().when(remoteDeviceHandler).onNotification(any(DOMNotification.class)); diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfToNotificationTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfToNotificationTest.java index b03b66c631..eacbd7d84d 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfToNotificationTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfToNotificationTest.java @@ -22,6 +22,7 @@ import org.opendaylight.netconf.api.NetconfMessage; import org.opendaylight.netconf.api.xml.XmlUtil; import org.opendaylight.netconf.notifications.NetconfNotification; import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer; +import org.opendaylight.yangtools.rcf8528.data.util.EmptyMountPointContext; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -63,14 +64,14 @@ public class NetconfToNotificationTest { @Test(expected = IllegalArgumentException.class) public void testMostRecentWrongYangModel() throws Exception { final SchemaContext schemaContext = getNotificationSchemaContext(getClass(), true); - messageTransformer = new NetconfMessageTransformer(schemaContext, true); + messageTransformer = new NetconfMessageTransformer(new EmptyMountPointContext(schemaContext), true); messageTransformer.toNotification(userNotification); } @Test public void testToNotificationFunction() throws Exception { final SchemaContext schemaContext = getNotificationSchemaContext(getClass(), false); - messageTransformer = new NetconfMessageTransformer(schemaContext, true); + messageTransformer = new NetconfMessageTransformer(new EmptyMountPointContext(schemaContext), true); final DOMNotification domNotification = messageTransformer.toNotification(userNotification); final ContainerNode root = domNotification.getBody(); assertNotNull(root); diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfToRpcRequestTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfToRpcRequestTest.java index 0e0b8dee74..de7fa293e2 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfToRpcRequestTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfToRpcRequestTest.java @@ -20,6 +20,7 @@ import org.junit.Test; import org.opendaylight.netconf.api.NetconfMessage; import org.opendaylight.netconf.api.xml.XmlUtil; import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer; +import org.opendaylight.yangtools.rcf8528.data.util.EmptyMountPointContext; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -59,7 +60,7 @@ public class NetconfToRpcRequestTest { cfgCtx = YangParserTestUtils.parseYangResources(NetconfToRpcRequestTest.class, "/schemas/config-test-rpc.yang", "/schemas/rpc-notification-subscription.yang"); - messageTransformer = new NetconfMessageTransformer(cfgCtx, true); + messageTransformer = new NetconfMessageTransformer(new EmptyMountPointContext(cfgCtx), true); } private static LeafNode buildLeaf(final QName running, final Object value) { diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/SchemalessNetconfDeviceTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/SchemalessNetconfDeviceTest.java index 0b719f823b..1f32d1b62d 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/SchemalessNetconfDeviceTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/SchemalessNetconfDeviceTest.java @@ -30,7 +30,7 @@ import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceRpc; import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.SchemalessMessageTransformer; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; public class SchemalessNetconfDeviceTest { @@ -56,7 +56,7 @@ public class SchemalessNetconfDeviceTest { device.onRemoteSessionUp(sessionCaps, listener); verify(facade).onDeviceConnected( - any(SchemaContext.class), any(NetconfSessionPreferences.class), any(DOMRpcService.class)); + any(MountPointContext.class), any(NetconfSessionPreferences.class), any(DOMRpcService.class)); device.onNotification(netconfMessage); verify(facade).onNotification(isNull()); @@ -73,7 +73,7 @@ public class SchemalessNetconfDeviceTest { final RemoteDeviceHandler remoteDeviceHandler = mockCloseableClass(RemoteDeviceHandler.class); doNothing().when(remoteDeviceHandler).onDeviceConnected( - any(SchemaContext.class), any(NetconfSessionPreferences.class), any(NetconfDeviceRpc.class)); + any(MountPointContext.class), any(NetconfSessionPreferences.class), any(NetconfDeviceRpc.class)); doNothing().when(remoteDeviceHandler).onDeviceDisconnected(); doNothing().when(remoteDeviceHandler).onNotification(any(DOMNotification.class)); return remoteDeviceHandler; diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeResponseWaitingTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeResponseWaitingTest.java index ea547490d8..726b472c30 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeResponseWaitingTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeResponseWaitingTest.java @@ -37,10 +37,10 @@ import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommun import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; public class KeepaliveSalFacadeResponseWaitingTest { @@ -119,7 +119,7 @@ public class KeepaliveSalFacadeResponseWaitingTest { private DOMRpcService localDeviceRpc; @Override - public void onDeviceConnected(final SchemaContext remoteSchemaContext, + public void onDeviceConnected(final MountPointContext remoteSchemaContext, final NetconfSessionPreferences netconfSessionPreferences, final DOMRpcService currentDeviceRpc, final DOMActionService deviceAction) { localDeviceRpc = currentDeviceRpc; diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeTest.java index 37ce73ed47..83cea06f68 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeTest.java @@ -35,12 +35,12 @@ import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommun import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; import org.opendaylight.yangtools.util.concurrent.FluentFutures; import org.opendaylight.yangtools.yang.common.RpcError; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.SchemaPath; public class KeepaliveSalFacadeTest { @@ -74,7 +74,7 @@ public class KeepaliveSalFacadeTest { doNothing().when(listener).disconnect(); doReturn("mockedRpc").when(deviceRpc).toString(); doNothing().when(underlyingSalFacade).onDeviceConnected( - any(SchemaContext.class), any(NetconfSessionPreferences.class), any(DOMRpcService.class)); + any(MountPointContext.class), any(NetconfSessionPreferences.class), any(DOMRpcService.class)); ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1); executorServiceSpy = Mockito.spy(executorService); diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java index 06dbca5dd9..44b6ce7d87 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java @@ -34,6 +34,7 @@ import org.opendaylight.netconf.sal.connect.api.RemoteDeviceCommunicator; import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.$YangModuleInfoImpl; +import org.opendaylight.yangtools.rcf8528.data.util.EmptyMountPointContext; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; @@ -75,7 +76,8 @@ public class NetconfDeviceRpcTest { @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); - NetconfMessageTransformer transformer = new NetconfMessageTransformer(SCHEMA_CONTEXT, true); + NetconfMessageTransformer transformer = new NetconfMessageTransformer( + new EmptyMountPointContext(SCHEMA_CONTEXT), true); final NetconfMessage reply = new NetconfMessage(XmlUtil.readXmlToDocument( "\n" + "\n" diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceSalFacadeTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceSalFacadeTest.java index 69f491dfe6..6d231ad2a2 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceSalFacadeTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceSalFacadeTest.java @@ -32,6 +32,7 @@ import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCapabi import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; +import org.opendaylight.yangtools.rcf8528.data.util.EmptyMountPointContext; import org.opendaylight.yangtools.yang.model.api.SchemaContext; public class NetconfDeviceSalFacadeTest { @@ -95,7 +96,8 @@ public class NetconfDeviceSalFacadeTest { NetconfSessionPreferences.fromStrings(getCapabilities()); final DOMRpcService deviceRpc = mock(DOMRpcService.class); - deviceFacade.onDeviceConnected(schemaContext, netconfSessionPreferences, deviceRpc, null); + deviceFacade.onDeviceConnected(new EmptyMountPointContext(schemaContext), netconfSessionPreferences, deviceRpc, + null); verify(mountInstance, times(1)).onTopologyDeviceConnected(eq(schemaContext), any(DOMDataBroker.class), eq(deviceRpc), any(NetconfDeviceNotificationService.class), diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java index ebba506493..8b8c56a23c 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java @@ -65,6 +65,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.mon import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Capabilities; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Schemas; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.schemas.Schema; +import org.opendaylight.yangtools.rcf8528.data.util.EmptyMountPointContext; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; @@ -175,7 +176,8 @@ public class NetconfMessageTransformerTest { XMLUnit.setIgnoreComments(true); netconfMessageTransformer = getTransformer(SCHEMA); - actionNetconfMessageTransformer = new NetconfMessageTransformer(ACTION_SCHEMA, true); + actionNetconfMessageTransformer = new NetconfMessageTransformer(new EmptyMountPointContext(ACTION_SCHEMA), + true); } @Test @@ -190,8 +192,8 @@ public class NetconfMessageTransformerTest { @Test public void testCreateSubscriberNotificationSchemaNotPresent() throws Exception { - final NetconfMessageTransformer transformer = new NetconfMessageTransformer(SCHEMA, true, - BaseSchema.BASE_NETCONF_CTX_WITH_NOTIFICATIONS); + final NetconfMessageTransformer transformer = new NetconfMessageTransformer(new EmptyMountPointContext(SCHEMA), + true, BaseSchema.BASE_NETCONF_CTX_WITH_NOTIFICATIONS); NetconfMessage netconfMessage = transformer.toRpcRequest( toPath(CREATE_SUBSCRIPTION_RPC_QNAME), CREATE_SUBSCRIPTION_RPC_CONTENT @@ -441,7 +443,7 @@ public class NetconfMessageTransformerTest { } private static NetconfMessageTransformer getTransformer(final SchemaContext schema) { - return new NetconfMessageTransformer(schema, true); + return new NetconfMessageTransformer(new EmptyMountPointContext(schema), true); } @Test diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfBaseOpsTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfBaseOpsTest.java index 18fde69486..316b2ae651 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfBaseOpsTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfBaseOpsTest.java @@ -39,6 +39,7 @@ import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceRpc; import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; import org.opendaylight.netconf.util.NetconfUtil; +import org.opendaylight.yangtools.rcf8528.data.util.EmptyMountPointContext; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -89,7 +90,8 @@ public class NetconfBaseOpsTest extends AbstractTestModelTest { .thenReturn(FluentFuture.from(RpcResultBuilder.success(ok).buildFuture())); when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_COMMIT_QNAME))) .thenReturn(FluentFuture.from(RpcResultBuilder.success(ok).buildFuture())); - final MessageTransformer transformer = new NetconfMessageTransformer(SCHEMA_CONTEXT, true); + final MessageTransformer transformer = new NetconfMessageTransformer( + new EmptyMountPointContext(SCHEMA_CONTEXT), true); final DOMRpcService rpc = new NetconfDeviceRpc(SCHEMA_CONTEXT, listener, transformer); final RemoteDeviceId id = new RemoteDeviceId("device-1", InetSocketAddress.createUnresolved("localhost", 17830)); -- 2.36.6