package org.ovirt.engine.core.bll; import org.ovirt.engine.core.compat.*; import org.ovirt.engine.core.common.businessentities.*; import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.common.queries.*; import org.ovirt.engine.core.dal.dbbroker.*; public class GetAvailableClusterVersionsByStoragePoolQuery<P extends GetAvailableClusterVersionsByStoragePoolParameters> extends QueriesCommandBase<P> { public GetAvailableClusterVersionsByStoragePoolQuery(P parameters) { super(parameters); } @Override protected void executeQueryCommand() { if (getParameters().getStoragePoolId() != null) { java.util.ArrayList<Version> result = new java.util.ArrayList<Version>(); storage_pool storagePool = DbFacade.getInstance().getStoragePoolDAO().get( getParameters().getStoragePoolId().getValue()); if (storagePool != null) { // return all versions that >= to the storage pool version for (Version supportedVer : Config .<java.util.HashSet<Version>> GetValue(ConfigValues.SupportedClusterLevels)) { // if version lower than current skip because cannot // decrease version if (supportedVer.compareTo(storagePool.getcompatibility_version()) < 0) { continue; } result.add(supportedVer); } } getQueryReturnValue().setReturnValue(result); } else { getQueryReturnValue().setReturnValue( new java.util.ArrayList<Version>(Config .<java.util.HashSet<Version>> GetValue(ConfigValues.SupportedClusterLevels))); } } }