- public LLDPDiscoveryProvider getManager() {
- return manager;
- }
- public void setManager(LLDPDiscoveryProvider manager) {
- this.manager = manager;
- }
- private LLDPLinkAger() {
- timer.schedule(new LLDPAgingTask(), 0,LLDPDiscoveryUtils.LLDP_INTERVAL);
- }
- public static LLDPLinkAger getInstance() {
- return instance;
+ /**
+ * default ctor - start timer.
+ */
+ @Inject
+ @SuppressWarnings("checkstyle:IllegalCatch")
+ public LLDPLinkAger(final TopologyLldpDiscoveryConfig topologyLldpDiscoveryConfig,
+ final NotificationPublishService notificationService,
+ final ConfigurationService configurationService,
+ final EntityOwnershipService entityOwnershipService,
+ final DataBroker dataBroker) {
+ linkExpirationTime = topologyLldpDiscoveryConfig.getTopologyLldpExpirationInterval().getValue().toJava();
+ this.notificationService = notificationService;
+ configurationServiceRegistration = configurationService.registerListener(this);
+ eos = entityOwnershipService;
+ final DataTreeIdentifier<Link> dtiToNodeConnector = DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL,
+ II_TO_LINK);
+ try {
+ listenerRegistration = dataBroker.registerDataTreeChangeListener(dtiToNodeConnector, LLDPLinkAger.this);
+ } catch (Exception e) {
+ LOG.error("DataTreeChangeListeners registration failed:", e);
+ throw new IllegalStateException("LLDPLinkAger startup failed!", e);
+ }
+ timer.schedule(new LLDPAgingTask(), 0,
+ topologyLldpDiscoveryConfig.getTopologyLldpInterval().getValue().toJava());