import org.opendaylight.transportpce.tapi.topology.TapiPortMappingListener;
import org.opendaylight.transportpce.tapi.utils.TapiLink;
import org.opendaylight.transportpce.tapi.utils.TapiListener;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.TransportpceNetworkutilsService;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.TransportpceOlmService;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.TransportpceTapinetworkutilsService;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.OrgOpenroadmServiceService;
LOG.info("Creating network-model beans ...");
R2RLinkDiscovery linkDiscoveryImpl = new R2RLinkDiscovery(lightyServices.getBindingDataBroker(),
deviceTransactionManager, networkTransaction);
- TransportpceNetworkutilsService networkutilsServiceImpl = new NetworkUtilsImpl(
- lightyServices.getBindingDataBroker());
PortMapping portMapping = initPortMapping(lightyServices);
NetworkModelService networkModelService = new NetworkModelServiceImpl(lightyServices.getBindingDataBroker(),
deviceTransactionManager, networkTransaction, portMapping,
lightyServices.getBindingNotificationPublishService());
- FrequenciesService networkModelWavelengthService =
- new FrequenciesServiceImpl(lightyServices.getBindingDataBroker());
- NetConfTopologyListener netConfTopologyListener = new NetConfTopologyListener(networkModelService,
+ FrequenciesService networkModelWavelengthService = new FrequenciesServiceImpl(
+ lightyServices.getBindingDataBroker());
+ new NetConfTopologyListener(networkModelService,
lightyServices.getBindingDataBroker(), deviceTransactionManager, portMapping);
- PortMappingListener portMappingListener = new PortMappingListener(networkModelService);
+ new PortMappingListener(networkModelService);
networkModelProvider = new NetworkModelProvider(networkTransaction, lightyServices.getBindingDataBroker(),
- lightyServices.getRpcProviderService(), networkutilsServiceImpl, netConfTopologyListener,
- lightyServices.getNotificationService(), networkModelWavelengthService, portMappingListener);
+ lightyServices.getRpcProviderService(), networkModelService, deviceTransactionManager, portMapping,
+ lightyServices.getNotificationService(), networkModelWavelengthService);
LOG.info("Creating PCE beans ...");
// TODO: pass those parameters through command line
protected boolean initProcedure() {
LOG.info("Initializing PCE provider ...");
pceProvider.init();
- LOG.info("Initializing network-model provider ...");
- networkModelProvider.init();
LOG.info("Initializing OLM provider ...");
olmProvider.init();
LOG.info("Initializing renderer provider ...");
*/
package org.opendaylight.transportpce.networkmodel;
+import org.eclipse.jdt.annotation.NonNull;
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.common.api.LogicalDatastoreType;
import org.opendaylight.transportpce.common.InstanceIdentifiers;
import org.opendaylight.transportpce.common.NetworkUtils;
+import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
+import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.network.NetworkTransactionService;
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.service.NetworkModelService;
import org.opendaylight.transportpce.networkmodel.util.TpceNetwork;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.TransportpceNetworkutilsService;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.Network;
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.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Component
public class NetworkModelProvider {
private static final Logger LOG = LoggerFactory.getLogger(NetworkModelProvider.class);
private final NetConfTopologyListener topologyListener;
private ListenerRegistration<NetConfTopologyListener> dataTreeChangeListenerRegistration;
private ListenerRegistration<PortMappingListener> mappingListenerRegistration;
- private ObjectRegistration<TransportpceNetworkutilsService> networkutilsServiceRpcRegistration;
+ private @NonNull Registration networkutilsServiceRpcRegistration;
private TpceNetwork tpceNetwork;
private ListenerRegistration<TransportpceServicehandlerListener> 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, NotificationService notificationService,
- FrequenciesService frequenciesService, PortMappingListener portMappingListener) {
+ @Activate
+ public NetworkModelProvider(@Reference NetworkTransactionService networkTransactionService,
+ @Reference final DataBroker dataBroker,
+ @Reference final RpcProviderService rpcProviderService,
+ @Reference final NetworkModelService networkModelService,
+ @Reference DeviceTransactionManager deviceTransactionManager,
+ @Reference PortMapping portMapping,
+ @Reference NotificationService notificationService,
+ @Reference FrequenciesService frequenciesService) {
this.dataBroker = dataBroker;
this.rpcProviderService = rpcProviderService;
- this.networkutilsService = networkutilsService;
- this.topologyListener = topologyListener;
- this.tpceNetwork = new TpceNetwork(networkTransactionService);
this.notificationService = notificationService;
this.frequenciesService = frequenciesService;
- this.portMappingListener = portMappingListener;
+ this.networkutilsService = new NetworkUtilsImpl(dataBroker);
+ this.topologyListener = new NetConfTopologyListener(networkModelService, dataBroker, deviceTransactionManager,
+ portMapping);
+ this.tpceNetwork = new TpceNetwork(networkTransactionService);
+ this.portMappingListener = new PortMappingListener(networkModelService);
+ this.init();
}
/**
* Method called when the blueprint container is created.
*/
- public void init() {
+ private void init() {
LOG.info("NetworkModelProvider Session Initiated");
tpceNetwork.createLayer(NetworkUtils.CLLI_NETWORK_ID);
tpceNetwork.createLayer(NetworkUtils.UNDERLAY_NETWORK_ID);
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);
+ networkutilsServiceRpcRegistration = rpcProviderService
+ .registerRpcImplementation(TransportpceNetworkutilsService.class, networkutilsService);
+ TransportpceServicehandlerListener serviceHandlerListner = new ServiceHandlerListener(frequenciesService);
serviceHandlerListenerRegistration = notificationService.registerNotificationListener(serviceHandlerListner);
}
/**
* Method called when the blueprint container is destroyed.
*/
+ @Deactivate
public void close() {
LOG.info("NetworkModelProvider Closed");
if (dataTreeChangeListenerRegistration != null) {
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!-- Copyright © 2016 Orange and others. All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution,
- and is available at http://www.eclipse.org/legal/epl-v10.html -->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
- <reference id="dataBroker" interface="org.opendaylight.mdsal.binding.api.DataBroker" />
- <reference id="rpcProviderService" interface="org.opendaylight.mdsal.binding.api.RpcProviderService" />
- <reference id="deviceTransactionManager" interface="org.opendaylight.transportpce.common.device.DeviceTransactionManager" />
- <reference id="portMapping" interface="org.opendaylight.transportpce.common.mapping.PortMapping" />
- <reference id="networkTransactionImpl" interface="org.opendaylight.transportpce.common.network.NetworkTransactionService" />
- <reference id="mappingUtils" interface="org.opendaylight.transportpce.common.mapping.MappingUtils" />
- <reference id="notificationService" interface="org.opendaylight.mdsal.binding.api.NotificationService"/>
- <reference id="notificationPublishService" interface="org.opendaylight.mdsal.binding.api.NotificationPublishService"/>
- <reference id="frequenciesService" interface="org.opendaylight.transportpce.networkmodel.service.FrequenciesService" />
- <reference id="networkModelService" interface="org.opendaylight.transportpce.networkmodel.service.NetworkModelService" />
-
- <bean id="provider" class="org.opendaylight.transportpce.networkmodel.NetworkModelProvider"
- init-method="init" destroy-method="close">
- <argument ref="networkTransactionImpl" />
- <argument ref="dataBroker" />
- <argument ref="rpcProviderService" />
- <argument ref="networkutilsServiceImpl" />
- <argument ref="netconfTopologyListener" />
- <argument ref="notificationService" />
- <argument ref="frequenciesService" />
- <argument ref="portMappingListener" />
- </bean>
-
- <bean id="portMappingListener" class="org.opendaylight.transportpce.networkmodel.listeners.PortMappingListener">
- <argument ref="networkModelService" />
- </bean>
-
- <bean id="netconfTopologyListener" class="org.opendaylight.transportpce.networkmodel.NetConfTopologyListener">
- <argument ref="networkModelService" />
- <argument ref="dataBroker" />
- <argument ref="deviceTransactionManager" />
- <argument ref="portMapping" />
- </bean>
-
- <bean id="networkutilsServiceImpl" class="org.opendaylight.transportpce.networkmodel.NetworkUtilsImpl">
- <argument ref="dataBroker" />
- </bean>
-
-</blueprint>
import org.opendaylight.mdsal.binding.api.NotificationService;
import org.opendaylight.mdsal.binding.api.RpcProviderService;
import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
+import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.common.network.NetworkTransactionService;
-import org.opendaylight.transportpce.networkmodel.listeners.PortMappingListener;
import org.opendaylight.transportpce.networkmodel.service.FrequenciesService;
+import org.opendaylight.transportpce.networkmodel.service.NetworkModelService;
import org.opendaylight.transportpce.test.AbstractTest;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.TransportpceNetworkutilsService;
@Mock
RpcProviderService rpcProviderService;
@Mock
- TransportpceNetworkutilsService networkutilsService;
+ NetworkModelService networkModelService;
@Mock
- NetConfTopologyListener topologyListener;
+ DeviceTransactionManager deviceTransactionManager;
+ @Mock
+ PortMapping portMapping;
@Mock
- private NotificationService notificationService;
+ NetConfTopologyListener topologyListener;
@Mock
- private FrequenciesService frequenciesService;
+ NotificationService notificationService;
@Mock
- private PortMappingListener portMappingListener;
+ FrequenciesService frequenciesService;
@Test
void networkmodelProviderInitTest() {
- NetworkModelProvider provider = new NetworkModelProvider(networkTransactionService, getDataBroker(),
- rpcProviderService, networkutilsService, topologyListener, notificationService,
- frequenciesService, portMappingListener);
Answer<FluentFuture<CommitInfo>> answer = new Answer<FluentFuture<CommitInfo>>() {
@Override
};
when(networkTransactionService.commit()).then(answer);
- provider.init();
+ new NetworkModelProvider(networkTransactionService, getDataBroker(),
+ rpcProviderService, networkModelService, deviceTransactionManager, portMapping, notificationService,
+ frequenciesService);
verify(rpcProviderService, times(1))
.registerRpcImplementation(any(), any(TransportpceNetworkutilsService.class));