TransportpceNetworkutilsService networkutilsServiceImpl = new NetworkUtilsImpl(
lightyServices.getBindingDataBroker());
PortMapping portMapping = initPortMapping(lightyServices);
- NetworkModelService networkModelService = new NetworkModelServiceImpl(networkTransaction, linkDiscoveryImpl,
- portMapping, lightyServices.getBindingNotificationPublishService());
+ NetworkModelService networkModelService = new NetworkModelServiceImpl(lightyServices.getBindingDataBroker(),
+ deviceTransactionManager, networkTransaction, portMapping,
+ lightyServices.getBindingNotificationPublishService());
FrequenciesService networkModelWavelengthService =
new FrequenciesServiceImpl(lightyServices.getBindingDataBroker());
NetConfTopologyListener netConfTopologyListener = new NetConfTopologyListener(networkModelService,
import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors;
import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.NotificationPublishService;
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.R2RLinkDiscovery;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.ConnectionOper.ConnectionStatus;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.Uint32;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Component(immediate = true)
public class NetworkModelServiceImpl implements NetworkModelService {
private static final Logger LOG = LoggerFactory.getLogger(NetworkModelServiceImpl.class);
private Map<TopologyChangesKey, TopologyChanges> topologyChanges;
private TopologyUpdateResult notification = null;
- public NetworkModelServiceImpl(final NetworkTransactionService networkTransactionService,
- final R2RLinkDiscovery linkDiscovery, PortMapping portMapping,
- final NotificationPublishService notificationPublishService) {
+ @Activate
+ public NetworkModelServiceImpl(@Reference DataBroker dataBroker,
+ @Reference DeviceTransactionManager deviceTransactionManager,
+ @Reference final NetworkTransactionService networkTransactionService,
+ @Reference PortMapping portMapping,
+ @Reference final NotificationPublishService notificationPublishService) {
this.networkTransactionService = networkTransactionService;
- this.linkDiscovery = linkDiscovery;
+ this.linkDiscovery = new R2RLinkDiscovery(dataBroker, deviceTransactionManager, networkTransactionService);
this.portMapping = portMapping;
this.topologyShardMountedDevice = new HashMap<String, TopologyShard>();
this.otnTopologyShardMountedDevice = new HashMap<String, TopologyShard>();
this.notificationPublishService = notificationPublishService;
this.topologyChanges = new HashMap<TopologyChangesKey, TopologyChanges>();
- }
-
- public void init() {
- LOG.info("init ...");
- }
-
- public void close() {
+ LOG.debug("NetworkModelServiceImpl instantiated");
}
@Override
<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" />
-
- <bean id="networkModelService" class="org.opendaylight.transportpce.networkmodel.service.NetworkModelServiceImpl">
- <argument ref="networkTransactionImpl" />
- <argument ref="linkDiscoveryImpl" />
- <argument ref="portMapping" />
- <argument ref="notificationPublishService" />
- </bean>
+ <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="dataBroker" />
</bean>
- <bean id="linkDiscoveryImpl" class="org.opendaylight.transportpce.networkmodel.R2RLinkDiscovery">
- <argument ref="dataBroker" />
- <argument ref="deviceTransactionManager" />
- <argument ref="networkTransactionImpl" />
- </bean>
-
- <service ref="networkModelService" interface="org.opendaylight.transportpce.networkmodel.service.NetworkModelService" />
</blueprint>