use of org.ovirt.engine.ui.uicommonweb.validation.IconWithOsDefaultValidation in project ovirt-engine by oVirt.
the class UnitVmModel method validate.
public boolean validate(boolean templateWithVersionRequired) {
resetTabsValidity();
getInstanceTypes().setIsValid(true);
getInstanceTypes().validateSelectedItem(new IValidation[] { new NotEmptyValidation() });
getDataCenterWithClustersList().validateSelectedItem(new IValidation[] { new NotEmptyValidation() });
getOSType().validateSelectedItem(new NotEmptyValidation[] { new NotEmptyValidation() });
DataCenterWithCluster dataCenterWithCluster = getDataCenterWithClustersList().getSelectedItem();
StoragePool dataCenter = dataCenterWithCluster == null ? null : dataCenterWithCluster.getDataCenter();
if (dataCenter != null && dataCenter.getQuotaEnforcementType() == QuotaEnforcementTypeEnum.HARD_ENFORCEMENT) {
getQuota().validateSelectedItem(new IValidation[] { new NotEmptyQuotaValidation() });
}
if (getOSType().getIsValid()) {
validateNaming();
getVmId().setIsValid(true);
if (getVmId().getIsAvailable() && !StringHelper.isNullOrEmpty(getVmId().getEntity())) {
getVmId().validateEntity(new IValidation[] { new GuidValidation() });
}
getComment().validateEntity(new IValidation[] { new SpecialAsciiI18NOrNoneValidation() });
setValidTab(TabName.GENERAL_TAB, isValidTab(TabName.GENERAL_TAB) && getVmId().getIsValid() && getComment().getIsValid());
}
if (templateWithVersionRequired) {
getTemplateWithVersion().validateSelectedItem(new IValidation[] { new NotEmptyValidation(), createEachDiskAHasStorageDomainValidation() });
}
getDisksAllocationModel().validateEntity(new IValidation[] {});
getCdImage().setIsValid(true);
if (getCdImage().getIsChangable()) {
getCdImage().validateSelectedItem(new IValidation[] { new NotEmptyValidation() });
}
if (getIsLinuxOS()) {
getKernel_path().validateEntity(new IValidation[] { new NoTrimmingWhitespacesValidation() });
getInitrd_path().validateEntity(new IValidation[] { new NoTrimmingWhitespacesValidation() });
getKernel_parameters().validateEntity(new IValidation[] { new NoTrimmingWhitespacesValidation() });
// initrd path and kernel params require kernel path to be filled
if (StringHelper.isNullOrEmpty(getKernel_path().getEntity())) {
if (!StringHelper.isNullOrEmpty(getInitrd_path().getEntity())) {
getInitrd_path().getInvalidityReasons().add(constants.initrdPathInvalid());
getInitrd_path().setIsValid(false);
getKernel_path().getInvalidityReasons().add(constants.initrdPathInvalid());
getKernel_path().setIsValid(false);
}
if (!StringHelper.isNullOrEmpty(getKernel_parameters().getEntity())) {
getKernel_parameters().getInvalidityReasons().add(constants.kernelParamsInvalid());
getKernel_parameters().setIsValid(false);
getKernel_path().getInvalidityReasons().add(constants.kernelParamsInvalid());
getKernel_path().setIsValid(false);
}
}
}
if (!getBehavior().isBlankTemplateBehavior()) {
setValidTab(TabName.GENERAL_TAB, isValidTab(TabName.GENERAL_TAB) && getDataCenterWithClustersList().getIsValid() && getTemplateWithVersion().getIsValid());
}
setValidTab(TabName.HOST_TAB, isValidTab(TabName.HOST_TAB) && getMigrationDowntime().getIsValid());
boolean diskAliasesValid = getDisksAllocationModel().getIsValid();
setValidTab(TabName.RESOURCE_ALLOCATION_TAB, isValidTab(TabName.RESOURCE_ALLOCATION_TAB) && getCpuSharesAmount().getIsValid() && diskAliasesValid);
setValidTab(TabName.BOOT_OPTIONS_TAB, getCdImage().getIsValid() && getKernel_path().getIsValid());
boolean vmInitIsValid = getVmInitModel().validate();
setValidTab(TabName.INITIAL_RUN_TAB, vmInitIsValid);
getIcon().validateEntity(new IValidation[] { new IconWithOsDefaultValidation() });
setValidTab(TabName.ICON_TAB, getIcon().getIsValid());
boolean hwPartValid = validateHwPart();
boolean isValid = hwPartValid && vmInitIsValid && allTabsValid();
getValid().setEntity(isValid);
fireValidationCompleteEvent();
return isValid;
}
Aggregations