public QuotaStorage(QuotaStorage quotaStorage) { this.quotaStorageId = quotaStorage.getQuotaStorageId(); this.quotaId = quotaStorage.getQuotaId(); this.storageId = quotaStorage.getStorageId(); this.setStorageSizeGB(quotaStorage.getStorageSizeGB()); this.storageLimitGigaByteUsage = quotaStorage.getStorageSizeGBUsage(); }
/** * Returns initialized entity with quota Storage result set. */ private RowMapper<QuotaStorage> getQuotaStorageResultSet() { return (rs, rowNum) -> { QuotaStorage entity = new QuotaStorage(); entity.setQuotaId(getGuidDefaultEmpty(rs, "quota_id")); entity.setQuotaStorageId(getGuidDefaultEmpty(rs, "quota_storage_id")); entity.setStorageId(getGuidDefaultEmpty(rs, "storage_id")); entity.setStorageName(rs.getString("storage_name")); entity.setStorageSizeGB((Long) rs.getObject("storage_size_gb")); entity.setStorageSizeGBUsage((Double) rs.getObject("storage_size_gb_usage")); return entity; }; }
private QuotaStorage getStorageGlobalCpuLimit() { QuotaStorage storageGlobalLimit = new QuotaStorage(); storageGlobalLimit.setQuotaId(GUIDS[0]); storageGlobalLimit.setStorageId(STORAGE_ID_1); storageGlobalLimit.setStorageSizeGB(STORAGE_SIZE_GB); return storageGlobalLimit; }
storage.setStorageSizeGB(quota.getGlobalQuotaStorage().getStorageSizeGB()); storage.setStorageSizeGBUsage(quota.getGlobalQuotaStorage().getStorageSizeGBUsage()); qModel.getGlobalStorageQuota().setEntity(true); continue; quotaStorage = new QuotaStorage(); quotaStorage.setStorageId(storage.getId()); quotaStorage.setStorageName(storage.getStorageName()); quotaStorage.setQuotaId(quota.getId()); boolean containStorage = false; for (QuotaStorage iter : quota.getQuotaStorages()) { if (quotaStorage.getStorageId().equals(iter.getStorageId())) { quotaStorage.setQuotaStorageId(iter.getQuotaStorageId()); quotaStorage.setStorageSizeGB(iter.getStorageSizeGB()); quotaStorage.setStorageSizeGBUsage(iter.getStorageSizeGBUsage()); containStorage = true; break; quotaStorage.setStorageSizeGB(null); quotaStorage.setStorageSizeGBUsage(0.0);
@Test public void testListNonGlobalLimit() { Quota quota = getQuota(); List<QuotaStorage> storageLimits = new LinkedList<>(); QuotaStorage storageLimit1 = new QuotaStorage(); storageLimit1.setStorageSizeGB(STORAGE_SIZE_GB); storageLimit1.setStorageId(STORAGE_ID_1); QuotaStorage storageLimit2 = new QuotaStorage(); storageLimit2.setStorageSizeGBUsage(STORAGE_SIZE_GB_USAGE); storageLimit2.setStorageId(STORAGE_ID_2); storageLimits.add(storageLimit1); storageLimits.add(storageLimit2); quota.setQuotaStorages(storageLimits); setUpGetEntityExpectations(quota); QuotaStorageLimits list = collection.list(); assertStorageLimitsFound(list, 2); for (QuotaStorageLimit storageLimit : list.getQuotaStorageLimits()) { if (storageLimit.getStorageDomain().getId().equals(STORAGE_ID_1.toString())) { assertEquals(STORAGE_SIZE_GB, storageLimit.getLimit()); } if (storageLimit.getStorageDomain().getId().equals(STORAGE_ID_2.toString())) { assertEquals(STORAGE_SIZE_GB_USAGE, storageLimit.getUsage(), 0.0001); } } }
/** * Returns initialized entity with quota result set. */ private RowMapper<Quota> getQuotaFromResultSet() { return (rs, rowNum) -> { Quota entity = getQuotaMetaDataFromResultSet(rs); // Check if memory size is not null, this is an indication if global limitation for vds group exists or // not, since global limitation must be for all the quota vds group parameters. if (rs.getObject("mem_size_mb") != null) { // Set global vds group quota. QuotaCluster clusterEntity = new QuotaCluster(); clusterEntity.setMemSizeMB((Long) rs.getObject("mem_size_mb")); clusterEntity.setMemSizeMBUsage((Long) rs.getObject("mem_size_mb_usage")); clusterEntity.setVirtualCpu((Integer) rs.getObject("virtual_cpu")); clusterEntity.setVirtualCpuUsage((Integer) rs.getObject("virtual_cpu_usage")); entity.setGlobalQuotaCluster(clusterEntity); } // Check if storage limit size is not null, this is an indication if global limitation for storage // exists or // not. if (rs.getObject("storage_size_gb") != null) { // Set global storage quota. QuotaStorage storageEntity = new QuotaStorage(); storageEntity.setStorageSizeGB((Long) rs.getObject("storage_size_gb")); storageEntity.setStorageSizeGBUsage((Double) rs.getObject("storage_size_gb_usage")); entity.setGlobalQuotaStorage(storageEntity); } return entity; }; }
@Mapping(from = QuotaStorageLimit.class, to = org.ovirt.engine.core.common.businessentities.Quota.class) public static org.ovirt.engine.core.common.businessentities.Quota map(QuotaStorageLimit model, org.ovirt.engine.core.common.businessentities.Quota template) { org.ovirt.engine.core.common.businessentities.Quota entity = template != null ? template : new org.ovirt.engine.core.common.businessentities.Quota(); QuotaStorage quotaStorage = new QuotaStorage(); if (model.isSetLimit()) { quotaStorage.setStorageSizeGB(model.getLimit()); } // specific SD if(model.isSetStorageDomain() && model.getStorageDomain().isSetId()) { quotaStorage.setStorageId(GuidUtils.asGuid(model.getStorageDomain().getId())); entity.getQuotaStorages().add(quotaStorage); } else { // global entity.setGlobalQuotaStorage(quotaStorage); } return entity; }
QuotaStorage quotaStorage; for (QuotaStorage iter : model.getQuotaStorages().getItems()) { quota.setGlobalQuotaStorage(new QuotaStorage()); quota.getGlobalQuotaStorage().setStorageSizeGB(iter.getStorageSizeGB()); quota.getQuotaStorages().clear(); for (QuotaStorage iter : model.getAllDataCenterStorages().getItems()) { quotaStorage = iter; if (quotaStorage.getStorageSizeGB() != null) { quotaStorageList.add(quotaStorage);
/** * Build quota storage parameter map, for quota limitation table, to indicate specific limitation on storage domain. * * @param quotaId * - The global quota id which the storage is referencing to * @param quotaStorage * - The business entity which reflects the limitation on the specific storage. * @return - Parameter Map */ private MapSqlParameterSource getQuotaStorageParameterMap(Guid quotaId, QuotaStorage quotaStorage) { return createQuotaIdParameterMapper(quotaStorage.getQuotaStorageId()).addValue("quota_id", quotaId) .addValue("storage_id", quotaStorage.getStorageId()) .addValue("cluster_id", null) .addValue("storage_size_gb", quotaStorage.getStorageSizeGB()) .addValue("virtual_cpu", null) .addValue("mem_size_mb", null); }
/** * Make Quota specific to be the same as Quota general and specific. */ @Test public void testUpdateQuota() { Quota quotaGeneralToSpecific = dao.getById(FixturesTool.QUOTA_GENERAL); // Save quotaName and cluster list for future check. String quotaName = "New Temporary name"; List<QuotaCluster> quotaClusterList = getQuotaCluster(getSpecificQuotaCluster(quotaGeneralToSpecific.getId())); Long newStorageLimit = 2345L; // Check before the update, that the fields are not equal. assertNotEquals(quotaName, quotaGeneralToSpecific.getQuotaName()); assertNotEquals(quotaClusterList.size(), quotaGeneralToSpecific.getQuotaClusters().size()); assertNotEquals(newStorageLimit, quotaGeneralToSpecific.getGlobalQuotaStorage().getStorageSizeGB()); // Update quotaGeneralToSpecific.setQuotaName(quotaName); quotaGeneralToSpecific.getGlobalQuotaStorage().setStorageSizeGB(newStorageLimit); quotaGeneralToSpecific.setQuotaClusters(quotaClusterList); dao.update(quotaGeneralToSpecific); quotaGeneralToSpecific = dao.getById(FixturesTool.QUOTA_GENERAL); // Check after the update, that the fields are equal now. assertEquals(quotaName, quotaGeneralToSpecific.getQuotaName()); assertEquals(quotaClusterList.size(), quotaGeneralToSpecific.getQuotaClusters().size()); assertEquals(newStorageLimit, quotaGeneralToSpecific.getGlobalQuotaStorage().getStorageSizeGB()); }
@Override protected void updateEntityForRemove(Quota entity, Guid id) { // since we're mocking remove using update, we'll throw 404 if the object isn't found boolean throw404 = false; // global storage (has same id as quota) if (entity.getId().equals(id)) { if (entity.getGlobalQuotaStorage() == null) { throw404 = true; } else { entity.setGlobalQuotaStorage(null); } // specific storage (has same id as storage domain) } else { if (entity.getQuotaStorages() != null) { for (int i = 0; i < entity.getQuotaStorages().size(); i++) { if (entity.getQuotaStorages().get(i).getStorageId().equals(id)) { entity.getQuotaStorages().remove(i); return; } } throw404 = true; } } if (throw404) { throw new WebApplicationException(Response.Status.NOT_FOUND); } } }
public void editQuotaStorage(QuotaStorage object) { this.quotaStorage = object; getEditQuotaStorageCommand().execute(); EditQuotaStorageModel model = new EditQuotaStorageModel(); model.setTitle(ConstantsManager.getInstance().getConstants().defineStorageQuotaOnDataCenterTitle()); model.setEntity(object); if (object.getStorageSizeGB() == null || object.getStorageSizeGB().equals(QuotaStorage.UNLIMITED)) { model.getUnlimitedStorage().setEntity(true); } else { model.getSpecificStorage().setEntity(true); model.getSpecificStorageValue().setEntity(object.getStorageSizeGB()); } setWindow(model); UICommand command = UICommand.createDefaultOkUiCommand("OnEditStorageQuota", this); //$NON-NLS-1$ model.getCommands().add(command); model.getCommands().add(UICommand.createCancelUiCommand("Cancel", this)); //$NON-NLS-1$ }
/** * Asserts that when {@link QuotaDao#getQuotaStorageByQuotaGuidWithGeneralDefault(Guid)} is called * with a specific quota, all the relevant storages are returned */ @Test public void testQuotaStorageByQuotaGuidWithGeneralDefaultNoDefault() { List<QuotaStorage> quotaStorageList = dao.getQuotaStorageByQuotaGuidWithGeneralDefault(FixturesTool.QUOTA_SPECIFIC); assertNotNull(quotaStorageList); assertEquals(1, quotaStorageList.size(), "wrong number of quotas returned"); for (QuotaStorage group : quotaStorageList) { assertNotNull(group.getStorageId(), "Storage ID should not be null in specific mode"); assertNotNull(group.getStorageName(), "Storage name should not be null in specific mode"); } }
private static void map(QuotaStorageLimit model, QuotaStorage quotaStorage, String storageDomainId, String dataCenterId, String quotaId) { model.setQuota(new Quota()); model.getQuota().setId(quotaId); model.getQuota().setDataCenter(new DataCenter()); model.getQuota().getDataCenter().setId(dataCenterId); if (storageDomainId != null) { model.setStorageDomain(new StorageDomain()); model.getStorageDomain().setId(storageDomainId); } if (quotaStorage.getStorageSizeGB() != null) { model.setLimit(quotaStorage.getStorageSizeGB()); } if (quotaStorage.getStorageSizeGBUsage() != null) { model.setUsage(quotaStorage.getStorageSizeGBUsage()); } }
Quota quota = allQuotaMap.get(quotaStorage.getQuotaId()); if (quota != null) { if (quotaStorage.getStorageId() == null || quotaStorage.getStorageId().equals(Guid.Empty)) { quota.setGlobalQuotaStorage(quotaStorage); } else {
public QuotaStorage(Guid quotaStorageId, Guid quotaId, Guid storageId, Long storageLimitGigaByte, Double storageLimitGigaByteUsage) { this.quotaStorageId = quotaStorageId; this.quotaId = quotaId; this.storageId = storageId; this.setStorageSizeGB(storageLimitGigaByte); this.storageLimitGigaByteUsage = storageLimitGigaByteUsage; }
@Test public void testSpecificAndGeneralQuotaLimitations() { // Set new Quota definition. Quota quota = createGeneralQuota(); quota.setQuotaClusters(getQuotaCluster(getSpecificQuotaCluster(quota.getId()))); quota.setQuotaStorages(getQuotaStorage(null)); quota.setGlobalQuotaStorage(new QuotaStorage(null, null, null, 10000L, 0d)); dao.save(quota); Quota quotaEntity = dao.getById(quota.getId()); assertNotNull(quotaEntity); assertEquals(quota, quotaEntity); }
@Test public void testFetchSpecificAndGeneralQuotaForStorage() { List<QuotaStorage> quotaStorageList = dao.getQuotaStorageByStorageGuid(null, FixturesTool.QUOTA_SPECIFIC_AND_GENERAL); QuotaStorage quotaStorage = quotaStorageList.get(0); assertEquals(1, quotaStorageList.size()); assertNotNull(quotaStorage); // Check if the global variable returns when null is initialization. assertTrue(quotaStorage.getStorageSizeGBUsage() > 0); }
@Override public Object getQueryableId() { return getQuotaStorageId(); } }
continue; quotaStorage = new QuotaStorage(); quotaStorage.setStorageId(storage.getId()); quotaStorage.setStorageName(storage.getStorageName()); quotaStorage.setStorageSizeGB(null); quotaStorage.setStorageSizeGBUsage((double) 0); quotaStorageList.add(quotaStorage);