Decouple config and netconf subsystems.
[controller.git] / opendaylight / netconf / config-netconf-connector / src / main / java / org / opendaylight / controller / netconf / confignetconfconnector / osgi / NetconfOperationProvider.java
index e3fdc056d9d77d482adfe53aa513618ba720566e..b0a62a04dc19a7a442d1610bf38b40fc6caa4a43 100644 (file)
@@ -11,7 +11,7 @@ package org.opendaylight.controller.netconf.confignetconfconnector.osgi;
 import com.google.common.base.Optional;
 import com.google.common.collect.Sets;
 import java.util.Set;
-import org.opendaylight.controller.config.util.ConfigRegistryClient;
+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;
@@ -21,41 +21,35 @@ import org.opendaylight.controller.netconf.confignetconfconnector.operations.edi
 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;
 
 final class NetconfOperationProvider {
     private final Set<NetconfOperation> operations;
 
-    NetconfOperationProvider(YangStoreContext 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(YangStoreContext 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 EditConfig(configSubsystemFacade, netconfSessionIdForReporting));
+        ops.add(new Commit(configSubsystemFacade, netconfSessionIdForReporting));
         ops.add(new Lock(netconfSessionIdForReporting));
         ops.add(new UnLock(netconfSessionIdForReporting));
-        ops.add(new Get(transactionProvider, yangStoreSnapshot, configRegistryClient, netconfSessionIdForReporting));
-        ops.add(new DiscardChanges(transactionProvider, configRegistryClient, netconfSessionIdForReporting));
-        ops.add(new Validate(transactionProvider, configRegistryClient, netconfSessionIdForReporting));
-        ops.add(new RuntimeRpc(yangStoreSnapshot, configRegistryClient, 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;
     }