Ravi Nori has uploaded a new change for review. Change subject: restapi : list files with --max issue ......................................................................
restapi : list files with --max issue List files wth --max parameter retrieves extra results if the ISO domain has both .iso and .vfd files. This patch comines the two into 1 query so that the max number of results is the same as specfied by --max Change-Id: I7cf453d430f44dff8725ea11ecc0fa91d99844bc Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=886794 Signed-off-by: Ravi Nori <rn...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllImagesListQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/FileTypeExtension.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendFilesResourceTest.java 5 files changed, 42 insertions(+), 16 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/10029/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllImagesListQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllImagesListQuery.java new file mode 100644 index 0000000..f90a6e3 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllImagesListQuery.java @@ -0,0 +1,33 @@ +package org.ovirt.engine.core.bll; + +import java.util.ArrayList; +import java.util.List; +import org.ovirt.engine.core.common.businessentities.FileTypeExtension; +import org.ovirt.engine.core.common.businessentities.RepoFileMetaData; +import org.ovirt.engine.core.common.queries.GetAllIsoImagesListParameters; + +public class GetAllImagesListQuery<P extends GetAllIsoImagesListParameters> extends AbstractGetAllImagesListByStorageDomainIdQuery<P> { + public GetAllImagesListQuery(P parameters) { + super(parameters); + } + + @Override + protected FileTypeExtension getFileTypeExtension() { + return FileTypeExtension.All; + } + + private List<RepoFileMetaData> getFileListForExtension(FileTypeExtension extension) { + return IsoDomainListSyncronizer.getInstance().getUserRequestForStorageDomainRepoFileList + (getStorageDomainId(), + extension, + getParameters().getForceRefresh()); + } + + @Override + protected List<RepoFileMetaData> getUserRequestForStorageDomainRepoFileList() { + List<RepoFileMetaData> fileList = new ArrayList<RepoFileMetaData>(); + fileList.addAll(getFileListForExtension(FileTypeExtension.ISO)); + fileList.addAll(getFileListForExtension(FileTypeExtension.Floppy)); + return fileList; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/FileTypeExtension.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/FileTypeExtension.java index 6e8b6fe..afa3eee 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/FileTypeExtension.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/FileTypeExtension.java @@ -6,7 +6,8 @@ public enum FileTypeExtension { Unknown(0), ISO(1), - Floppy(2); + Floppy(2), + All(3); private int intValue; private static Map<Integer, FileTypeExtension> mappings; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java index 66e8ab1..7d173c9 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java @@ -90,6 +90,7 @@ GetAllFloppyImagesList(VdcQueryAuthType.User), GetAllIsoImagesListByStoragePoolId(VdcQueryAuthType.User), GetAllFloppyImagesListByStoragePoolId(VdcQueryAuthType.User), + GetAllImagesList(VdcQueryAuthType.User), GetAllDisksByVmId(VdcQueryAuthType.User), GetAllAttachableDisks(VdcQueryAuthType.User), GetAllDisks, diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java index 5ea8bab..94d82e0 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java @@ -74,10 +74,8 @@ GetAllIsoImagesListParameters queryParams = new GetAllIsoImagesListParameters(asGuid(storageDomainId)); queryParams.setForceRefresh(true); - List<RepoFileMetaData> files = getBackendCollection(RepoFileMetaData.class, VdcQueryType.GetAllIsoImagesList, + List<RepoFileMetaData> files = getBackendCollection(RepoFileMetaData.class, VdcQueryType.GetAllImagesList, queryParams); - files.addAll(getBackendCollection(RepoFileMetaData.class, VdcQueryType.GetAllFloppyImagesList, - queryParams)); List<String> fileNames = new LinkedList<String>(); for (RepoFileMetaData file : files) { fileNames.add(file.getRepoFileName()); diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendFilesResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendFilesResourceTest.java index 27a751f..1f914e9 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendFilesResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendFilesResourceTest.java @@ -90,7 +90,7 @@ locales.add(CLIENT_LOCALE); Throwable t = new RuntimeException(FAILURE); - setUpEntityQueryExpectations(VdcQueryType.GetAllIsoImagesList, + setUpEntityQueryExpectations(VdcQueryType.GetAllImagesList, GetAllIsoImagesListParameters.class, new String[] { "StorageDomainId" }, new Object[] { GUIDS[0] }, @@ -115,7 +115,7 @@ UriInfo uriInfo = setUpUriExpectations(null); Throwable t = new RuntimeException(FAILURE); - setUpEntityQueryExpectations(VdcQueryType.GetAllIsoImagesList, + setUpEntityQueryExpectations(VdcQueryType.GetAllImagesList, GetAllIsoImagesListParameters.class, new String[] { "StorageDomainId" }, new Object[] { GUIDS[0] }, @@ -147,7 +147,7 @@ @Override public void testListFailure() throws Exception { UriInfo uriInfo = setUpUriExpectations(null); - setUpEntityQueryExpectations(VdcQueryType.GetAllIsoImagesList, + setUpEntityQueryExpectations(VdcQueryType.GetAllImagesList, GetAllIsoImagesListParameters.class, new String[] { "StorageDomainId" }, new Object[] { GUIDS[0] }, @@ -184,19 +184,12 @@ protected void setUpQueryExpectations(String query, Object failure) throws Exception { assert(query.equals("")); - setUpEntityQueryExpectations(VdcQueryType.GetAllIsoImagesList, + setUpEntityQueryExpectations(VdcQueryType.GetAllImagesList, GetAllIsoImagesListParameters.class, new String[] { "StorageDomainId" }, new Object[] { GUIDS[0] }, setUpFiles(), failure); - setUpEntityQueryExpectations(VdcQueryType.GetAllFloppyImagesList, - GetAllIsoImagesListParameters.class, - new String[] { "StorageDomainId" }, - new Object[] { GUIDS[0] }, - setUpFiles(), - failure); - control.replay(); } @@ -232,7 +225,7 @@ @Override protected void verifyCollection(List<File> collection) throws Exception { assertNotNull(collection); - assertEquals(NAMES.length * 2, collection.size()); + assertEquals(NAMES.length, collection.size()); for (int i = 0; i < NAMES.length; i++) { verifyModel(collection.get(i), i); } -- To view, visit http://gerrit.ovirt.org/10029 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7cf453d430f44dff8725ea11ecc0fa91d99844bc Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ravi Nori <rn...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches