Tomas Jelinek has uploaded a new change for review. Change subject: core: Added a possibility to filter disks according explicitely set values ......................................................................
core: Added a possibility to filter disks according explicitely set values Added optional params to GetAllAttachableDisks to filter by explicitely set OS and VDS Group. Change-Id: If363cd92aa0071c88f2333294002ff8aa0da1b40 Bug-Url: https://bugzilla.redhat.com/1117489 Signed-off-by: Tomas Jelinek <tjeli...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllAttachableDisksQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAllAttachableDisks.java 2 files changed, 40 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/36060/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllAttachableDisksQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllAttachableDisksQuery.java index a818a81..993ec90 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllAttachableDisksQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllAttachableDisksQuery.java @@ -9,6 +9,7 @@ import org.ovirt.engine.core.common.osinfo.OsRepository; import org.ovirt.engine.core.common.queries.GetAllAttachableDisks; import org.ovirt.engine.core.common.utils.SimpleDependecyInjector; +import org.ovirt.engine.core.compat.Version; import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.springframework.util.CollectionUtils; @@ -31,6 +32,11 @@ return; } + if (getParameters().isFilterByExplicitValues()) { + setReturnValue(filter(diskList, getParameters().getOs(), getParameters().getVdsGroupCompatibilityVersion())); + return; + } + VM vm = DbFacade.getInstance().getVmDao().get(getParameters().getVmId(), getUserID(), getParameters().isFiltered()); @@ -39,16 +45,20 @@ return; } + setReturnValue(filter(diskList, vm.getOs(), vm.getVdsGroupCompatibilityVersion())); + } + + private List<Disk> filter(List<Disk> diskList, int os, Version compatibilityVersion) { List<Disk> filteredDiskList = new ArrayList<>(); for (Disk disk : diskList) { - if (VmValidationUtils.isDiskInterfaceSupportedByOs(vm.getOs(), - vm.getVdsGroupCompatibilityVersion(), + if (VmValidationUtils.isDiskInterfaceSupportedByOs(os, + compatibilityVersion, disk.getDiskInterface())) { filteredDiskList.add(disk); } } - setReturnValue(filteredDiskList); + return filteredDiskList; } protected OsRepository getOsRepository() { diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAllAttachableDisks.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAllAttachableDisks.java index 4128bb5..cffc7fa 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAllAttachableDisks.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetAllAttachableDisks.java @@ -1,6 +1,7 @@ package org.ovirt.engine.core.common.queries; import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.compat.Version; public class GetAllAttachableDisks extends VdcQueryParametersBase { @@ -8,6 +9,9 @@ private Guid storagePoolId; private Guid vmId; + private boolean filterByExplicitValues = true; + private int os; + private Version vdsGroupCompatibilityVersion; public GetAllAttachableDisks() { } @@ -32,4 +36,27 @@ this.vmId = vmId; } + public boolean isFilterByExplicitValues() { + return filterByExplicitValues; + } + + public void setFilterByExplicitValues(boolean filterByExplicitValues) { + this.filterByExplicitValues = filterByExplicitValues; + } + + public int getOs() { + return os; + } + + public void setOs(int os) { + this.os = os; + } + + public Version getVdsGroupCompatibilityVersion() { + return vdsGroupCompatibilityVersion; + } + + public void setVdsGroupCompatibilityVersion(Version vdsGroupCompatibilityVersion) { + this.vdsGroupCompatibilityVersion = vdsGroupCompatibilityVersion; + } } -- To view, visit http://gerrit.ovirt.org/36060 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If363cd92aa0071c88f2333294002ff8aa0da1b40 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjeli...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches