package org.ovirt.engine.core.utils.ovf;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.ovirt.engine.core.common.businessentities.VmIconDefault;
import org.ovirt.engine.core.common.errors.EngineError;
import org.ovirt.engine.core.common.errors.EngineException;
import org.ovirt.engine.core.common.osinfo.OsRepository;
import org.ovirt.engine.core.common.queries.VmIconIdSizePair;
import org.ovirt.engine.core.dao.VmIconDefaultDao;
@Singleton
public class OvfVmIconDefaultsProvider {
@Inject
private VmIconDefaultDao vmIconDefaultDao;
public Map<Integer, VmIconIdSizePair> getVmIconDefaults() {
final Map<Integer, VmIconIdSizePair> result = new HashMap<>();
final List<VmIconDefault> iconDefaults = vmIconDefaultDao.getAll();
for (VmIconDefault iconDefault : iconDefaults) {
result.put(iconDefault.getOsId(),
new VmIconIdSizePair(iconDefault.getSmallIconId(), iconDefault.getLargeIconId()));
}
if (!result.containsKey(OsRepository.DEFAULT_X86_OS)) {
throw new EngineException(EngineError.DefaultIconPairNotFound);
}
return result;
}
}