package org.ovirt.engine.ui.uicommonweb.models.hosts;
import java.util.Set;
import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
import org.ovirt.engine.ui.uicommonweb.models.Model;
import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation;
import org.ovirt.engine.ui.uicommonweb.validation.ValidationResult;
import org.ovirt.engine.ui.uicompat.ConstantsManager;
public class SetupNetworksLabelModel extends Model {
private final EntityModel<String> label = new EntityModel<>();
private final Set<String> dcLabels;
public EntityModel<String> getLabel() {
return label;
}
public SetupNetworksLabelModel(Set<String> dcLabels) {
this.dcLabels = dcLabels;
setTitle(ConstantsManager.getInstance().getConstants().addNewLabelTitle());
}
public boolean validate() {
label.validateEntity(new IValidation[] { new NotEmptyValidation(), new LabelNotTakenValidation() });
return label.getIsValid();
}
private class LabelNotTakenValidation implements IValidation {
@Override
public ValidationResult validate(Object value) {
ValidationResult res = new ValidationResult();
if (dcLabels.contains(value)) {
res.setSuccess(false);
res.getReasons().add(ConstantsManager.getInstance().getConstants().labelAlreadyExists());
}
return res;
}
}
}