Netconf Device Notification
[netconf.git] / netconf / tools / netconf-testtool / src / main / java / org / opendaylight / netconf / test / tool / NetconfDeviceSimulator.java
index c60f5116c841728285ca344f1fdd23da492aee38..0a92bc109ceee289be25725c20782bd7c35283a7 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.netconf.test.tool;
 
+import static java.util.Objects.requireNonNullElseGet;
+
 import com.google.common.collect.Collections2;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -142,14 +144,18 @@ public class NetconfDeviceSimulator implements Closeable {
             operationProvider = new SimulatedOperationProvider(idProvider, transformedCapabilities,
                     Optional.ofNullable(configuration.getNotificationFile()),
                     Optional.ofNullable(configuration.getInitialConfigXMLFile()));
+        } else if (configuration.isNotificationsSupported()) {
+            LOG.info("using SimulatedOperationProvider.");
+            operationProvider = new SimulatedOperationProvider(idProvider, transformedCapabilities,
+                    Optional.ofNullable(configuration.getNotificationFile()),
+                    Optional.empty());
         } else {
             LOG.info("using OperationsProvider.");
             operationProvider = new OperationsProvider(idProvider, transformedCapabilities,
-                configuration.getOperationsCreator() != null ? configuration.getOperationsCreator()
-                    : DefaultOperationsCreator.getDefaultOperationServiceCreator(idProvider.getCurrentSessionId()));
+                requireNonNullElseGet(configuration.getOperationsCreator(),
+                    () -> new DefaultOperationsCreator(idProvider.getCurrentSessionId())));
         }
 
-
         final NetconfMonitoringOperationServiceFactory monitoringService =
                 new NetconfMonitoringOperationServiceFactory(
                         new NetconfMonitoringOperationService(monitoringService1));