package org.ovirt.engine.core.dao; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.StoragePoolStatus; import org.ovirt.engine.core.common.businessentities.StorageType; import org.ovirt.engine.core.common.businessentities.storage_pool; import org.ovirt.engine.core.compat.Guid; public class StoragePoolDAOHibernateImpl extends BaseDAOHibernateImpl<storage_pool, Guid> implements StoragePoolDAO { // private StoragePoolIsoMapDAO storagePoolIsoMapDAO = new StoragePoolIsoMapDAO(); public StoragePoolDAOHibernateImpl() { super(storage_pool.class); } @Override public void setSession(Session session) { super.setSession(session); //storagePoolIsoMapDAO.setSession(session); } @Override public storage_pool getForVds(final Guid vds) { Session session = getSession(); Query query = session.getNamedQuery("all_storage_pools_for_vds"); query.setParameter("vds_id", vds); return (storage_pool) query.uniqueResult(); } @Override public storage_pool getForVdsGroup(final Guid vdsGroup) { Session session = getSession(); Query query = session.getNamedQuery("all_storage_pools_for_vds_group"); query.setParameter("vds_group_id", vdsGroup); return (storage_pool) query.uniqueResult(); } @Override public List<storage_pool> getAllOfType(final StorageType type) { return findByCriteria(Restrictions.eq("storagePoolType", type.getValue())); } @SuppressWarnings("unchecked") @Override public List<storage_pool> getAllForStorageDomain(final Guid storageDomain) { Session session = getSession(); Query query = session.getNamedQuery("all_storage_pools_for_storage_domain"); query.setParameter("storage_domain_id", storageDomain); return query.list(); } @SuppressWarnings("unchecked") @Override public List<storage_pool> getAllWithQuery(final String queryString) { Session session = getSession(); Query query = session.createQuery(queryString); return query.list(); } @Override public void updateStatus(Guid id, StoragePoolStatus status) { // TODO Auto-generated method stub } @Override public void updatePartial(storage_pool pool) { // TODO Auto-generated method stub } @Override public List<storage_pool> getDataCentersWithPermittedActionOnClusters(Guid userId, ActionGroup actionGroup) { Query query = getSession().getNamedQuery("fn_perms_get_storage_pools_with_permitted_action_on_vds_groups"); query.setParameter("v_user_id", userId).setParameter("v_action_group_id", actionGroup.getId()); return (List<storage_pool>) query.uniqueResult(); } /* Moved to iso map dao , left modifications to Derril @Override public storage_pool_iso_map getStoragePoolIsoMapByIsoAndStoragePool(Guid isoId, Guid storagePoolId) { return storagePoolIsoMapDAO.get(new StoragePoolIsoMapId(isoId,storagePoolId)); } @Override public void addStoragePoolIsoMap(storage_pool_iso_map map) { storagePoolIsoMapDAO.save(map); } @Override public void updateStoragePoolIsoMap(storage_pool_iso_map map) { storagePoolIsoMapDAO.update(map); } @Override public void removeStoragePoolIsoMap(Guid storagePoolId, Guid isoDomainId) { storagePoolIsoMapDAO.remove(new StoragePoolIsoMapId(isoDomainId,storagePoolId)); } @Override public List<storage_pool_iso_map> getAllStoragePoolIsoMapsForStoragePool(Guid storagePoolId) { return storagePoolIsoMapDAO.getAllForStoragePool(storagePoolId); } @Override public List<storage_pool_iso_map> getAllStoragePoolIsoMapsForIso(Guid isoId) { return storagePoolIsoMapDAO.getAllForStorage(isoId); } */ }