private boolean isLocalDataCenterEmpty(StoragePool dataCenter) { if (dataCenter != null && dataCenter.isLocal() && dataCenter.getStatus() == StoragePoolStatus.Uninitialized) { return true; } return false; }
static StoragePool setUpEntityExpectations(StoragePool entity, int index) { when(entity.getId()).thenReturn(GUIDS[index]); when(entity.getName()).thenReturn(NAMES[index]); when(entity.getdescription()).thenReturn(DESCRIPTIONS[index]); when(entity.isLocal()).thenReturn(false); return entity; }
private void updateOptions() { getCompulsoryActions().clear(); getOptionalActions().clear(); if (getEntity() != null) { startProgress(); if (!getEntity().isLocal()) { updateOptionsNonLocalFSData(); } else { updateOptionsLocalFSData(); } } }
private void addDataCenter() { AsyncDataProvider.getInstance().getDataCenterList(new AsyncQuery<>(allDataCenters -> { @SuppressWarnings("unchecked") List<EntityModel<StoragePool>> filteredDataCenters = new ArrayList<>(); List<StoragePool> localDataCenters = new ArrayList<>(); for (StoragePool dataCenter: allDataCenters) { //Find at least one compatible data-center, so we can show the button. if (getEntity().getCompatibilityVersion().compareTo( dataCenter.getCompatibilityVersion()) >= 0) { if (dataCenter.isLocal()) { //Check if there are any clusters associated with this data-center already. localDataCenters.add(dataCenter); } else { filteredDataCenters.add(new EntityModel<>(dataCenter)); } } } if (localDataCenters.isEmpty()) { displayAddDataCenter(filteredDataCenters); } else { verifyLocalDataCenterNoCluster(filteredDataCenters, localDataCenters); } } )); }
private boolean isItemSelectable(IStorageModel item, StoragePool dataCenter, boolean isNoStorageAttached) { // Local SD can be attached to a local DC only if (isLocalStorage(item) && !dataCenter.isLocal()) { return false; } // All storage domains can be attached to Unassigned DC if (StorageModel.UnassignedDataCenterId.equals(dataCenter.getId())) { return true; } // Local and ISO domains can be attached to DC if it doesn't have // an attached domain of the same type already if (isNoStorageAttached && (item.getRole() == StorageDomainType.ISO || item.getRole() == StorageDomainType.ImportExport)) { return true; } if (item.getRole() == StorageDomainType.Data) { return true; } return false; } }
private void updateActionAvailability() { ArrayList<StoragePool> items = getSelectedItems() != null ? new ArrayList<>(getSelectedItems()) : new ArrayList<StoragePool>(); boolean isAllDown = true; for (StoragePool item : items) { if (item.getStatus() == StoragePoolStatus.Up || item.getStatus() == StoragePoolStatus.Contend) { isAllDown = false; break; } } getEditCommand().setIsExecutionAllowed(getSelectedItem() != null && items.size() == 1); getRemoveCommand().setIsExecutionAllowed(items.size() > 0 && isAllDown); StoragePool storagePoolItem = getSelectedItem(); getForceRemoveCommand().setIsExecutionAllowed(storagePoolItem != null && items.size() == 1 && storagePoolItem.getStatus() != StoragePoolStatus.Up); getGuideCommand().setIsExecutionAllowed(getGuideContext() != null || (getSelectedItem() != null && getSelectedItems() != null && getSelectedItems().size() == 1)); getRecoveryStorageCommand().setIsExecutionAllowed(storagePoolItem != null && items.size() == 1 && !storagePoolItem.isLocal() && storagePoolItem.getStatus() != StoragePoolStatus.Uninitialized && storagePoolItem.getStatus() != StoragePoolStatus.Up); getNewCommand().setIsAvailable(true); getRemoveCommand().setIsAvailable(true); getForceRemoveCommand().setIsAvailable(true); }
public void attachDataStorage() { AsyncDataProvider.getInstance().getStorageDomainList(new AsyncQuery<>( storageDomains -> { ArrayList<StorageDomain> unattachedStorage = new ArrayList<>(); boolean addToList; for (StorageDomain item : storageDomains) { addToList = false; if (item.getStorageDomainType() == StorageDomainType.Data && (item.getStorageType() == StorageType.LOCALFS) == getEntity() .isLocal() && item.getStorageDomainSharedStatus() == StorageDomainSharedStatus.Unattached) { if (getEntity().getStoragePoolFormatType() == null) { addToList = true; } else if (getEntity().getStoragePoolFormatType() == item.getStorageStaticData() .getStorageFormat()) { addToList = true; } } if (addToList) { unattachedStorage.add(item); } } attachStorageInternal(unattachedStorage, ConstantsManager.getInstance() .getConstants() .attachStorageTitle()); })); }
public void selectHost() { final ArrayList<Cluster> clusters = new ArrayList<>(); clusters.add(getEntity()); final MoveHost model = new MoveHost(); model.setTitle(ConstantsManager.getInstance().getConstants().selectHostTitle()); model.setHelpTag(HelpTag.select_host); model.setHashName("select_host"); //$NON-NLS-1$ // In case of local storage, only one host is allowed in the cluster so we should disable multi selection AsyncDataProvider.getInstance().getDataCenterById(new AsyncQuery<>( dataCenter -> { boolean isMultiHostDC = dataCenter.isLocal(); if (isMultiHostDC) { model.setMultiSelection(false); } setWindow(model); model.getCluster().setItems(clusters); model.getCluster().setSelectedItem(Linq.firstOrNull(clusters)); model.getCluster().setIsAvailable(false); UICommand tempVar = UICommand.createDefaultOkUiCommand("OnSelectHost", ClusterGuideModel.this); //$NON-NLS-1$ model.getCommands().add(tempVar); UICommand tempVar2 = UICommand.createCancelUiCommand("Cancel", ClusterGuideModel.this); //$NON-NLS-1$ model.getCommands().add(tempVar2); }), getEntity().getStoragePoolId()); }
protected void updateCpuPinningVisibility() { if (getModel().getIsAutoAssign().getEntity() == null) { return; } if (getModel().getSelectedCluster() != null) { boolean isLocalSD = getModel().getSelectedDataCenter() != null && getModel().getSelectedDataCenter().isLocal(); // cpu pinning is available on Local SD with no consideration for auto assign value boolean hasCpuPinning = Boolean.FALSE.equals(getModel().getIsAutoAssign().getEntity()) || isLocalSD; getModel().getCpuPinning().setIsChangeable(hasCpuPinning); if (!hasCpuPinning) { getModel().getCpuPinning().setChangeProhibitionReason(constants.cpuPinningUnavailable()); } } }
return; if (selectedDataCenter.isLocal()) { setMigrationTabAvailable(false); } else {
public void selectHost() { final MoveHost model = new MoveHost(); model.setTitle(ConstantsManager.getInstance().getConstants().selectHostTitle()); model.setHelpTag(HelpTag.select_host); model.setHashName("select_host"); //$NON-NLS-1$ // In case of local storage, do not show the cluster selection in host select menu as there can be only one cluster in that case //also only one host is allowed in the cluster so we should disable multi selection boolean isMultiHostDC = getEntity().isLocal(); if (isMultiHostDC) { model.getCluster().setIsAvailable(false); model.setMultiSelection(false); } setWindow(model); AsyncDataProvider.getInstance().getClusterList(new AsyncQuery<>( clusters -> { model.getCluster().setItems(clusters); model.getCluster().setSelectedItem(Linq.firstOrNull(clusters)); UICommand tempVar = UICommand.createDefaultOkUiCommand("OnSelectHost", DataCenterGuideModel.this); //$NON-NLS-1$ model.getCommands().add(tempVar); UICommand tempVar2 = UICommand.createCancelUiCommand("Cancel", DataCenterGuideModel.this); //$NON-NLS-1$ model.getCommands().add(tempVar2); }), getEntity().getId()); }
protected void updateMigrationForLocalSD() { boolean isLocalSD = getModel().getSelectedDataCenter() != null && getModel().getSelectedDataCenter().isLocal(); if(isLocalSD) { getModel().getIsAutoAssign().setEntity(false); getModel().getMigrationMode().setSelectedItem(MigrationSupport.PINNED_TO_HOST); } getModel().getIsAutoAssign().setIsChangeable(!isLocalSD); getModel().getMigrationMode().setIsChangeable(!isLocalSD); getModel().getDefaultHost().setIsChangeable(!isLocalSD); }
@Override public void updatePartial(StoragePool pool) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("description", pool.getdescription()) .addValue("free_text_comment", pool.getComment()) .addValue("id", pool.getId()) .addValue("name", pool.getName()) .addValue("is_local", pool.isLocal()) .addValue("storage_pool_format_type", pool.getStoragePoolFormatType()) .addValue("compatibility_version", pool.getCompatibilityVersion()) .addValue("quota_enforcement_type", pool.getQuotaEnforcementType().getValue()); getCallsHandler().executeModification("Updatestorage_pool_partial", parameterSource); }
public void edit() { StoragePool dataCenter = getSelectedItem(); final UIConstants constants = ConstantsManager.getInstance().getConstants(); if (getWindow() != null) { return; } final DataCenterModel model = new DataCenterModel(); setWindow(model); model.setEntity(dataCenter); model.setDataCenterId(dataCenter.getId()); model.setTitle(constants.editDataCenterTitle()); model.setHelpTag(HelpTag.edit_data_center); model.setHashName("edit_data_center"); //$NON-NLS-1$ model.getName().setEntity(dataCenter.getName()); model.getDescription().setEntity(dataCenter.getdescription()); model.getComment().setEntity(dataCenter.getComment()); model.setOriginalName(dataCenter.getName()); model.getStoragePoolType().setSelectedItem(dataCenter.isLocal()); model.getQuotaEnforceTypeListModel().setSelectedItem(dataCenter.getQuotaEnforcementType()); UICommand tempVar = UICommand.createDefaultOkUiCommand("OnSave", this); //$NON-NLS-1$ model.getCommands().add(tempVar); UICommand tempVar2 = UICommand.createCancelUiCommand("Cancel", this); //$NON-NLS-1$ model.getCommands().add(tempVar2); }
if (isLocalStorage(item) && !dataCenter.isLocal()) { updateItemSelectability(item, false); return; boolean canAttachLocalStorage = !isLocalStorage(item) || dataCenter.isLocal(); if (((isExportDomain && canAttachExportDomain) || (isIsoDomain && canAttachIsoDomain) || (isManagedBlockDomain && canAttachManagedBlockDomain)) && canAttachLocalStorage) {
@Override public void save(StoragePool pool) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("description", pool.getdescription()) .addValue("free_text_comment", pool.getComment()) .addValue("id", pool.getId()) .addValue("name", pool.getName()) .addValue("is_local", pool.isLocal()) .addValue("status", pool.getStatus()) .addValue("master_domain_version", pool.getMasterDomainVersion()) .addValue("spm_vds_id", pool.getSpmVdsId()) .addValue("quota_enforcement_type", pool.getQuotaEnforcementType()) .addValue("compatibility_version", pool.getCompatibilityVersion()); getCallsHandler().executeModification("Insertstorage_pool", parameterSource); }
model.setId(entity.getId().toString()); model.setName(entity.getName()); model.setLocal(entity.isLocal());
private static StoragePool cloneStoragePool(StoragePool instance) { StoragePool obj = new StoragePool(); obj.setdescription(instance.getdescription()); obj.setComment(instance.getComment()); obj.setId(instance.getId()); obj.setName(instance.getName()); obj.setIsLocal(instance.isLocal()); obj.setStatus(instance.getStatus()); obj.setMasterDomainVersion(instance.getMasterDomainVersion()); obj.setLVER(instance.getLVER()); obj.setRecoveryMode(instance.getRecoveryMode()); obj.setSpmVdsId(instance.getSpmVdsId()); obj.setStoragePoolCompatibilityLevelUpgradeNeeded(instance.isStoragePoolCompatibilityLevelUpgradeNeeded()); obj.setCompatibilityVersion(instance.getCompatibilityVersion()); return obj; }
@Override public void update(StoragePool pool) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("description", pool.getdescription()) .addValue("free_text_comment", pool.getComment()) .addValue("id", pool.getId()) .addValue("name", pool.getName()) .addValue("status", pool.getStatus()) .addValue("is_local", pool.isLocal()) .addValue("storage_pool_format_type", pool.getStoragePoolFormatType()) .addValue("master_domain_version", pool.getMasterDomainVersion()) .addValue("spm_vds_id", pool.getSpmVdsId()) .addValue("compatibility_version", pool.getCompatibilityVersion()) .addValue("quota_enforcement_type", pool.getQuotaEnforcementType().getValue()); getCallsHandler().executeModification("Updatestorage_pool", parameterSource); }