package org.ovirt.engine.api.restapi.types;
import org.ovirt.engine.api.model.Architecture;
import org.ovirt.engine.api.model.Cpu;
import org.ovirt.engine.core.common.businessentities.ArchitectureType;
import org.ovirt.engine.core.common.businessentities.ServerCpu;
public class CPUMapper {
@Mapping(from = ServerCpu.class, to = Cpu.class)
public static Cpu map(ServerCpu entity,
Cpu template) {
Cpu model = template != null ? template : new Cpu();
model.setName(entity.getCpuName());
model.setLevel(entity.getLevel());
model.setArchitecture(map(entity.getArchitecture(), null));
return model;
}
@Mapping(from = Architecture.class, to = ArchitectureType.class)
public static ArchitectureType map(Architecture model,
ArchitectureType template) {
if (model != null) {
switch (model) {
case UNDEFINED:
return ArchitectureType.undefined;
case X86_64:
return ArchitectureType.x86_64;
case PPC64:
return ArchitectureType.ppc64;
default:
return null;
}
}
return null;
}
@Mapping(from = ArchitectureType.class, to = Architecture.class)
public static Architecture map(ArchitectureType model,
String template) {
if (model != null) {
switch (model) {
case undefined:
return Architecture.UNDEFINED;
case x86_64:
return Architecture.X86_64;
case ppc64:
return Architecture.PPC64;
default:
return null;
}
}
return null;
}
}