import org.opendaylight.ovsdb.schema.hardwarevtep.LogicalSwitch;
import org.opendaylight.ovsdb.schema.hardwarevtep.PhysicalPort;
import org.opendaylight.ovsdb.schema.hardwarevtep.PhysicalSwitch;
+import org.opendaylight.ovsdb.utils.mdsal.utils.ControllerMdsalUtils;
import org.opendaylight.ovsdb.utils.mdsal.utils.TransactionType;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId;
private final Map<UUID, PhysicalPort> oldPPRows;
private final Map<UUID, PhysicalSwitch> switchUpdatedRows;
private final Set<UUID> skipReconciliationPorts;
+ private final ControllerMdsalUtils mdsalUtils;
public HwvtepPhysicalPortUpdateCommand(final HwvtepConnectionInstance key, final TableUpdates updates,
final DatabaseSchema dbSchema) {
oldPPRows = TyperUtils.extractRowsOld(PhysicalPort.class, getUpdates(), getDbSchema());
switchUpdatedRows = TyperUtils.extractRowsUpdated(PhysicalSwitch.class, getUpdates(), getDbSchema());
skipReconciliationPorts = new HashSet<>();
+ mdsalUtils = new ControllerMdsalUtils(key.getDataBroker());
for (Entry<UUID, PhysicalPort> portUpdateEntry : updatedPPRows.entrySet()) {
Optional<InstanceIdentifier<Node>> switchIid = getTerminationPointSwitch(portUpdateEntry.getKey());
if (switchIid.isPresent()) {
} else {
addToDeviceUpdate(TransactionType.UPDATE, new PortEvent(portUpdate, psNodeId));
}
- reconcileToPort(transaction, portUpdate, tpPath);
+ reconcileToPort(portUpdate, tpPath);
getDeviceInfo().updateDeviceOperData(TerminationPoint.class, tpPath,
portUpdate.getUuid(), portUpdate);
// Update with Deleted VlanBindings
}
}
- private void reconcileToPort(final ReadWriteTransaction transaction,
- final PhysicalPort portUpdate,
+ private void reconcileToPort(final PhysicalPort portUpdate,
final InstanceIdentifier<TerminationPoint> tpPath) {
if (skipReconciliationPorts.contains(portUpdate.getUuid())) {
//case of port added along with switch add
}
//case of individual port add , reconcile to this port
getDeviceInfo().updateDeviceOperData(TerminationPoint.class, tpPath, portUpdate.getUuid(), portUpdate);
- Futures.addCallback(transaction.read(LogicalDatastoreType.CONFIGURATION, tpPath),
+ Futures.addCallback(mdsalUtils.read(LogicalDatastoreType.CONFIGURATION, tpPath),
new FutureCallback<Optional<TerminationPoint>>() {
@Override
public void onSuccess(final Optional<TerminationPoint> optionalConfigTp) {