Prepare NetworkModel to support ordm 2.2.x devices
[transportpce.git] / networkmodel / src / main / java / org / opendaylight / transportpce / networkmodel / NetworkModelProvider.java
index ff946da7d3d88a4376da3acf545a4ec065611902..9680c37840a9930a9cb89d5f5553e9efd5fa5703 100644 (file)
@@ -13,9 +13,10 @@ import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
 import org.opendaylight.transportpce.common.InstanceIdentifiers;
+import org.opendaylight.transportpce.common.network.NetworkTransactionService;
 import org.opendaylight.transportpce.networkmodel.util.ClliNetwork;
+import org.opendaylight.transportpce.networkmodel.util.OpenRoadmFactory;
 import org.opendaylight.transportpce.networkmodel.util.OpenRoadmNetwork;
-import org.opendaylight.transportpce.networkmodel.util.OpenRoadmTopology;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.TransportpceNetworkutilsService;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
@@ -26,22 +27,25 @@ public class NetworkModelProvider {
 
     private static final Logger LOG = LoggerFactory.getLogger(NetworkModelProvider.class);
 
+    private NetworkTransactionService networkTransactionService;
     private final DataBroker dataBroker;
     private final RpcProviderRegistry rpcProviderRegistry;
     private final TransportpceNetworkutilsService networkutilsService;
     private final NetConfTopologyListener topologyListener;
-    private final OpenRoadmTopology openRoadmTopology;
+    private final OpenRoadmFactory openRoadmFactory;
     private ListenerRegistration<NetConfTopologyListener> dataTreeChangeListenerRegistration;
     private BindingAwareBroker.RpcRegistration<TransportpceNetworkutilsService> networkutilsServiceRpcRegistration;
 
-    public NetworkModelProvider(final DataBroker dataBroker, final RpcProviderRegistry rpcProviderRegistry,
+    public NetworkModelProvider(NetworkTransactionService networkTransactionService,
+                                final DataBroker dataBroker, final RpcProviderRegistry rpcProviderRegistry,
             final TransportpceNetworkutilsService networkutilsService, final NetConfTopologyListener topologyListener,
-            OpenRoadmTopology openRoadmTopology) {
+                                OpenRoadmFactory openRoadmFactory) {
+        this.networkTransactionService = networkTransactionService;
         this.dataBroker = dataBroker;
         this.rpcProviderRegistry = rpcProviderRegistry;
         this.networkutilsService = networkutilsService;
         this.topologyListener = topologyListener;
-        this.openRoadmTopology = openRoadmTopology;
+        this.openRoadmFactory = openRoadmFactory;
     }
 
     /**
@@ -51,17 +55,18 @@ public class NetworkModelProvider {
         LOG.info("NetworkModelProvider Session Initiated");
         ClliNetwork.createClliLayer(dataBroker);
         OpenRoadmNetwork.createOpenRoadmNetworkLayer(dataBroker);
-        openRoadmTopology.createTopoLayer(dataBroker);
+        openRoadmFactory.createTopoLayerVersionControl(networkTransactionService);
         dataTreeChangeListenerRegistration =
-                dataBroker.registerDataTreeChangeListener(new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL,
-                        InstanceIdentifiers.NETCONF_TOPOLOGY_II.child(Node.class)), topologyListener);
+            dataBroker.registerDataTreeChangeListener(new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL,
+                InstanceIdentifiers.NETCONF_TOPOLOGY_II.child(Node.class)), topologyListener);
         networkutilsServiceRpcRegistration =
-                rpcProviderRegistry.addRpcImplementation(TransportpceNetworkutilsService.class, networkutilsService);
+            rpcProviderRegistry.addRpcImplementation(TransportpceNetworkutilsService.class, networkutilsService);
     }
 
-    /**
-     * Method called when the blueprint container is destroyed.
-     */
+
+        /**
+         * Method called when the blueprint container is destroyed.
+         */
     public void close() {
         LOG.info("NetworkModelProvider Closed");
         if (dataTreeChangeListenerRegistration != null) {