Daniel Erez has uploaded a new change for review. Change subject: restapi: optional disks list in create snapshot ......................................................................
restapi: optional disks list in create snapshot BackendSnapshotsResource: * set parameters' disks list when needed (doAdd method). * added mapDisks method. Feature: http://www.ovirt.org/Features/Single_Disk_Snapshot Change-Id: Idabf1b152136ec92bb703903ba40e695be4d57aa Signed-off-by: Daniel Erez <[email protected]> --- M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/81/22781/1 diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java index db121ff..db2f10d 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java @@ -1,19 +1,24 @@ package org.ovirt.engine.api.restapi.resource; +import java.util.ArrayList; import java.util.List; import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.ConfigurationType; +import org.ovirt.engine.api.model.Disk; +import org.ovirt.engine.api.model.Disks; import org.ovirt.engine.api.model.Snapshot; import org.ovirt.engine.api.model.Snapshots; import org.ovirt.engine.api.model.VM; import org.ovirt.engine.api.resource.SnapshotResource; import org.ovirt.engine.api.resource.SnapshotsResource; +import org.ovirt.engine.api.restapi.types.DiskMapper; import org.ovirt.engine.api.restapi.types.SnapshotMapper; import org.ovirt.engine.core.common.action.CreateAllSnapshotsFromVmParameters; import org.ovirt.engine.core.common.action.RemoveSnapshotParameters; import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; import org.ovirt.engine.core.common.queries.VdcQueryType; @@ -49,12 +54,27 @@ if (snapshot.isSetPersistMemorystate()) { snapshotParams.setSaveMemory(snapshot.isPersistMemorystate()); } + if (snapshot.isSetDisks()) { + snapshotParams.setDisks(mapDisks(snapshot.getDisks())); + } return performCreate(VdcActionType.CreateAllSnapshotsFromVm, snapshotParams, new SnapshotIdResolver(), block); } + public ArrayList<DiskImage> mapDisks(Disks disks) { + ArrayList<DiskImage> diskImages = null; + if (disks != null && disks.isSetDisks()) { + diskImages = new ArrayList<>(); + for (Disk disk : disks.getDisks()) { + DiskImage diskImage = (DiskImage) DiskMapper.map(disk, null); + diskImages.add(diskImage); + } + } + return diskImages; + } + @Override public Response performRemove(String id) { return performAction(VdcActionType.RemoveSnapshot, -- To view, visit http://gerrit.ovirt.org/22781 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idabf1b152136ec92bb703903ba40e695be4d57aa 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
