package org.ovirt.engine.core.bll; import java.util.List; import javax.inject.Inject; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.dao.VmTemplateDao; public class GetVmTemplatesByStoragePoolIdQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> { @Inject private VmHandler vmHandler; @Inject private VmTemplateDao vmTemplateDao; public GetVmTemplatesByStoragePoolIdQuery(P parameters) { super(parameters); } @Override protected void executeQueryCommand() { List<VmTemplate> templateList = vmTemplateDao.getAllForStoragePool(getParameters().getId()); // Load VmInit for (VmTemplate template : templateList) { vmHandler.updateVmInitFromDB(template, true); } VmTemplate blank = vmTemplateDao.get(VmTemplateHandler.BLANK_VM_TEMPLATE_ID); if (!templateList.contains(blank)) { vmHandler.updateVmInitFromDB(blank, true); templateList.add(0, blank); } getQueryReturnValue().setReturnValue(templateList); } }