X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=networkmodel%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fnetworkmodel%2FNetworkModelProvider.java;h=4dcf192afc3bc6ccd7512a2aeef270e789101fae;hb=67763b4d82e44c68fdbc765cdeec5496ff65b01e;hp=f6b5e7bad739337f893325c4052464a7907cfed0;hpb=7181ac3c2277d1e1b4411a3b1b19d89a7bcc70fb;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 f6b5e7bad..4dcf192af 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,56 @@ 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.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.rev210315.Network; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210315.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.rev210315.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 ObjectRegistration networkutilsServiceRpcRegistration; + private TpceNetwork tpceNetwork; + private ListenerRegistration serviceHandlerListenerRegistration; + private NotificationService notificationService; + private FrequenciesService frequenciesService; - 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) { 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; } /** @@ -53,18 +66,20 @@ public class NetworkModelProvider { */ public void init() { LOG.info("NetworkModelProvider Session Initiated"); - ClliNetwork.createClliLayer(dataBroker); - OpenRoadmNetwork.createOpenRoadmNetworkLayer(dataBroker); - openRoadmFactory.createTopoLayerVersionControl(networkTransactionService); - openRoadmFactory.createOtnTopoLayerVersionControl(networkTransactionService); + 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); networkutilsServiceRpcRegistration = rpcProviderService.registerRpcImplementation(TransportpceNetworkutilsService.class, networkutilsService); + TransportpceServicehandlerListener serviceHandlerListner = + new ServiceHandlerListener(frequenciesService); + serviceHandlerListenerRegistration = notificationService.registerNotificationListener(serviceHandlerListner); } - /** * Method called when the blueprint container is destroyed. */ @@ -76,6 +91,6 @@ public class NetworkModelProvider { if (networkutilsServiceRpcRegistration != null) { networkutilsServiceRpcRegistration.close(); } + serviceHandlerListenerRegistration.close(); } - }