package org.ovirt.engine.core.bll;
import java.util.HashMap;
import java.util.Map;
import javax.inject.Inject;
import org.ovirt.engine.core.common.businessentities.VmIcon;
import org.ovirt.engine.core.common.queries.GetVmIconsParameters;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.dao.VmIconDao;
/**
* Given a list of icon ids it returns icons data in dataurl form
*/
public class GetVmIconsQuery extends QueriesCommandBase<GetVmIconsParameters> {
@Inject
private VmIconDao vmIconDao;
public GetVmIconsQuery(GetVmIconsParameters parameters) {
super(parameters);
}
/**
* query returned type: {@code Map<Guid, String>} requested icon id -> icon data
*/
@Override
protected void executeQueryCommand() {
Map<Guid, String> result = new HashMap<>();
for (Guid iconId : getParameters().getIconIds()) {
final VmIcon vmIcon = vmIconDao.get(iconId);
result.put(iconId, vmIcon.getDataUrl());
}
setReturnValue(result);
}
}