package org.ovirt.engine.api.restapi.types; import org.ovirt.engine.api.model.Disk; import org.ovirt.engine.api.model.DiskSnapshot; import org.ovirt.engine.api.restapi.utils.GuidUtils; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; public class DiskSnapshotMapper { @Mapping(from = org.ovirt.engine.core.common.businessentities.storage.Disk.class, to = DiskSnapshot.class) public static DiskSnapshot map(org.ovirt.engine.core.common.businessentities.storage.Disk entity, DiskSnapshot template) { if (template == null) { template = new DiskSnapshot(); } DiskSnapshot model = (DiskSnapshot) DiskMapper.map(entity, template); Disk disk = new Disk(); disk.setId(entity.getId().toString()); model.setDisk(disk); DiskImage diskImage = (DiskImage) entity; model.setId(diskImage.getImageId().toString()); model.setImageId(null); return model; } @Mapping(from = DiskSnapshot.class, to = org.ovirt.engine.core.common.businessentities.storage.Disk.class) public static org.ovirt.engine.core.common.businessentities.storage.Disk map(DiskSnapshot diskSnapshot, org.ovirt.engine.core.common.businessentities.storage.Disk template) { DiskImage engineDisk = (DiskImage) DiskMapper.map(diskSnapshot, template); engineDisk.setImageId(GuidUtils.asGuid(diskSnapshot.getId())); if (diskSnapshot.isSetDisk()) { engineDisk.setId(GuidUtils.asGuid(diskSnapshot.getDisk().getId())); } return engineDisk; } }