package org.ovirt.engine.core.dal.dbbroker; import java.util.HashMap; import java.util.Map; import javax.enterprise.inject.Instance; import javax.inject.Inject; import javax.inject.Singleton; import org.ovirt.engine.core.common.ExternalVariable; import org.ovirt.engine.core.common.businessentities.BusinessEntity; import org.ovirt.engine.core.common.businessentities.CommandEntity; import org.ovirt.engine.core.common.businessentities.DwhHistoryTimekeeping; import org.ovirt.engine.core.common.businessentities.EngineSession; import org.ovirt.engine.core.common.businessentities.HostDevice; import org.ovirt.engine.core.common.businessentities.IscsiBond; import org.ovirt.engine.core.common.businessentities.MacPool; import org.ovirt.engine.core.common.businessentities.Permission; import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.businessentities.Role; import org.ovirt.engine.core.common.businessentities.Snapshot; import org.ovirt.engine.core.common.businessentities.StorageDomainDynamic; import org.ovirt.engine.core.common.businessentities.StorageDomainStatic; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap; import org.ovirt.engine.core.common.businessentities.StorageServerConnections; import org.ovirt.engine.core.common.businessentities.UserProfile; import org.ovirt.engine.core.common.businessentities.VdsDynamic; import org.ovirt.engine.core.common.businessentities.VdsKdumpStatus; import org.ovirt.engine.core.common.businessentities.VdsNumaNode; import org.ovirt.engine.core.common.businessentities.VdsSpmIdMap; import org.ovirt.engine.core.common.businessentities.VdsStatic; import org.ovirt.engine.core.common.businessentities.VdsStatistics; import org.ovirt.engine.core.common.businessentities.VmDevice; import org.ovirt.engine.core.common.businessentities.VmDynamic; import org.ovirt.engine.core.common.businessentities.VmIcon; import org.ovirt.engine.core.common.businessentities.VmIconDefault; import org.ovirt.engine.core.common.businessentities.VmInit; import org.ovirt.engine.core.common.businessentities.VmJob; import org.ovirt.engine.core.common.businessentities.VmNumaNode; import org.ovirt.engine.core.common.businessentities.VmStatic; import org.ovirt.engine.core.common.businessentities.VmStatistics; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.businessentities.network.VmNetworkStatistics; import org.ovirt.engine.core.common.businessentities.network.VmNic; import org.ovirt.engine.core.common.businessentities.network.VnicProfile; import org.ovirt.engine.core.common.businessentities.network.VnicProfileView; import org.ovirt.engine.core.common.businessentities.pm.FenceAgent; import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile; import org.ovirt.engine.core.common.businessentities.storage.BaseDisk; import org.ovirt.engine.core.common.businessentities.storage.CinderDisk; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.core.common.businessentities.storage.DiskImageDynamic; import org.ovirt.engine.core.common.businessentities.storage.DiskVmElement; import org.ovirt.engine.core.common.businessentities.storage.Image; import org.ovirt.engine.core.common.businessentities.storage.ImageStorageDomainMap; import org.ovirt.engine.core.common.businessentities.storage.ImageTransfer; import org.ovirt.engine.core.common.businessentities.storage.LUNs; import org.ovirt.engine.core.common.businessentities.storage.LibvirtSecret; import org.ovirt.engine.core.common.job.Job; import org.ovirt.engine.core.common.job.Step; import org.ovirt.engine.core.dao.ActionGroupDao; import org.ovirt.engine.core.dao.AsyncTaskDao; import org.ovirt.engine.core.dao.AuditLogDao; import org.ovirt.engine.core.dao.BaseDiskDao; import org.ovirt.engine.core.dao.BookmarkDao; import org.ovirt.engine.core.dao.BusinessEntitySnapshotDao; import org.ovirt.engine.core.dao.ClusterDao; import org.ovirt.engine.core.dao.ClusterFeatureDao; import org.ovirt.engine.core.dao.CommandEntityDao; import org.ovirt.engine.core.dao.Dao; import org.ovirt.engine.core.dao.DbGroupDao; import org.ovirt.engine.core.dao.DbUserDao; import org.ovirt.engine.core.dao.DiskDao; import org.ovirt.engine.core.dao.DiskImageDao; import org.ovirt.engine.core.dao.DiskImageDynamicDao; import org.ovirt.engine.core.dao.DiskLunMapDao; import org.ovirt.engine.core.dao.DiskVmElementDao; import org.ovirt.engine.core.dao.EngineBackupLogDao; import org.ovirt.engine.core.dao.EngineSessionDao; import org.ovirt.engine.core.dao.EventDao; import org.ovirt.engine.core.dao.ExternalVariableDao; import org.ovirt.engine.core.dao.FenceAgentDao; import org.ovirt.engine.core.dao.GenericDao; import org.ovirt.engine.core.dao.HostDeviceDao; import org.ovirt.engine.core.dao.ImageDao; import org.ovirt.engine.core.dao.ImageStorageDomainMapDao; import org.ovirt.engine.core.dao.ImageTransferDao; import org.ovirt.engine.core.dao.IscsiBondDao; import org.ovirt.engine.core.dao.JobDao; import org.ovirt.engine.core.dao.JobSubjectEntityDao; import org.ovirt.engine.core.dao.LibvirtSecretDao; import org.ovirt.engine.core.dao.LunDao; import org.ovirt.engine.core.dao.MacPoolDao; import org.ovirt.engine.core.dao.PermissionDao; import org.ovirt.engine.core.dao.QuotaDao; import org.ovirt.engine.core.dao.RepoFileMetaDataDao; import org.ovirt.engine.core.dao.RoleDao; import org.ovirt.engine.core.dao.RoleGroupMapDao; import org.ovirt.engine.core.dao.SnapshotDao; import org.ovirt.engine.core.dao.StepDao; import org.ovirt.engine.core.dao.StepSubjectEntityDao; import org.ovirt.engine.core.dao.StorageDomainDRDao; import org.ovirt.engine.core.dao.StorageDomainDao; import org.ovirt.engine.core.dao.StorageDomainDynamicDao; import org.ovirt.engine.core.dao.StorageDomainOvfInfoDao; import org.ovirt.engine.core.dao.StorageDomainStaticDao; import org.ovirt.engine.core.dao.StoragePoolDao; import org.ovirt.engine.core.dao.StoragePoolIsoMapDao; import org.ovirt.engine.core.dao.StorageServerConnectionDao; import org.ovirt.engine.core.dao.StorageServerConnectionExtensionDao; import org.ovirt.engine.core.dao.StorageServerConnectionLunMapDao; import org.ovirt.engine.core.dao.SupportedHostFeatureDao; import org.ovirt.engine.core.dao.TagDao; import org.ovirt.engine.core.dao.UnregisteredDisksDao; import org.ovirt.engine.core.dao.UnregisteredOVFDataDao; import org.ovirt.engine.core.dao.UserProfileDao; import org.ovirt.engine.core.dao.VdcOptionDao; import org.ovirt.engine.core.dao.VdsDao; import org.ovirt.engine.core.dao.VdsDynamicDao; import org.ovirt.engine.core.dao.VdsKdumpStatusDao; import org.ovirt.engine.core.dao.VdsNumaNodeDao; import org.ovirt.engine.core.dao.VdsSpmIdMapDao; import org.ovirt.engine.core.dao.VdsStaticDao; import org.ovirt.engine.core.dao.VdsStatisticsDao; import org.ovirt.engine.core.dao.VmAndTemplatesGenerationsDao; import org.ovirt.engine.core.dao.VmDao; import org.ovirt.engine.core.dao.VmDeviceDao; import org.ovirt.engine.core.dao.VmDynamicDao; import org.ovirt.engine.core.dao.VmGuestAgentInterfaceDao; import org.ovirt.engine.core.dao.VmIconDao; import org.ovirt.engine.core.dao.VmIconDefaultDao; import org.ovirt.engine.core.dao.VmInitDao; import org.ovirt.engine.core.dao.VmJobDao; import org.ovirt.engine.core.dao.VmNumaNodeDao; import org.ovirt.engine.core.dao.VmPoolDao; import org.ovirt.engine.core.dao.VmStaticDao; import org.ovirt.engine.core.dao.VmStatisticsDao; import org.ovirt.engine.core.dao.VmTemplateDao; import org.ovirt.engine.core.dao.dwh.DwhHistoryTimekeepingDao; import org.ovirt.engine.core.dao.gluster.GlusterBrickDao; import org.ovirt.engine.core.dao.gluster.GlusterClusterServiceDao; import org.ovirt.engine.core.dao.gluster.GlusterGeoRepDao; import org.ovirt.engine.core.dao.gluster.GlusterHooksDao; import org.ovirt.engine.core.dao.gluster.GlusterOptionDao; import org.ovirt.engine.core.dao.gluster.GlusterServerDao; import org.ovirt.engine.core.dao.gluster.GlusterServerServiceDao; import org.ovirt.engine.core.dao.gluster.GlusterServiceDao; import org.ovirt.engine.core.dao.gluster.GlusterVolumeDao; import org.ovirt.engine.core.dao.gluster.GlusterVolumeSnapshotConfigDao; import org.ovirt.engine.core.dao.gluster.GlusterVolumeSnapshotDao; import org.ovirt.engine.core.dao.gluster.GlusterVolumeSnapshotScheduleDao; import org.ovirt.engine.core.dao.gluster.StorageDeviceDao; import org.ovirt.engine.core.dao.network.HostNetworkQosDao; import org.ovirt.engine.core.dao.network.HostNicVfsConfigDao; import org.ovirt.engine.core.dao.network.InterfaceDao; import org.ovirt.engine.core.dao.network.NetworkAttachmentDao; import org.ovirt.engine.core.dao.network.NetworkClusterDao; import org.ovirt.engine.core.dao.network.NetworkDao; import org.ovirt.engine.core.dao.network.NetworkFilterDao; import org.ovirt.engine.core.dao.network.NetworkQoSDao; import org.ovirt.engine.core.dao.network.NetworkViewDao; import org.ovirt.engine.core.dao.network.VmNetworkInterfaceDao; import org.ovirt.engine.core.dao.network.VmNetworkStatisticsDao; import org.ovirt.engine.core.dao.network.VmNicDao; import org.ovirt.engine.core.dao.network.VnicProfileDao; import org.ovirt.engine.core.dao.network.VnicProfileViewDao; import org.ovirt.engine.core.dao.profiles.CpuProfileDao; import org.ovirt.engine.core.dao.profiles.DiskProfileDao; import org.ovirt.engine.core.dao.provider.ProviderDao; import org.ovirt.engine.core.dao.qos.CpuQosDao; import org.ovirt.engine.core.dao.qos.QosBaseDao; import org.ovirt.engine.core.dao.qos.StorageQosDao; import org.ovirt.engine.core.dao.scheduling.AffinityGroupDao; import org.ovirt.engine.core.dao.scheduling.ClusterPolicyDao; import org.ovirt.engine.core.dao.scheduling.PolicyUnitDao; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Singleton public class DbFacade { private static final Logger log = LoggerFactory.getLogger(DbFacade.class); @SuppressWarnings("serial") private static final Map<Class<?>, Class<?>> mapEntityToDao = new HashMap<Class<?>, Class<?>>() { { put(StoragePool.class, StoragePoolDao.class); put(StoragePoolIsoMap.class, StoragePoolIsoMapDao.class); put(StorageDomainStatic.class, StorageDomainStaticDao.class); put(StorageDomainDynamic.class, StorageDomainDynamicDao.class); put(VdsStatic.class, VdsStaticDao.class); put(VdsDynamic.class, VdsDynamicDao.class); put(VdsStatistics.class, VdsStatisticsDao.class); put(VdsSpmIdMap.class, VdsSpmIdMapDao.class); put(Role.class, RoleDao.class); put(VmTemplate.class, VmTemplateDao.class); put(VmDynamic.class, VmDynamicDao.class); put(VmStatic.class, VmStaticDao.class); put(VmStatistics.class, VmStatisticsDao.class); put(BaseDisk.class, BaseDiskDao.class); put(DiskVmElement.class, DiskVmElementDao.class); put(DiskImage.class, BaseDiskDao.class); put(CinderDisk.class, BaseDiskDao.class); put(DiskImageDynamic.class, DiskImageDynamicDao.class); put(VmNic.class, VmNicDao.class); put(VmNetworkInterface.class, VmNicDao.class); put(VmNetworkStatistics.class, VmNetworkStatisticsDao.class); put(Network.class, NetworkDao.class); put(Provider.class, ProviderDao.class); put(Snapshot.class, SnapshotDao.class); put(VmDevice.class, VmDeviceDao.class); put(ImageStorageDomainMap.class, ImageStorageDomainMapDao.class); put(Permission.class, PermissionDao.class); put(Image.class, ImageDao.class); put(Job.class, JobDao.class); put(Step.class, StepDao.class); put(VnicProfile.class, VnicProfileDao.class); put(VnicProfileView.class, VnicProfileDao.class); put(DwhHistoryTimekeeping.class, DwhHistoryTimekeepingDao.class); put(IscsiBond.class, IscsiBondDao.class); put(VmInit.class, VmInitDao.class); put(VdsNumaNode.class, VdsNumaNodeDao.class); put(VmNumaNode.class, VmNumaNodeDao.class); put(CommandEntity.class, CommandEntityDao.class); put(ExternalVariable.class, ExternalVariableDao.class); put(VdsKdumpStatus.class, VdsKdumpStatusDao.class); put(VmJob.class, VmJobDao.class); put(MacPool.class, MacPoolDao.class); put(DiskProfile.class, DiskProfileDao.class); put(FenceAgent.class, FenceAgentDao.class); put(EngineSession.class, EngineSessionDao.class); put(HostDevice.class, HostDeviceDao.class); put(UserProfile.class, UserProfileDao.class); put(VmIcon.class, VmIconDao.class); put(VmIconDefault.class, VmIconDefaultDao.class); put(LibvirtSecret.class, LibvirtSecretDao.class); put(StorageServerConnections.class, StorageServerConnectionDao.class); put(ImageTransfer.class, ImageTransferDao.class); put(LUNs.class, LunDao.class); } }; private static DbFacade instance; @Inject private Instance<Dao> daos; DbFacade() { init(); } private void init() { log.info("Initializing the DbFacade"); instance = this; } /** * Return the correct Dao for the given {@link BusinessEntity} class. * * @param <T> * The Type of Dao which is returned. * @param entityClass * The class of the entity. * @return The Dao for the entity. */ public <T extends GenericDao<?, ?>> T getDaoForEntity(Class<? extends BusinessEntity<?>> entityClass) { @SuppressWarnings("unchecked") Class<T> daoType = (Class<T>) mapEntityToDao.get(entityClass); return getDao(daoType); } @SuppressWarnings("unchecked") private <T extends Dao> T getDao(Class<T> daoType) { for (Dao dao : daos) { if (daoType.isAssignableFrom(dao.getClass())) { return (T) dao; } } throw new IllegalArgumentException("There is no Dao registered for dao type " + daoType.getName()); } @Deprecated // To obtain an instance please inject it through CDI. // Static access to the instance is bug prone and couldn't be mocked. public static DbFacade getInstance() { return instance; } /** * Returns a singleton instance of {@link BookmarkDao}. * * @return the dao */ public BookmarkDao getBookmarkDao() { return getDao(BookmarkDao.class); } /** * Retrieves the singleton instance of {@link CommandEntityDao}. * * @return the dao */ public CommandEntityDao getCommandEntityDao() { return getDao(CommandEntityDao.class); } /** * Returns the singleton instance of {@link DbUserDao}. * * @return the dao */ public DbUserDao getDbUserDao() { return getDao(DbUserDao.class); } /** * Returns the singleton instance of {@link UserProfileDao}. * * @return the dao */ public UserProfileDao getUserProfileDao() { return getDao(UserProfileDao.class); } /** * Returns the singleton instance of {@link VdsDao}. * * @return the dao */ public VdsDao getVdsDao() { return getDao(VdsDao.class); } /** * Returns the singleton instance of {@link UnregisteredOVFDataDao}. * * @return the dao */ public UnregisteredOVFDataDao getUnregisteredOVFDataDao() { return getDao(UnregisteredOVFDataDao.class); } /** * Returns the singleton instance of {@link UnregisteredDisksDao}. * * @return the dao */ public UnregisteredDisksDao getUnregisteredDisksDao() { return getDao(UnregisteredDisksDao.class); } /** * Returns the singleton instance of {@link VmAndTemplatesGenerationsDao}. * * @return the dao */ public VmAndTemplatesGenerationsDao getVmAndTemplatesGenerationsDao() { return getDao(VmAndTemplatesGenerationsDao.class); } /** * Returns the singleton instance of {@link VdsStaticDao}. * * @return the dao */ public VdsStaticDao getVdsStaticDao() { return getDao(VdsStaticDao.class); } /** * Returns the singleton instance of {@link VdsDynamicDao}. * * @return the dao */ public VdsDynamicDao getVdsDynamicDao() { return getDao(VdsDynamicDao.class); } /** * Returns the singleton instance of {@link VdsStatisticsDao}. * * @return the dao */ public VdsStatisticsDao getVdsStatisticsDao() { return getDao(VdsStatisticsDao.class); } /** * Returns the singleton instance of {@link VdsSpmIdMapDao}. * * @return the dao */ public VdsSpmIdMapDao getVdsSpmIdMapDao() { return getDao(VdsSpmIdMapDao.class); } /** * Returns the singleton instance of {@link org.ovirt.engine.core.dao.ClusterDao}. * * @return the dao */ public ClusterDao getClusterDao() { return getDao(ClusterDao.class); } /** * Returns the single instance of {@link AuditLogDao}. * * @return the dao */ public AuditLogDao getAuditLogDao() { return getDao(AuditLogDao.class); } /** * Retrieves the singleton instance of {@link LunDao}. * * @return the dao */ public LunDao getLunDao() { return getDao(LunDao.class); } /** * Returns the singleton instance of {@link InterfaceDao}. * * @return the dao */ public InterfaceDao getInterfaceDao() { return getDao(InterfaceDao.class); } /** * Returns the singleton instance of {@link VmNetworkInterfaceDao}. * * @return the dao */ public VmNetworkInterfaceDao getVmNetworkInterfaceDao() { return getDao(VmNetworkInterfaceDao.class); } /** * Returns the singleton instance of {@link VmNetworkInterfaceDao}. * * @return the dao */ public VmNetworkStatisticsDao getVmNetworkStatisticsDao() { return getDao(VmNetworkStatisticsDao.class); } /** * Returns the singleton instance of {@link RoleGroupMapDao}. * * @return the dao */ public RoleGroupMapDao getRoleGroupMapDao() { return getDao(RoleGroupMapDao.class); } /** * * Returns the singleton instance of {@link VmTemplateDao}. * * @return the dao */ public VmTemplateDao getVmTemplateDao() { return getDao(VmTemplateDao.class); } /** * * Returns the singleton instance of {@link VmDao}. * * @return the dao */ public VmDao getVmDao() { return getDao(VmDao.class); } /** * * Returns the singleton instance if {@link org.ovirt.engine.core.dao.VmIconDao} * * @return the dao */ public VmIconDao getVmIconDao() { return getDao(VmIconDao.class); } public VmIconDefaultDao getVmIconsDefaultDao() { return getDao(VmIconDefaultDao.class); } /** * * Returns the singleton instance of {@link VmDynamicDao}. * * @return the dao */ public VmDynamicDao getVmDynamicDao() { return getDao(VmDynamicDao.class); } /** * Returns the singleton instance of {@link TagDao}. * * @return the dao */ public TagDao getTagDao() { return getDao(TagDao.class); } /** * Returns the singleton instance of {@link BaseDiskDao}. * * @return the dao */ public BaseDiskDao getBaseDiskDao() { return getDao(BaseDiskDao.class); } /** * Returns the singleton instance of {@link DiskVmElementDao}. * * @return the dao */ public DiskVmElementDao getDiskVmElementDao() { return getDao(DiskVmElementDao.class); } /** * Returns the singleton instance of {@link DiskDao}. * * @return the dao */ public DiskDao getDiskDao() { return getDao(DiskDao.class); } /** * Returns the singleton instance of {@link DiskLunMapDao}. * * @return the dao */ public DiskLunMapDao getDiskLunMapDao() { return getDao(DiskLunMapDao.class); } /** * Returns the singleton instance of {@link ImageDao}. * * @return the dao */ public ImageDao getImageDao() { return getDao(ImageDao.class); } /** * Returns the singleton instance of {@link DiskImageDao}. * * @return the dao */ public DiskImageDao getDiskImageDao() { return getDao(DiskImageDao.class); } /** * Returns the singleton instance of {@link DiskImageDynamicDao}. * * @return the dao */ public DiskImageDynamicDao getDiskImageDynamicDao() { return getDao(DiskImageDynamicDao.class); } /** * Returns the singleton instance of {@link EventDao}. * * @return the dao */ public EventDao getEventDao() { return getDao(EventDao.class); } /** * Returns the singleton instance of {@link ActionGroupDao}. * * @return the dao */ public ActionGroupDao getActionGroupDao() { return getDao(ActionGroupDao.class); } /** * Retrieves the singleton instance of {@link RoleDao}. * * @return the dao */ public RoleDao getRoleDao() { return getDao(RoleDao.class); } /** * Returns the singleton instance of {@link AsyncTaskDao}. * * @return the dao */ public AsyncTaskDao getAsyncTaskDao() { return getDao(AsyncTaskDao.class); } /** * Retrieves the singleton instance of {@link DbGroupDao}. * * @return the dao */ public DbGroupDao getDbGroupDao() { return getDao(DbGroupDao.class); } /** * Returns the singleton instance of {@link EngineSessionDao}. * * @return the dao */ public EngineSessionDao getEngineSessionDao() { return getDao(EngineSessionDao.class); } /** * Returns the singleton instance of {@link ProviderDao}. * * @return the dao */ public ProviderDao getProviderDao() { return getDao(ProviderDao.class); } /** * Returns the singleton instance of {@link NetworkDao}. * * @return the dao */ public NetworkDao getNetworkDao() { return getDao(NetworkDao.class); } /** * Returns the singleton instance of {@link NetworkViewDao}. * * @return the dao */ public NetworkViewDao getNetworkViewDao() { return getDao(NetworkViewDao.class); } /** * Returns the singleton instance of {@link NetworkClusterDao}. * * @return the dao */ public NetworkClusterDao getNetworkClusterDao() { return getDao(NetworkClusterDao.class); } /** * Returns the singleton instance of {@link PermissionDao}. * * @return the dao */ public PermissionDao getPermissionDao() { return getDao(PermissionDao.class); } /** * Returns the singleton instance of {@link StorageDomainDao}. * * @return the dao */ public StorageDomainDao getStorageDomainDao() { return getDao(StorageDomainDao.class); } /** * Returns the singleton instance of {@link StorageDomainOvfInfoDao}. * * @return the dao */ public StorageDomainOvfInfoDao getStorageDomainOvfInfoDao() { return getDao(StorageDomainOvfInfoDao.class); } /** * Returns the singleton instance of {@link StorageDomainDao}. * * @return the dao */ public StorageDomainStaticDao getStorageDomainStaticDao() { return getDao(StorageDomainStaticDao.class); } /** * Returns the singleton instance of {@link StorageDomainDao}. * * @return the dao */ public StorageDomainDynamicDao getStorageDomainDynamicDao() { return getDao(StorageDomainDynamicDao.class); } /** * Returns the singleton instance of {@link RepoFileMetaDataDao}. * * @return Repository file meta data dao. */ public RepoFileMetaDataDao getRepoFileMetaDataDao() { return getDao(RepoFileMetaDataDao.class); } /** * Retrieves the singleton instance of {@link SnapshotDao}. * * @return the dao */ public SnapshotDao getSnapshotDao() { return getDao(SnapshotDao.class); } /** * Retrieves the singleton instance of {@link ImageStorageDomainMapDao}. * * @return the dao */ public ImageStorageDomainMapDao getImageStorageDomainMapDao() { return getDao(ImageStorageDomainMapDao.class); } /** * Retrieves the singleton instance of {@link StoragePoolDao}. * * @return the dao */ public StoragePoolDao getStoragePoolDao() { return getDao(StoragePoolDao.class); } /** * Retrieves the singleton instance of {@link MacPoolDao}. * * @return the dao */ public MacPoolDao getMacPoolDao() { return getDao(MacPoolDao.class); } /** * Retrieves the singleton instance of {@link StoragePoolIsoMapDao}. * * @return the dao */ public StoragePoolIsoMapDao getStoragePoolIsoMapDao() { return getDao(StoragePoolIsoMapDao.class); } /** * Retrieves the singleton instance of {@link StorageServerConnectionDao}. * * @return the dao */ public StorageServerConnectionDao getStorageServerConnectionDao() { return getDao(StorageServerConnectionDao.class); } /** * Retrieves the singleton instance of {@link StorageServerConnectionLunMapDao}. * * @return the dao */ public StorageServerConnectionLunMapDao getStorageServerConnectionLunMapDao() { return getDao(StorageServerConnectionLunMapDao.class); } /** * Returns the singleton instance of {@link VdcOptionDao}. * * @return the dao */ public VdcOptionDao getVdcOptionDao() { return getDao(VdcOptionDao.class); } /** * Returns the singleton instance of {@link BusinessEntitySnapshotDao}. * * @return the dao */ public BusinessEntitySnapshotDao getBusinessEntitySnapshotDao() { return getDao(BusinessEntitySnapshotDao.class); } /** * Returns the singleton instance of {@link VmPoolDao}. * * @return the dao */ public VmPoolDao getVmPoolDao() { return getDao(VmPoolDao.class); } public VmStaticDao getVmStaticDao() { return getDao(VmStaticDao.class); } /** * Returns the singleton instance of {@link VmStatisticsDao}. * * @return the dao */ public VmStatisticsDao getVmStatisticsDao() { return getDao(VmStatisticsDao.class); } /** * Returns the singleton instance of {@link QuotaDao}. * * @return the dao */ public QuotaDao getQuotaDao() { return getDao(QuotaDao.class); } public VmDeviceDao getVmDeviceDao() { return getDao(VmDeviceDao.class); } /** * Returns the singleton instance of {@link VmJobDao}. * * @return the dao */ public VmJobDao getVmJobDao() { return getDao(VmJobDao.class); } /** * * Returns the singleton instance of {@link JobDao}. * * @return the dao */ public JobDao getJobDao() { return getDao(JobDao.class); } /** * Returns the singleton instance of {@link JobSubjectEntityDao}. * * @return the dao */ public JobSubjectEntityDao getJobSubjectEntityDao() { return getDao(JobSubjectEntityDao.class); } /** * Returns the singleton instance of {@link StepSubjectEntityDao}. * * @return the dao */ public StepSubjectEntityDao getStepSubjectEntityDao() { return getDao(StepSubjectEntityDao.class); } /** * Returns the singleton instance of {@link StepDao}. * * @return the dao */ public StepDao getStepDao() { return getDao(StepDao.class); } /** * Returns the singleton instance of {@link GlusterVolumeSnapshotDao} * * @return the dao */ public GlusterVolumeSnapshotDao getGlusterVolumeSnapshotDao() { return getDao(GlusterVolumeSnapshotDao.class); } /** * Returns the singleton instance of {@link GlusterVolumeSnapshotConfigDao} * * @return the dao */ public GlusterVolumeSnapshotConfigDao getGlusterVolumeSnapshotConfigDao() { return getDao(GlusterVolumeSnapshotConfigDao.class); } /** * Retrieves the singleton instance of {@link org.ovirt.engine.core.dao.StorageServerConnectionExtensionDao}. * * @return the dao */ public StorageServerConnectionExtensionDao getStorageServerConnectionExtensionDao() { return getDao(StorageServerConnectionExtensionDao.class); } /** * Returns the singleton instance of {@link GlusterVolumeSnapshotScheduleDao} * * @return the dao */ public GlusterVolumeSnapshotScheduleDao getGlusterVolumeSnapshotScheduleDao() { return getDao(GlusterVolumeSnapshotScheduleDao.class); } /** * Returns the singleton instance of {@link GlusterVolumeDao}. * * @return the dao */ public GlusterVolumeDao getGlusterVolumeDao() { return getDao(GlusterVolumeDao.class); } /** * Returns the singleton instance of {@link GlusterBrickDao}. * * @return the dao */ public GlusterBrickDao getGlusterBrickDao() { return getDao(GlusterBrickDao.class); } /** * Returns the singleton instance of {@link GlusterOptionDao}. * * @return the dao */ public GlusterOptionDao getGlusterOptionDao() { return getDao(GlusterOptionDao.class); } /** * Returns the singleton instance of {@link GlusterServiceDao}. * * @return the dao */ public GlusterServiceDao getGlusterServiceDao() { return getDao(GlusterServiceDao.class); } /** * Returns the singleton instance of {@link GlusterServerServiceDao}. * * @return the dao */ public GlusterServerServiceDao getGlusterServerServiceDao() { return getDao(GlusterServerServiceDao.class); } /** * Returns the singleton instance of {@link GlusterClusterServiceDao}. * * @return the dao */ public GlusterClusterServiceDao getGlusterClusterServiceDao() { return getDao(GlusterClusterServiceDao.class); } /** * Returns the singleton instance of {@link GlusterHooksDao}. * * @return the dao */ public GlusterHooksDao getGlusterHooksDao() { return getDao(GlusterHooksDao.class); } /** * Returns the singleton instance of {@link GlusterGeoRepDao}. * * @return the dao */ public GlusterGeoRepDao getGlusterGeoRepDao() { return getDao(GlusterGeoRepDao.class); } /** * Returns the singleton instance of {@link StorageDeviceDao}. * * @return the dao */ public StorageDeviceDao getStorageDeviceDao() { return getDao(StorageDeviceDao.class); } /** * Returns the singleton instance of {@link GlusterServerDao}. * * @return the dao */ public GlusterServerDao getGlusterServerDao() { return getDao(GlusterServerDao.class); } /** * Returns the singleton instance of {@link VmGuestAgentInterfaceDao}. * * @return the dao */ public VmGuestAgentInterfaceDao getVmGuestAgentInterfaceDao() { return getDao(VmGuestAgentInterfaceDao.class); } public NetworkQoSDao getNetworkQosDao() { return getDao(NetworkQoSDao.class); } public HostNetworkQosDao getHostNetworkQosDao() { return getDao(HostNetworkQosDao.class); } public StorageQosDao getStorageQosDao() { return getDao(StorageQosDao.class); } public CpuQosDao getCpuQosDao() { return getDao(CpuQosDao.class); } public QosBaseDao getQosBaseDao() { return getDao(QosBaseDao.class); } /** * Returns the singleton instance of {@link PolicyUnitDao}. * * @return the dao */ public PolicyUnitDao getPolicyUnitDao() { return getDao(PolicyUnitDao.class); } /** * Returns the singleton instance of {@link ClusterPolicyDao}. * * @return the dao */ public ClusterPolicyDao getClusterPolicyDao() { return getDao(ClusterPolicyDao.class); } /** * Returns the singleton instance of {@link VnicProfileDao}. * * @return the dao */ public VnicProfileDao getVnicProfileDao() { return getDao(VnicProfileDao.class); } /** * Returns the singleton instance of {@link NetworkFilterDao}. * * @return the dao */ public NetworkFilterDao getNetworkFilterDao() { return getDao(NetworkFilterDao.class); } /** * Returns the singleton instance of {@link VnicProfileViewDao}. * * @return the dao */ public VnicProfileViewDao getVnicProfileViewDao() { return getDao(VnicProfileViewDao.class); } /** * Returns the singleton instance of {@link VmNicDao}. * * @return the dao */ public VmNicDao getVmNicDao() { return getDao(VmNicDao.class); } public VmInitDao getVmInitDao() { return getDao(VmInitDao.class); } /** * Returns the singleton instance of {@link DwhHistoryTimekeepingDao}. * * @return the dao instance */ public DwhHistoryTimekeepingDao getDwhHistoryTimekeepingDao() { return getDao(DwhHistoryTimekeepingDao.class); } /** * Returns the singleton instance of {@link AffinityGroupDao}. * * @return the dao instance */ public AffinityGroupDao getAffinityGroupDao() { return getDao(AffinityGroupDao.class); } /** * Returns the singleton instance of {@link ExternalVariableDao}. * * @return the dao instance */ public ExternalVariableDao getExternalVariableDao() { return getDao(ExternalVariableDao.class); } /** * Returns the singleton instance of {@link VdsKdumpStatusDao}. * * @return the dao instance */ public VdsKdumpStatusDao getVdsKdumpStatusDao() { return getDao(VdsKdumpStatusDao.class); } public IscsiBondDao getIscsiBondDao() { return getDao(IscsiBondDao.class); } /** * Returns the singleton instance of {@link VdsNumaNodeDao}. * * @return the dao instance */ public VdsNumaNodeDao getVdsNumaNodeDao() { return getDao(VdsNumaNodeDao.class); } /** * Returns the singleton instance of {@link VmNumaNodeDao}. * * @return the dao instance */ public VmNumaNodeDao getVmNumaNodeDao() { return getDao(VmNumaNodeDao.class); } /** * Returns the singleton instance of {@link DiskProfileDao}. * * @return the dao instance */ public DiskProfileDao getDiskProfileDao() { return getDao(DiskProfileDao.class); } /** * Returns the singleton instance of {@link CpuProfileDao}. * * @return the dao instance */ public CpuProfileDao getCpuProfileDao() { return getDao(CpuProfileDao.class); } public FenceAgentDao getFenceAgentDao() { return getDao(FenceAgentDao.class); } /** * Returns the singleton instance of {@link HostDeviceDao}. * * @return the dao instance */ public HostDeviceDao getHostDeviceDao() { return getDao(HostDeviceDao.class); } /** * Returns the singleton instance of {@link org.ovirt.engine.core.common.businessentities.network.HostNicVfsConfig}. * * @return the dao */ public HostNicVfsConfigDao getHostNicVfsConfigDao() { return getDao(HostNicVfsConfigDao.class); } public EngineBackupLogDao getEngineBackupLogDao() { return getDao(EngineBackupLogDao.class); } public ClusterFeatureDao getClusterFeatureDao() { return getDao(ClusterFeatureDao.class); } public SupportedHostFeatureDao getSupportedHostFeatureDao() { return getDao(SupportedHostFeatureDao.class); } /** * Returns the singleton instance of {@link NetworkAttachmentDao}. * * @return the dao */ public NetworkAttachmentDao getNetworkAttachmentDao() { return getDao(NetworkAttachmentDao.class); } public LibvirtSecretDao getLibvirtSecretDao() { return getDao(LibvirtSecretDao.class); } public ImageTransferDao getImageTransferDao() { return getDao(ImageTransferDao.class); } public StorageDomainDRDao getStorageDomainDRDao() { return getDao(StorageDomainDRDao.class); } }