package org.opendaylight.genius.interfacemanager.listeners;
import com.google.common.util.concurrent.ListenableFuture;
+import java.util.List;
+import java.util.concurrent.Callable;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
-import org.opendaylight.genius.datastoreutils.AsyncDataChangeListenerBase;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase;
import org.opendaylight.genius.datastoreutils.DataStoreJobCoordinator;
import org.opendaylight.genius.interfacemanager.IfmConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.List;
-import java.util.concurrent.Callable;
-
+@Singleton
public class InterfaceTopologyStateListener extends AsyncDataTreeChangeListenerBase<OvsdbBridgeAugmentation, InterfaceTopologyStateListener> {
private static final Logger LOG = LoggerFactory.getLogger(InterfaceTopologyStateListener.class);
- private DataBroker dataBroker;
+ private final DataBroker dataBroker;
- public InterfaceTopologyStateListener(DataBroker dataBroker) {
+ @Inject
+ public InterfaceTopologyStateListener(final DataBroker dataBroker) {
super(OvsdbBridgeAugmentation.class, InterfaceTopologyStateListener.class);
this.dataBroker = dataBroker;
+ this.registerListener(LogicalDatastoreType.OPERATIONAL, dataBroker);
}
@Override
}
@Override
- public List<ListenableFuture<Void>> call() throws Exception {
+ public List<ListenableFuture<Void>> call() {
// If another renderer(for eg : CSS) needs to be supported, check can be performed here
// to call the respective helpers.
return OvsInterfaceTopologyStateAddHelper.addPortToBridge(instanceIdentifier,
}
@Override
- public List<ListenableFuture<Void>> call() throws Exception {
+ public List<ListenableFuture<Void>> call() {
// If another renderer(for eg : CSS) needs to be supported, check can be performed here
// to call the respective helpers.
return OvsInterfaceTopologyStateRemoveHelper.removePortFromBridge(instanceIdentifier,
}
@Override
- public List<ListenableFuture<Void>> call() throws Exception {
+ public List<ListenableFuture<Void>> call() {
// If another renderer(for eg : CSS) needs to be supported, check can be performed here
// to call the respective helpers.
return OvsInterfaceTopologyStateUpdateHelper.updateBridgeRefEntry(instanceIdentifier,