Invoking this method is quite costly in case of
LazyDataTreeModification, so cache the returned value, preventing
a potentially-costly operation.
Change-Id: Ibb3169fe77b0d6d2f11dae244a1fe110c37b659e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
@Nullable
public static Node getUpdated(DataObjectModification<Node> mod) {
@Nullable
public static Node getUpdated(DataObjectModification<Node> mod) {
switch (mod.getModificationType()) {
case SUBTREE_MODIFIED:
switch (mod.getModificationType()) {
case SUBTREE_MODIFIED:
- node = mod.getDataAfter();
- break;
- if (mod.getDataAfter() != null) {
- node = mod.getDataAfter();
- }
- break;
+ return mod.getDataAfter();
}
private String logicalSwitchNameFromChildMod(DataObjectModification<? extends DataObject> childMod) {
}
private String logicalSwitchNameFromChildMod(DataObjectModification<? extends DataObject> childMod) {
- DataObject data = childMod.getDataAfter() != null ? childMod.getDataAfter() : childMod.getDataBefore();
+ DataObject dataAfter = childMod.getDataAfter();
+ DataObject data = dataAfter != null ? dataAfter : childMod.getDataBefore();
return LOGICAL_SWITCH_EXTRACTOR.getOrDefault(childMod.getModificationType().getClass(), noLogicalSwitch)
.apply(data);
}
return LOGICAL_SWITCH_EXTRACTOR.getOrDefault(childMod.getModificationType().getClass(), noLogicalSwitch)
.apply(data);
}
datastoreType, modification, dstPath))
.forEach(modification -> {
MergeCommand mergeCommand = commands.get(modification.getDataType());
datastoreType, modification, dstPath))
.forEach(modification -> {
MergeCommand mergeCommand = commands.get(modification.getDataType());
- boolean create = modification.getDataAfter() != null;
- DataObject data = create ? modification.getDataAfter() : modification.getDataBefore();
+ DataObject dataAfter = modification.getDataAfter();
+ boolean create = dataAfter != null;
+ DataObject data = create ? dataAfter : modification.getDataBefore();
InstanceIdentifier<DataObject> transformedId = mergeCommand.generateId(dstPath, data);
DataObject transformedItem = mergeCommand.transform(dstPath, data);
InstanceIdentifier<DataObject> transformedId = mergeCommand.generateId(dstPath, data);
DataObject transformedItem = mergeCommand.transform(dstPath, data);