Decouple config and netconf subsystems.
[controller.git] / opendaylight / netconf / config-netconf-connector / src / main / java / org / opendaylight / controller / netconf / confignetconfconnector / osgi / NetconfOperationProvider.java
index 7f4f8fccb50740c9a9c990e0f942c11b80a5fa64..b0a62a04dc19a7a442d1610bf38b40fc6caa4a43 100644 (file)
@@ -10,49 +10,46 @@ package org.opendaylight.controller.netconf.confignetconfconnector.osgi;
 
 import com.google.common.base.Optional;
 import com.google.common.collect.Sets;
-import org.opendaylight.controller.config.util.ConfigRegistryClient;
+import java.util.Set;
+import org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade;
 import org.opendaylight.controller.netconf.confignetconfconnector.operations.Commit;
 import org.opendaylight.controller.netconf.confignetconfconnector.operations.DiscardChanges;
+import org.opendaylight.controller.netconf.confignetconfconnector.operations.Lock;
+import org.opendaylight.controller.netconf.confignetconfconnector.operations.UnLock;
 import org.opendaylight.controller.netconf.confignetconfconnector.operations.Validate;
 import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfig;
 import org.opendaylight.controller.netconf.confignetconfconnector.operations.get.Get;
 import org.opendaylight.controller.netconf.confignetconfconnector.operations.getconfig.GetConfig;
 import org.opendaylight.controller.netconf.confignetconfconnector.operations.runtimerpc.RuntimeRpc;
-import org.opendaylight.controller.netconf.confignetconfconnector.transactions.TransactionProvider;
 import org.opendaylight.controller.netconf.mapping.api.NetconfOperation;
 
-import java.util.Set;
-
 final class NetconfOperationProvider {
     private final Set<NetconfOperation> operations;
 
-    NetconfOperationProvider(YangStoreSnapshot yangStoreSnapshot, ConfigRegistryClient configRegistryClient,
-            TransactionProvider transactionProvider, String netconfSessionIdForReporting) {
+    NetconfOperationProvider(final ConfigSubsystemFacade configSubsystemFacade, final String netconfSessionIdForReporting) {
 
-        operations = setUpOperations(yangStoreSnapshot, configRegistryClient, transactionProvider,
-                netconfSessionIdForReporting);
+        operations = setUpOperations(configSubsystemFacade, netconfSessionIdForReporting);
     }
 
     Set<NetconfOperation> getOperations() {
         return operations;
     }
 
-    private static Set<NetconfOperation> setUpOperations(YangStoreSnapshot yangStoreSnapshot,
-            ConfigRegistryClient configRegistryClient, TransactionProvider transactionProvider,
+    private static Set<NetconfOperation> setUpOperations(final ConfigSubsystemFacade configSubsystemFacade,
             String netconfSessionIdForReporting) {
         Set<NetconfOperation> ops = Sets.newHashSet();
 
-        GetConfig getConfigOp = new GetConfig(yangStoreSnapshot, Optional.<String> absent(), transactionProvider,
-                configRegistryClient, netconfSessionIdForReporting);
+        GetConfig getConfigOp = new GetConfig(configSubsystemFacade, Optional.<String> absent(), netconfSessionIdForReporting);
 
         ops.add(getConfigOp);
-        ops.add(new EditConfig(yangStoreSnapshot, transactionProvider, configRegistryClient,
-                netconfSessionIdForReporting));
-        ops.add(new Commit(transactionProvider, configRegistryClient, netconfSessionIdForReporting));
-        ops.add(new Get(yangStoreSnapshot, configRegistryClient, netconfSessionIdForReporting, transactionProvider));
-        ops.add(new DiscardChanges(transactionProvider, configRegistryClient, netconfSessionIdForReporting));
-        ops.add(new Validate(transactionProvider, configRegistryClient, netconfSessionIdForReporting));
-        ops.add(new RuntimeRpc(yangStoreSnapshot, configRegistryClient, netconfSessionIdForReporting));
+        ops.add(new EditConfig(configSubsystemFacade, netconfSessionIdForReporting));
+        ops.add(new Commit(configSubsystemFacade, netconfSessionIdForReporting));
+        ops.add(new Lock(netconfSessionIdForReporting));
+        ops.add(new UnLock(netconfSessionIdForReporting));
+        ops.add(new Get(configSubsystemFacade, netconfSessionIdForReporting));
+        ops.add(new DiscardChanges(configSubsystemFacade, netconfSessionIdForReporting));
+        ops.add(new Validate(configSubsystemFacade, netconfSessionIdForReporting));
+        ops.add(new RuntimeRpc(configSubsystemFacade, netconfSessionIdForReporting));
 
         return ops;
     }