package org.ovirt.engine.api.restapi.types;
import org.ovirt.engine.api.model.CdRom;
import org.ovirt.engine.api.model.File;
import org.ovirt.engine.core.common.businessentities.VM;
import org.ovirt.engine.core.common.businessentities.VmTemplate;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.compat.StringHelper;
public class CdRomMapper {
public static final Guid CDROM_ID = Guid.Empty;
@Mapping(from = CdRom.class, to = VM.class)
public static VM map(CdRom model, VM template) {
VM entity = template != null ? template : new VM();
if (model.isSetFile() && model.getFile().isSetId()) {
entity.getStaticData().setiso_path(model.getFile().getId());
}
return entity;
}
@Mapping(from = VM.class, to = CdRom.class)
public static CdRom map(VM entity, CdRom template) {
CdRom model = template != null ? template : new CdRom();
model.setId(CDROM_ID.toString());
if (!StringHelper.isNullOrEmpty(entity.getStaticData().getiso_path())) {
model.setFile(new File());
model.getFile().setId(entity.getStaticData().getiso_path());
}
return model;
}
/**
* Bi-directional CdRom->VmTemplate not required as
* template device collections are always read-only
*/
@Mapping(from = VmTemplate.class, to = CdRom.class)
public static CdRom map(VmTemplate entity, CdRom template) {
CdRom model = template != null ? template : new CdRom();
model.setId(CDROM_ID.toString());
if (!StringHelper.isNullOrEmpty(entity.getiso_path())) {
model.setFile(new File());
model.getFile().setId(entity.getiso_path());
}
return model;
}
}