@Override public String getObjectId() { return this.getId(); }
@Override public ListResponse<StoragePoolResponse> searchForStoragePools(ListStoragePoolsCmd cmd) { Pair<List<StoragePoolJoinVO>, Integer> result = searchForStoragePoolsInternal(cmd); ListResponse<StoragePoolResponse> response = new ListResponse<StoragePoolResponse>(); List<StoragePoolResponse> poolResponses = ViewResponseHelper.createStoragePoolResponse(result.first().toArray(new StoragePoolJoinVO[result.first().size()])); for (StoragePoolResponse poolResponse : poolResponses) { DataStore store = dataStoreManager.getPrimaryDataStore(poolResponse.getId()); if (store != null) { DataStoreDriver driver = store.getDriver(); if (driver != null && driver.getCapabilities() != null) { poolResponse.setCaps(driver.getCapabilities()); } } } response.setResponses(poolResponses, result.second()); return response; }
@Test public void sortPoolsBySuitability() { List<StoragePoolResponse> storagePoolsResponse = new ArrayList<>(); StoragePoolResponse storagePoolResponse1 = new StoragePoolResponse(); storagePoolResponse1.setSuitableForMigration(true); storagePoolResponse1.setId("1"); storagePoolResponse1.setName("1"); StoragePoolResponse storagePoolResponse2 = new StoragePoolResponse(); storagePoolResponse2.setSuitableForMigration(false); storagePoolResponse2.setId("2"); storagePoolResponse2.setName("2"); StoragePoolResponse storagePoolResponse3 = new StoragePoolResponse(); storagePoolResponse3.setSuitableForMigration(true); storagePoolResponse3.setId("3"); storagePoolResponse3.setName("3"); storagePoolsResponse.add(storagePoolResponse3); storagePoolsResponse.add(storagePoolResponse2); storagePoolsResponse.add(storagePoolResponse1); findStoragePoolsForMigrationCmd.sortPoolsBySuitabilityAndName(storagePoolsResponse); Assert.assertEquals("1", storagePoolsResponse.get(0).getId()); Assert.assertEquals("3", storagePoolsResponse.get(1).getId()); Assert.assertEquals("2", storagePoolsResponse.get(2).getId()); }