import static java.util.Objects.requireNonNull;
import com.google.common.base.MoreObjects.ToStringHelper;
-import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException;
}
@Override
- final Optional<? extends TreeNode> apply(final ModifiedNode modification, final TreeNode currentMeta,
- final Version version) {
+ final TreeNode apply(final ModifiedNode modification, final TreeNode currentMeta, final Version version) {
var validated = modification.validatedNode(this, currentMeta);
if (validated != null) {
- return validated.toOptional();
+ return validated.treeNode();
}
// This might also mean the delegate is maintaining validation
if (delegate instanceof AbstractValidation) {
validated = modification.validatedNode(delegate, currentMeta);
if (validated != null) {
- return validated.toOptional();
+ return validated.treeNode();
}
}
// Deal with the result moving on us
final var ret = delegate.apply(modification, currentMeta, version);
- ret.ifPresent(meta -> enforceOnData(meta.getData()));
+ if (ret != null) {
+ enforceOnData(ret.getData());
+ }
return ret;
}
}
if (delegate instanceof AbstractValidation) {
- checkApplicable(path, verifyNotNull(modified.validatedNode(delegate, currentMeta)).toOptional());
+ checkApplicable(path, verifyNotNull(modified.validatedNode(delegate, currentMeta)).treeNode());
return;
}
modified.setValidatedNode(this, currentMeta, applied);
}
- private void checkApplicable(final ModificationPath path, final Optional<? extends TreeNode> applied)
+ private void checkApplicable(final ModificationPath path, final @Nullable TreeNode applied)
throws DataValidationFailedException {
- if (applied.isPresent()) {
+ if (applied != null) {
// We only enforce min/max on present data and rely on MandatoryLeafEnforcer to take care of the empty case
- enforceOnData(path, applied.orElseThrow().getData());
+ enforceOnData(path, applied.getData());
}
}