Introduce netconf.server.{api,impl}
[netconf.git] / netconf / tools / netconf-testtool / src / main / java / org / opendaylight / netconf / test / tool / SimulatedOperationProvider.java
index 68bebb2756c3be064e6ce3c4b92068e6f9f7c91c..d46e0252a56fa21f5fbc7490b80923e0e521a2f4 100644 (file)
@@ -5,39 +5,40 @@
  * 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.test.tool;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.Sets;
 import java.io.File;
-import java.util.Collections;
+import java.util.Optional;
 import java.util.Set;
-import org.opendaylight.controller.config.util.capability.Capability;
+import org.opendaylight.netconf.api.capability.Capability;
 import org.opendaylight.netconf.api.monitoring.CapabilityListener;
-import org.opendaylight.netconf.impl.SessionIdProvider;
 import org.opendaylight.netconf.mapping.api.NetconfOperation;
 import org.opendaylight.netconf.mapping.api.NetconfOperationService;
 import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
+import org.opendaylight.netconf.server.api.SessionIdProvider;
 import org.opendaylight.netconf.test.tool.rpc.DataList;
 import org.opendaylight.netconf.test.tool.rpc.SimulatedCommit;
 import org.opendaylight.netconf.test.tool.rpc.SimulatedCreateSubscription;
+import org.opendaylight.netconf.test.tool.rpc.SimulatedDiscardChanges;
 import org.opendaylight.netconf.test.tool.rpc.SimulatedEditConfig;
 import org.opendaylight.netconf.test.tool.rpc.SimulatedGet;
 import org.opendaylight.netconf.test.tool.rpc.SimulatedGetConfig;
 import org.opendaylight.netconf.test.tool.rpc.SimulatedLock;
 import org.opendaylight.netconf.test.tool.rpc.SimulatedUnLock;
+import org.opendaylight.yangtools.concepts.Registration;
 
 class SimulatedOperationProvider implements NetconfOperationServiceFactory {
     private final Set<Capability> caps;
     private final SimulatedOperationService simulatedOperationService;
 
-    public SimulatedOperationProvider(final SessionIdProvider idProvider,
-                                      final Set<Capability> caps,
-                                      final Optional<File> notificationsFile,
-                                      final Optional<File> initialConfigXMLFile) {
+    SimulatedOperationProvider(final SessionIdProvider idProvider,
+                               final Set<Capability> caps,
+                               final Optional<File> notificationsFile,
+                               final Optional<File> initialConfigXMLFile) {
         this.caps = caps;
-        simulatedOperationService = new SimulatedOperationService(idProvider.getCurrentSessionId(), notificationsFile, initialConfigXMLFile);
+        simulatedOperationService = new SimulatedOperationService(
+            idProvider.getCurrentSessionId(), notificationsFile, initialConfigXMLFile);
     }
 
     @Override
@@ -46,14 +47,9 @@ class SimulatedOperationProvider implements NetconfOperationServiceFactory {
     }
 
     @Override
-    public AutoCloseable registerCapabilityListener(
-            final CapabilityListener listener) {
-        listener.onCapabilitiesChanged(caps, Collections.<Capability>emptySet());
-        return new AutoCloseable() {
-            @Override
-            public void close() throws Exception {
-            }
-        };
+    public Registration registerCapabilityListener(final CapabilityListener listener) {
+        listener.onCapabilitiesChanged(caps, Set.of());
+        return () -> { };
     }
 
     @Override
@@ -67,7 +63,8 @@ class SimulatedOperationProvider implements NetconfOperationServiceFactory {
         private final Optional<File> notificationsFile;
         private final Optional<File> initialConfigXMLFile;
 
-        public SimulatedOperationService(final long currentSessionId, final Optional<File> notificationsFile, final Optional<File> initialConfigXMLFile) {
+        SimulatedOperationService(final long currentSessionId, final Optional<File> notificationsFile,
+                                  final Optional<File> initialConfigXMLFile) {
             this.currentSessionId = currentSessionId;
             this.notificationsFile = notificationsFile;
             this.initialConfigXMLFile = initialConfigXMLFile;
@@ -78,13 +75,17 @@ class SimulatedOperationProvider implements NetconfOperationServiceFactory {
             final DataList storage = new DataList();
             final SimulatedGet sGet = new SimulatedGet(String.valueOf(currentSessionId), storage);
             final SimulatedEditConfig sEditConfig = new SimulatedEditConfig(String.valueOf(currentSessionId), storage);
-            final SimulatedGetConfig sGetConfig = new SimulatedGetConfig(String.valueOf(currentSessionId), storage, initialConfigXMLFile );
+            final SimulatedGetConfig sGetConfig = new SimulatedGetConfig(
+                String.valueOf(currentSessionId), storage, initialConfigXMLFile);
             final SimulatedCommit sCommit = new SimulatedCommit(String.valueOf(currentSessionId));
             final SimulatedLock sLock = new SimulatedLock(String.valueOf(currentSessionId));
             final SimulatedUnLock sUnlock = new SimulatedUnLock(String.valueOf(currentSessionId));
             final SimulatedCreateSubscription sCreateSubs = new SimulatedCreateSubscription(
                     String.valueOf(currentSessionId), notificationsFile);
-            return Sets.<NetconfOperation>newHashSet(sGet, sGetConfig, sEditConfig, sCommit, sLock, sUnlock, sCreateSubs);
+            final SimulatedDiscardChanges sDiscardChanges = new SimulatedDiscardChanges(
+                String.valueOf(currentSessionId));
+            return Sets.newHashSet(
+                sGet, sGetConfig, sEditConfig, sCommit, sLock, sUnlock, sCreateSubs, sDiscardChanges);
         }
 
         @Override