*/
package org.opendaylight.netvirt.vpnmanager;
+import static org.opendaylight.netvirt.vpnmanager.VpnUtil.requireNonNullElse;
+
import com.google.common.base.Optional;
import java.util.ArrayList;
import java.util.Collections;
private final VpnFootprintService vpnFootprintService;
private final JobCoordinator jobCoordinator;
private final ExecutorService executorService = Executors.newSingleThreadExecutor();
+ private final VpnUtil vpnUtil;
/*public VpnInterfaceOpListener(final DataBroker dataBroker) {
super(VpnInterface.class);
@Inject
public VpnInterfaceOpListener(final DataBroker dataBroker, final VpnInterfaceManager vpnInterfaceManager,
- final VpnFootprintService vpnFootprintService, final JobCoordinator jobCoordinator) {
+ final VpnFootprintService vpnFootprintService, final JobCoordinator jobCoordinator,
+ final VpnUtil vpnUtil) {
super(VpnInterfaceOpDataEntry.class, VpnInterfaceOpListener.class);
this.dataBroker = dataBroker;
this.txRunner = new ManagedNewTransactionRunnerImpl(dataBroker);
this.vpnInterfaceManager = vpnInterfaceManager;
this.vpnFootprintService = vpnFootprintService;
this.jobCoordinator = jobCoordinator;
+ this.vpnUtil = vpnUtil;
}
@PostConstruct
if (vpnInstance.isPresent()) {
String rd = vpnInstance.get().getVrfId();
- VpnInstanceOpDataEntry vpnInstOp = VpnUtil.getVpnInstanceOpData(dataBroker, rd);
+ VpnInstanceOpDataEntry vpnInstOp = vpnUtil.getVpnInstanceOpData(rd);
AdjacenciesOp adjs = del.augmentation(AdjacenciesOp.class);
List<Adjacency> adjList = adjs != null ? adjs.getAdjacency() : null;
prefixToInterfaceLocal.add(prefix.get());
}
if (prefixToInterfaceLocal.isEmpty()) {
- for (String nh : adjacency.getNextHopIpList()) {
+ for (String nh : requireNonNullElse(adjacency.getNextHopIpList(),
+ Collections.<String>emptyList())) {
prefix = SingleTransactionDataBroker.syncReadOptional(dataBroker,
LogicalDatastoreType.OPERATIONAL, VpnUtil.getPrefixToInterfaceIdentifier(
vpnInstOp.getVpnId(), VpnUtil.getIpPrefix(nh)));