package org.ovirt.engine.ui.uicommonweb.models.pools; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VmPool; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.uicommonweb.help.HelpTag; import org.ovirt.engine.ui.uicommonweb.models.vms.VmDiskListModelBase; import org.ovirt.engine.ui.uicompat.ConstantsManager; @SuppressWarnings("unused") public class PoolDiskListModel extends VmDiskListModelBase<VmPool> { private VM vm; public VM getVM() { return vm; } public void setVM(VM vm) { this.vm = vm; } public PoolDiskListModel() { setTitle(ConstantsManager.getInstance().getConstants().disksTitle()); setHelpTag(HelpTag.disks); setHashName("disks"); //$NON-NLS-1$ } @Override protected void onEntityChanged() { super.onEntityChanged(); VmPool pool = getEntity(); if (pool != null) { Frontend.getInstance().runQuery(VdcQueryType.GetVmDataByPoolId, new IdQueryParameters(pool.getVmPoolId()), new AsyncQuery<VdcQueryReturnValue>(result -> { if (result != null) { VM vm = result.getReturnValue(); if (vm == null) { return; } setVM(vm); syncSearch(); } })); } } @Override protected void syncSearch() { if (getVM() == null) { return; } super.syncSearch(VdcQueryType.GetAllDisksByVmId, new IdQueryParameters(getVM().getId())); } @Override protected String getListName() { return "PoolDiskListModel"; //$NON-NLS-1$ } }