Daniel Erez has uploaded a new change for review. Change subject: core: GetAllVmSnapshotsFromConfigurationByVmIdQuery ......................................................................
core: GetAllVmSnapshotsFromConfigurationByVmIdQuery Adding a new query for fetching snapshots of a VM from configuration (including disks list). Needed for display relevant disks data as part of single disk snapshot feature [1]. [1] http://www.ovirt.org/Features/Single_Disk_Snapshot Change-Id: I23aa4de4d233fade33d2a5ea174a9a1802b49370 Signed-off-by: Daniel Erez <[email protected]> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllVmSnapshotsFromConfigurationByVmIdQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java 2 files changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/74/22774/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllVmSnapshotsFromConfigurationByVmIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllVmSnapshotsFromConfigurationByVmIdQuery.java new file mode 100644 index 0000000..5f1a5f6 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllVmSnapshotsFromConfigurationByVmIdQuery.java @@ -0,0 +1,35 @@ +package org.ovirt.engine.core.bll; + +import org.ovirt.engine.core.common.businessentities.Snapshot; +import org.ovirt.engine.core.common.businessentities.VM; +import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; +import org.ovirt.engine.core.common.queries.VdcQueryType; + +import java.util.List; + +/** + * Return a list of all the snapshots for the given VM id.<br> + * The snapshots are sorted by their creation date.<br>who + */ +public class GetAllVmSnapshotsFromConfigurationByVmIdQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> { + public GetAllVmSnapshotsFromConfigurationByVmIdQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + List<Snapshot> snapshotsList = getDbFacade().getSnapshotDao() + .getAll(getParameters().getId(), getUserID(), getParameters().isFiltered()); + for (Snapshot snapshot : snapshotsList) { + VdcQueryReturnValue queryReturnValue = + Backend.getInstance().runInternalQuery(VdcQueryType.GetVmConfigurationBySnapshot, + new IdQueryParameters(snapshot.getId())); + if (queryReturnValue.getSucceeded()) { + VM vm = queryReturnValue.getReturnValue(); + snapshot.setDiskImages(vm.getImages()); + } + } + getQueryReturnValue().setReturnValue(snapshotsList); + } +} 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 c51d6e4..f8d9040 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 @@ -100,6 +100,7 @@ // VM Snapshot queries GetAllVmSnapshotsByVmId(VdcQueryAuthType.User), + GetAllVmSnapshotsFromConfigurationByVmId(VdcQueryAuthType.User), // Images queries GetImageById(VdcQueryAuthType.User), -- To view, visit http://gerrit.ovirt.org/22774 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I23aa4de4d233fade33d2a5ea174a9a1802b49370 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
