X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=networkmodel%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fnetworkmodel%2FNetworkModelProvider.java;h=f1c56764f1e7305e2ce99413552c1fd34e056c74;hb=268165cb2822b6ce4c55f00cac63eed2bb222ec7;hp=2520579c169aae97b8214e1f8ccacfb3ddc7cb92;hpb=738d0daf16440e92fc7b111d3db83b42573c705a;p=transportpce.git diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java index 2520579c1..f1c56764f 100644 --- a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java +++ b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java @@ -9,43 +9,60 @@ package org.opendaylight.transportpce.networkmodel; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.DataTreeIdentifier; +import org.opendaylight.mdsal.binding.api.NotificationService; import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.InstanceIdentifiers; +import org.opendaylight.transportpce.common.NetworkUtils; 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.listeners.PortMappingListener; +import org.opendaylight.transportpce.networkmodel.listeners.ServiceHandlerListener; +import org.opendaylight.transportpce.networkmodel.service.FrequenciesService; +import org.opendaylight.transportpce.networkmodel.util.TpceNetwork; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.TransportpceNetworkutilsService; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.Network; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.TransportpceServicehandlerListener; 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; import org.opendaylight.yangtools.concepts.ObjectRegistration; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class NetworkModelProvider { private static final Logger LOG = LoggerFactory.getLogger(NetworkModelProvider.class); + private static final InstanceIdentifier MAPPING_II = InstanceIdentifier.create(Network.class) + .child(org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network + .Nodes.class) + .child(Mapping.class); - private NetworkTransactionService networkTransactionService; private final DataBroker dataBroker; private final RpcProviderService rpcProviderService; private final TransportpceNetworkutilsService networkutilsService; private final NetConfTopologyListener topologyListener; - private final OpenRoadmFactory openRoadmFactory; private ListenerRegistration dataTreeChangeListenerRegistration; + private ListenerRegistration mappingListenerRegistration; private ObjectRegistration networkutilsServiceRpcRegistration; + private TpceNetwork tpceNetwork; + private ListenerRegistration serviceHandlerListenerRegistration; + private NotificationService notificationService; + private FrequenciesService frequenciesService; + private PortMappingListener portMappingListener; - public NetworkModelProvider(NetworkTransactionService networkTransactionService, - final DataBroker dataBroker, final RpcProviderService rpcProviderService, - final TransportpceNetworkutilsService networkutilsService, final NetConfTopologyListener topologyListener, - OpenRoadmFactory openRoadmFactory) { - this.networkTransactionService = networkTransactionService; + public NetworkModelProvider(NetworkTransactionService networkTransactionService, final DataBroker dataBroker, + final RpcProviderService rpcProviderService, final TransportpceNetworkutilsService networkutilsService, + final NetConfTopologyListener topologyListener, NotificationService notificationService, + FrequenciesService frequenciesService, PortMappingListener portMappingListener) { this.dataBroker = dataBroker; this.rpcProviderService = rpcProviderService; this.networkutilsService = networkutilsService; this.topologyListener = topologyListener; - this.openRoadmFactory = openRoadmFactory; + this.tpceNetwork = new TpceNetwork(networkTransactionService); + this.notificationService = notificationService; + this.frequenciesService = frequenciesService; + this.portMappingListener = portMappingListener; } /** @@ -53,17 +70,22 @@ public class NetworkModelProvider { */ public void init() { LOG.info("NetworkModelProvider Session Initiated"); - ClliNetwork.createClliLayer(dataBroker); - OpenRoadmNetwork.createOpenRoadmNetworkLayer(dataBroker); - openRoadmFactory.createTopoLayerVersionControl(networkTransactionService); - dataTreeChangeListenerRegistration = - dataBroker.registerDataTreeChangeListener(DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, + tpceNetwork.createLayer(NetworkUtils.CLLI_NETWORK_ID); + tpceNetwork.createLayer(NetworkUtils.UNDERLAY_NETWORK_ID); + tpceNetwork.createLayer(NetworkUtils.OVERLAY_NETWORK_ID); + tpceNetwork.createLayer(NetworkUtils.OTN_NETWORK_ID); + dataTreeChangeListenerRegistration = dataBroker.registerDataTreeChangeListener( + DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, InstanceIdentifiers.NETCONF_TOPOLOGY_II.child(Node.class)), topologyListener); + mappingListenerRegistration = dataBroker.registerDataTreeChangeListener( + DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, MAPPING_II), portMappingListener); networkutilsServiceRpcRegistration = rpcProviderService.registerRpcImplementation(TransportpceNetworkutilsService.class, networkutilsService); + TransportpceServicehandlerListener serviceHandlerListner = + new ServiceHandlerListener(frequenciesService); + serviceHandlerListenerRegistration = notificationService.registerNotificationListener(serviceHandlerListner); } - /** * Method called when the blueprint container is destroyed. */ @@ -72,9 +94,12 @@ public class NetworkModelProvider { if (dataTreeChangeListenerRegistration != null) { dataTreeChangeListenerRegistration.close(); } + if (mappingListenerRegistration != null) { + mappingListenerRegistration.close(); + } if (networkutilsServiceRpcRegistration != null) { networkutilsServiceRpcRegistration.close(); } + serviceHandlerListenerRegistration.close(); } - }