package org.ovirt.engine.api.restapi.resource; import static org.ovirt.engine.api.restapi.resource.BackendDataCenterResource.getStoragePool; import java.util.List; import org.ovirt.engine.api.model.Clusters; import org.ovirt.engine.api.model.DataCenter; import org.ovirt.engine.api.resource.ClusterResource; import org.ovirt.engine.core.common.businessentities.Cluster; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; public class BackendDataCenterClustersResource extends BackendClustersResource { protected Guid dataCenterId; public BackendDataCenterClustersResource(String dataCenterId) { super(); this.dataCenterId = asGuid(dataCenterId); } @Override public Clusters list() { return mapCollection(getClusters()); } protected List<Cluster> getClusters() { return getBackendCollection(VdcQueryType.GetClustersByStoragePoolId, new IdQueryParameters(dataCenterId)); } @Override public ClusterResource getClusterResource(String id) { return inject(new BackendDataCenterClusterResource(this, id)); } @Override protected String[] getMandatoryParameters() { return new String[] { "name" }; } @Override protected StoragePool getDataCenter(org.ovirt.engine.api.model.Cluster cluster) { DataCenter dataCenter = new DataCenter(); dataCenter.setId(dataCenterId.toString()); cluster.setDataCenter(dataCenter); StoragePool pool = getStoragePool(cluster.getDataCenter(), this); return pool; } }