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

Reply via email to