package org.ovirt.engine.core.bll.exportimport; import java.util.Collection; import java.util.Objects; import java.util.function.Predicate; import javax.inject.Inject; import org.ovirt.engine.core.bll.ValidationResult; import org.ovirt.engine.core.common.businessentities.network.ExternalVnicProfileMapping; import org.ovirt.engine.core.compat.Guid; public class ExternalVnicProfileMappingValidator { private final VnicProfileValidator vnicProfileValidator; @Inject ExternalVnicProfileMappingValidator(VnicProfileValidator vnicProfileValidator) { this.vnicProfileValidator = Objects.requireNonNull(vnicProfileValidator); } public ValidationResult validateExternalVnicProfileMapping( Collection<ExternalVnicProfileMapping> externalVnicProfileMappings, Guid clusterId) { return externalVnicProfileMappings .stream() .map(ExternalVnicProfileMapping::getVnicProfileId) .filter(Objects::nonNull) .map(vnicProfileId -> vnicProfileValidator.validateTargetVnicProfileId(vnicProfileId, clusterId)) .filter(((Predicate<ValidationResult>) ValidationResult::isValid).negate()) .findFirst() .orElse(ValidationResult.VALID); } }