use of org.ovirt.engine.core.common.businessentities.StoragePool in project ovirt-engine by oVirt.
the class UnitVmModel method setupDataCenterWithClusters.
protected void setupDataCenterWithClusters(UnitVmModel model, List<StoragePool> dataCenters, List<Cluster> clusters, Guid selectedCluster) {
Map<Guid, List<Cluster>> dataCenterToCluster = new HashMap<>();
for (Cluster cluster : clusters) {
if (cluster.getStoragePoolId() == null) {
continue;
}
if (!dataCenterToCluster.containsKey(cluster.getStoragePoolId())) {
dataCenterToCluster.put(cluster.getStoragePoolId(), new ArrayList<Cluster>());
}
dataCenterToCluster.get(cluster.getStoragePoolId()).add(cluster);
}
List<DataCenterWithCluster> dataCentersWithClusters = new ArrayList<>();
for (StoragePool dataCenter : dataCenters) {
if (dataCenterToCluster.containsKey(dataCenter.getId())) {
for (Cluster cluster : dataCenterToCluster.get(dataCenter.getId())) {
dataCentersWithClusters.add(new DataCenterWithCluster(dataCenter, cluster));
}
}
}
selectDataCenterWithCluster(selectedCluster, dataCentersWithClusters);
}
use of org.ovirt.engine.core.common.businessentities.StoragePool 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;
}
use of org.ovirt.engine.core.common.businessentities.StoragePool in project ovirt-engine by oVirt.
the class NewPoolModelBehavior method postDataCenterWithClusterSelectedItemChanged.
@Override
public void postDataCenterWithClusterSelectedItemChanged() {
super.postDataCenterWithClusterSelectedItemChanged();
final DataCenterWithCluster dataCenterWithCluster = getModel().getDataCenterWithClustersList().getSelectedItem();
StoragePool dataCenter = getModel().getSelectedDataCenter();
if (dataCenter == null) {
return;
}
AsyncDataProvider.getInstance().getTemplateListByDataCenter(asyncQuery(templatesByDataCenter -> {
List<VmTemplate> properArchitectureTemplates = AsyncDataProvider.getInstance().filterTemplatesByArchitecture(templatesByDataCenter, dataCenterWithCluster.getCluster().getArchitecture());
List<VmTemplate> templatesWithoutBlank = new ArrayList<>();
for (VmTemplate template : properArchitectureTemplates) {
final boolean isBlankOrVersionOfBlank = template.getId().equals(Guid.Empty) || template.getBaseTemplateId().equals(Guid.Empty);
if (!isBlankOrVersionOfBlank) {
templatesWithoutBlank.add(template);
}
}
// CustomCompatibilityVersion won't be reset by a selected template.
if (templatesWithoutBlank.isEmpty()) {
setCustomCompatibilityVersionChangeInProgress(false);
}
initTemplateWithVersion(templatesWithoutBlank, null, false);
}), dataCenter.getId());
instanceTypeManager.updateAll();
}
use of org.ovirt.engine.core.common.businessentities.StoragePool in project ovirt-engine by oVirt.
the class NewTemplateVmModelBehavior method updateTemplate.
protected void updateTemplate() {
final DataCenterWithCluster dataCenterWithCluster = getModel().getDataCenterWithClustersList().getSelectedItem();
StoragePool dataCenter = dataCenterWithCluster == null ? null : dataCenterWithCluster.getDataCenter();
if (dataCenter == null) {
return;
}
AsyncDataProvider.getInstance().getTemplateListByDataCenter(new AsyncQuery<>(templates -> postInitTemplate(AsyncDataProvider.getInstance().filterTemplatesByArchitecture(templates, dataCenterWithCluster.getCluster().getArchitecture()))), dataCenter.getId());
}
use of org.ovirt.engine.core.common.businessentities.StoragePool in project ovirt-engine by oVirt.
the class NewVmModelBehavior method updateTemplate.
private void updateTemplate() {
final DataCenterWithCluster dataCenterWithCluster = getModel().getDataCenterWithClustersList().getSelectedItem();
StoragePool dataCenter = dataCenterWithCluster == null ? null : dataCenterWithCluster.getDataCenter();
if (dataCenter == null) {
return;
}
AsyncDataProvider.getInstance().getTemplateListByDataCenter(asyncQuery(templates -> postInitTemplate(AsyncDataProvider.getInstance().filterTemplatesByArchitecture(templates, dataCenterWithCluster.getCluster().getArchitecture()))), dataCenter.getId());
}
Aggregations