package org.ovirt.engine.core.bll; import java.util.List; import javax.inject.Inject; import org.ovirt.engine.core.common.businessentities.VmEntityType; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; import org.ovirt.engine.core.dao.VmTemplateDao; public abstract class GetAllTemplateBasedEntityQuery<P extends VdcQueryParametersBase> extends QueriesCommandBase<P> { @Inject private VmTemplateDao vmTemplateDao; @Inject private VmTemplateHandler vmTemplateHandler; private final VmEntityType entityType; public GetAllTemplateBasedEntityQuery(P parameters, VmEntityType entityType) { super(parameters); this.entityType = entityType; } @Override protected void executeQueryCommand() { List<VmTemplate> retval = vmTemplateDao.getAll(getUserID(), getParameters().isFiltered(), entityType); for (VmTemplate template : retval) { vmTemplateHandler.updateDisksFromDb(template); } getQueryReturnValue().setReturnValue(retval); } }