package org.ovirt.engine.core.bll.provider.storage;
import org.apache.commons.lang.StringUtils;
import org.ovirt.engine.core.bll.ValidationResult;
import org.ovirt.engine.core.common.businessentities.storage.LibvirtSecret;
import org.ovirt.engine.core.common.errors.EngineMessage;
import org.ovirt.engine.core.dal.dbbroker.DbFacade;
import org.ovirt.engine.core.dao.LibvirtSecretDao;
import org.ovirt.engine.core.dao.provider.ProviderDao;
public class LibvirtSecretValidator {
private final LibvirtSecret libvirtSecret;
private ProviderDao providerDao;
private LibvirtSecretDao libvirtSecretDao;
public LibvirtSecretValidator(LibvirtSecret libvirtSecret) {
this.libvirtSecret = libvirtSecret;
this.providerDao = getDbFacade().getProviderDao();
this.libvirtSecretDao = getDbFacade().getLibvirtSecretDao();
}
protected DbFacade getDbFacade() {
return DbFacade.getInstance();
}
public ValidationResult uuidNotEmpty() {
return ValidationResult.failWith(EngineMessage.LIBVIRT_SECRET_UUID_CANNOT_BE_EMPTY)
.when(StringUtils.isEmpty(libvirtSecret.getId().toString()));
}
public ValidationResult uuidNotExist() {
return ValidationResult.failWith(EngineMessage.LIBVIRT_SECRET_UUID_ALREADY_EXISTS)
.unless(libvirtSecretDao.get(libvirtSecret.getId()) == null);
}
public ValidationResult uuidExist() {
return ValidationResult.failWith(EngineMessage.LIBVIRT_SECRET_UUID_NOT_EXISTS)
.unless(libvirtSecretDao.get(libvirtSecret.getId()) != null);
}
public ValidationResult valueNotEmpty() {
return ValidationResult.failWith(EngineMessage.LIBVIRT_SECRET_VALUE_CANNOT_BE_EMPTY)
.when(StringUtils.isEmpty(libvirtSecret.getValue()));
}
public ValidationResult providerExist() {
return ValidationResult.failWith(EngineMessage.ACTION_TYPE_FAILED_PROVIDER_DOESNT_EXIST)
.when(providerDao.get(libvirtSecret.getProviderId()) == null);
}
}