package org.ovirt.engine.api.restapi.resource; import org.ovirt.engine.api.model.Cdrom; import org.ovirt.engine.api.model.Cdroms; import org.ovirt.engine.api.model.Snapshot; import org.ovirt.engine.api.resource.SnapshotCdromResource; import org.ovirt.engine.api.resource.SnapshotCdromsResource; import org.ovirt.engine.api.restapi.types.CdRomMapper; import org.ovirt.engine.core.common.businessentities.VM; public class BackendSnapshotCdRomsResource extends AbstractBackendCollectionResource<Cdrom, Snapshot> implements SnapshotCdromsResource { protected BackendSnapshotResource parent; public BackendSnapshotCdRomsResource(BackendSnapshotResource parent) { super(Cdrom.class, Snapshot.class); this.parent = parent; } @Override public Cdroms list() { Cdroms cdRoms = new Cdroms(); if (parent.getSnapshot().isVmConfigurationAvailable()) { VM vm = parent.collection.getVmPreview(parent.get()); cdRoms.getCdroms().add(CdRomMapper.map(vm, null)); //notice currently only 1 cd-rom per VM supported. } return cdRoms; } @Override public SnapshotCdromResource getCdromResource(String id) { return new BackendSnapshotCdRomResource(id, this); } }