Liran Zelkha has uploaded a new change for review.

Change subject: core: Make DAOs injectable
......................................................................

core: Make DAOs injectable

Reintroducing the DAO injectible patch, fixing the error encountered before

Change-Id: Ic426126d690ab6dedb49ef6b67deeba67661d031
Signed-off-by: Liran Zelkha <lzel...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/BllCDIAdapter.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotEntity.java
M backend/manager/modules/dal/pom.xml
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ActionGroupDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BaseDiskDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/CommandEntityDaoDbFacadeImpl.java
D 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DaoFactory.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskLunMapDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EventDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ExternalVariableDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/HostDeviceDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageStorageDomainMapDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/IscsiBondDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobSubjectEntityDaoFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/MacPoolDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/PermissionDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/QuotaDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RepoFileMetaDataDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleGroupMapDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/SnapshotDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StepDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDynamicDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainOvfInfoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainStaticDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionLunMapDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/UnregisteredOVFDataDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdcOptionDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsCpuStatisticsDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsKdumpStatusDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsNumaNodeDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsSpmIdMapDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmAndTemplatesGenerationsDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDeviceDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmGuestAgentInterfaceDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmJobDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmNumaNodeDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/dwh/DwhHistoryTimekeepingDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterBrickDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterClusterServiceDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterOptionDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerServiceDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServiceDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotConfigDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotScheduleDaoDBFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkQoSDaoFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkViewDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkInterfaceDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkStatisticsDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNicDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileViewDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/CpuProfileDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/DiskProfileDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/ProfileBaseDaoFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/CpuQosDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/QosBaseDaoFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/StorageQosDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/AffinityGroupDaoImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/ClusterPolicyDaoImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
D backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties
M 
backend/manager/modules/dal/src/main/modules/org/ovirt/engine/core/dal/main/module.xml
A 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/CDIIntegration.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BaseDAOTestCase.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BookmarkDAOTest.java
D 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DaoFactoryTest.java
D backend/manager/modules/dal/src/test/resources/META-INF/persistence.xml
M backend/manager/modules/dal/src/test/resources/test-beans.xml
112 files changed, 476 insertions(+), 264 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/38505/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/BllCDIAdapter.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/BllCDIAdapter.java
index d30e95d..473fc2e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/BllCDIAdapter.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/BllCDIAdapter.java
@@ -3,14 +3,7 @@
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.inject.Produces;
 import javax.enterprise.inject.spi.InjectionPoint;
-import org.ovirt.engine.core.dal.dbbroker.DbFacade;
-import org.ovirt.engine.core.dao.StoragePoolDAO;
-import org.ovirt.engine.core.dao.VdsGroupDAO;
-import org.ovirt.engine.core.dao.VmDynamicDAO;
-import org.ovirt.engine.core.dao.network.HostNetworkQosDao;
-import org.ovirt.engine.core.dao.network.InterfaceDao;
-import org.ovirt.engine.core.dao.network.NetworkClusterDao;
-import org.ovirt.engine.core.dao.network.NetworkDao;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -40,41 +33,6 @@
     @Produces
     public Logger produceLogger(InjectionPoint injectionPoint) {
         return 
LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass());
-    }
-
-    @Produces
-    private NetworkDao produceNetworkDao(DbFacade dbFacade) {
-        return dbFacade.getNetworkDao();
-    }
-
-    @Produces
-    private NetworkClusterDao produceNetworkClusterDao(DbFacade dbFacade) {
-        return dbFacade.getNetworkClusterDao();
-    }
-
-    @Produces
-    private VdsGroupDAO produceVdsGroupDao(DbFacade dbFacade) {
-        return dbFacade.getVdsGroupDao();
-    }
-
-    @Produces
-    private StoragePoolDAO produceStoragePoolDAO(DbFacade dbFacade) {
-        return dbFacade.getStoragePoolDao();
-    }
-
-    @Produces
-    private VmDynamicDAO produceVmDynamicDAO(DbFacade dbFacade) {
-        return dbFacade.getVmDynamicDao();
-    }
-
-    @Produces
-    private InterfaceDao produceInterfaceDao(DbFacade dbFacade) {
-        return dbFacade.getInterfaceDao();
-    }
-
-    @Produces
-    private HostNetworkQosDao produceHostNetworkQosDao(DbFacade dbFacade) {
-        return dbFacade.getHostNetworkQosDao();
     }
 
     protected BllCDIAdapter() {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotEntity.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotEntity.java
index bde66d4..9801d19 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotEntity.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotEntity.java
@@ -2,11 +2,14 @@
 
 import java.util.Date;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.BusinessEntityWithStatus;
 import org.ovirt.engine.core.common.businessentities.IVdcQueryable;
 import org.ovirt.engine.core.common.utils.ObjectUtils;
 import org.ovirt.engine.core.compat.Guid;
 
+@Named
 public class GlusterVolumeSnapshotEntity extends IVdcQueryable implements 
BusinessEntityWithStatus<Guid, GlusterSnapshotStatus> {
     private static final long serialVersionUID = 2355384696827317288L;
     private Guid snapshotId;
diff --git a/backend/manager/modules/dal/pom.xml 
b/backend/manager/modules/dal/pom.xml
index 69e264c..ad5a774 100644
--- a/backend/manager/modules/dal/pom.xml
+++ b/backend/manager/modules/dal/pom.xml
@@ -58,8 +58,26 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>cglib</groupId>
+      <artifactId>cglib</artifactId>
+      <version>3.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>asm</groupId>
+      <artifactId>asm</artifactId>
+      <version>3.3.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-test</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-orm</artifactId>
+      <version>${spring.version}</version>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>javax.transaction</groupId>
@@ -208,4 +226,10 @@
         </build>
     </profile>
   </profiles>
+  <repositories>
+    <repository>
+    <id>sonatype-releases</id>
+    <url>https://oss.sonatype.org/content/repositories/releases/</url>
+    </repository>
+  </repositories>
 </project>
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
index 88be92e..269bed2 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
@@ -8,6 +8,7 @@
 import java.util.Map;
 
 import javax.annotation.PostConstruct;
+import javax.enterprise.inject.Instance;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 
@@ -72,7 +73,6 @@
 import org.ovirt.engine.core.dao.BusinessEntitySnapshotDAO;
 import org.ovirt.engine.core.dao.CommandEntityDao;
 import org.ovirt.engine.core.dao.DAO;
-import org.ovirt.engine.core.dao.DaoFactory;
 import org.ovirt.engine.core.dao.DbGroupDAO;
 import org.ovirt.engine.core.dao.DbUserDAO;
 import org.ovirt.engine.core.dao.DiskDao;
@@ -141,9 +141,9 @@
 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.GlusterVolumeSnapshotScheduleDao;
 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.network.HostNetworkQosDao;
 import org.ovirt.engine.core.dao.network.InterfaceDao;
 import org.ovirt.engine.core.dao.network.NetworkClusterDao;
@@ -242,6 +242,9 @@
 
     private int connectionCheckInterval;
 
+    @Inject
+    private Instance<DAO> daos;
+
     public void setDbEngineDialect(DbEngineDialect dbEngineDialect) {
         this.dbEngineDialect = dbEngineDialect;
         callsHandler.setDbEngineDialect(dbEngineDialect);
@@ -270,15 +273,19 @@
         return getDao(daoType);
     }
 
+    @SuppressWarnings("unchecked")
     protected <T extends DAO> T getDao(Class<T> daoType) {
-        T dao = DaoFactory.get(daoType);
-        if (dao instanceof BaseDAODbFacade) {
-            BaseDAODbFacade dbFacadeDAO = (BaseDAODbFacade) dao;
-            dbFacadeDAO.setTemplate(jdbcTemplate);
-            dbFacadeDAO.setDialect(dbEngineDialect);
-            dbFacadeDAO.setDbFacade(this);
+        for (DAO dao : daos) {
+            if (daoType.isAssignableFrom(dao.getClass())) {
+                BaseDAODbFacade dbFacadeDAO = (BaseDAODbFacade) dao;
+                dbFacadeDAO.setTemplate(jdbcTemplate);
+                dbFacadeDAO.setDialect(dbEngineDialect);
+                dbFacadeDAO.setDbFacade(this);
+                return (T) dao;
+            }
         }
-        return dao;
+        log.error("Can't find dao for " + daoType);
+        return null;
     }
 
     private DbFacade() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ActionGroupDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ActionGroupDAODbFacadeImpl.java
index 4ba2df9..5051818c 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ActionGroupDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ActionGroupDAODbFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.ActionVersionMap;
@@ -18,6 +20,7 @@
  *
  * The initial implementation came from  {@link 
org.ovirt.engine.core.dal.dbbroker.DbFacade}.
  */
+@Named
 public class ActionGroupDAODbFacadeImpl extends BaseDAODbFacade implements 
ActionGroupDAO {
 
     private static final ConcurrentMap<VdcActionType, ActionVersionMap> cache =
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
index 6b303fd..5b79068 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.Collection;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.asynctasks.AsyncTaskType;
@@ -29,6 +31,7 @@
  * <code>AsyncTaskDAODbFacadeImpl</code> provides an implementation of {@link 
AsyncTaskDAO} using code refactored from
  * {@code DbFacade}.
  */
+@Named
 public class AsyncTaskDAODbFacadeImpl extends BaseDAODbFacade implements 
AsyncTaskDAO {
     private static final Logger log = 
LoggerFactory.getLogger(AsyncTaskDAODbFacadeImpl.class);
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java
index c610a23..1b978cb 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.AuditLogSeverity;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.businessentities.AuditLog;
@@ -22,6 +24,7 @@
  * <code>AuditLogDAODbFacadeImpl</code> provides a concrete implementation of 
{@link AuditLogDAO}. It uses code
  * refactored from {@link DbFacade}.
  */
+@Named
 public class AuditLogDAODbFacadeImpl extends BaseDAODbFacade implements 
AuditLogDAO {
 
     @SuppressWarnings("synthetic-access")
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BaseDiskDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BaseDiskDaoDbFacadeImpl.java
index 3d87e67..5ec5c2d 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BaseDiskDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BaseDiskDaoDbFacadeImpl.java
@@ -1,11 +1,14 @@
 package org.ovirt.engine.core.dao;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.BaseDisk;
 import org.ovirt.engine.core.common.utils.EnumUtils;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class BaseDiskDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<BaseDisk, Guid> implements BaseDiskDao {
 
     public BaseDiskDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
index f7d0596..6727f3e 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.Bookmark;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.dbbroker.CustomMapSqlParameterSource;
@@ -16,6 +18,7 @@
  *
  *
  */
+@Named
 public class BookmarkDAODbFacadeImpl extends BaseDAODbFacade implements 
BookmarkDAO {
     private static class BookmarkRowMapper implements RowMapper<Bookmark> {
         public static final BookmarkRowMapper instance = new 
BookmarkRowMapper();
@@ -68,7 +71,6 @@
         return getCallsHandler().executeRead("GetBookmarkBybookmark_name", 
BookmarkRowMapper.instance, parameterSource);
     }
 
-    @SuppressWarnings("unchecked")
     @Override
     public List<Bookmark> getAll() {
         MapSqlParameterSource parameterSource = new 
BookmarkSqlParameterSource();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
index a359b85..31aba1c 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
@@ -6,6 +6,9 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.List;
+
+import javax.inject.Named;
+
 import org.apache.commons.collections.KeyValue;
 import org.apache.commons.collections.keyvalue.DefaultKeyValue;
 import org.springframework.jdbc.core.RowMapper;
@@ -18,6 +21,7 @@
  * JDBC-Template DAO for business entity snapshots
  *
  */
+@Named
 public class BusinessEntitySnapshotDAODbFacadeImpl extends BaseDAODbFacade 
implements BusinessEntitySnapshotDAO {
 
     private static class BusinessEntitySnapshotMapper implements 
RowMapper<BusinessEntitySnapshot> {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/CommandEntityDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/CommandEntityDaoDbFacadeImpl.java
index 736781c..4c19aad 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/CommandEntityDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/CommandEntityDaoDbFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.Date;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
@@ -19,6 +21,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class CommandEntityDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<CommandEntity, Guid> implements CommandEntityDao {
 
     private static RowMapper<CommandEntity> mapper = new 
RowMapper<CommandEntity>() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DaoFactory.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DaoFactory.java
deleted file mode 100644
index 3f4a5fe..0000000
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DaoFactory.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.ovirt.engine.core.dao;
-
-import java.util.Properties;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-import org.ovirt.engine.core.utils.ResourceUtils;
-
-public class DaoFactory {
-
-    private static final String ENGINE_DAOS_CONFIGURATION_FILE = 
"engine-daos.properties";
-
-    private static ConcurrentMap<Class<? extends DAO>, DAO> daos = new 
ConcurrentHashMap<Class<? extends DAO>, DAO>();
-
-    public static <T extends DAO> T get(Class<T> daoType) {
-        if (!daos.containsKey(daoType)) {
-            daos.putIfAbsent(daoType, createDAO(daoType));
-        }
-        return daoType.cast(daos.get(daoType));
-    }
-
-    private static <T extends DAO> T createDAO(Class<T> daoType) {
-        try {
-            return newInstance(daoType,
-                    ResourceUtils.loadProperties(DaoFactory.class, 
ENGINE_DAOS_CONFIGURATION_FILE));
-        } catch (Exception e) {
-            throw new DaoFactoryException(daoType, 
ENGINE_DAOS_CONFIGURATION_FILE, e);
-        }
-    }
-
-    private static <T extends DAO> T newInstance(Class<T> daoType, Properties 
props) throws Exception {
-        String className = props.getProperty(daoType.getSimpleName());
-        return daoType.cast(Class.forName(className).newInstance());
-    }
-}
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java
index be30cf8..56cad11 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbGroupDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.aaa.DbGroup;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
@@ -13,6 +15,7 @@
  * Provides a concrete implementation of {@link DbGroupDAO} based on code from
  * {@link DbFacade}.
  */
+@Named
 public class DbGroupDAODbFacadeImpl extends BaseDAODbFacade implements 
DbGroupDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
index b28df44..f5e8971 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.aaa.DbUser;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.dbbroker.CustomMapSqlParameterSource;
@@ -16,6 +18,7 @@
  * {@link org.ovirt.engine.core.dal.dbbroker.DbFacade.DbFacade} code.
  *
  */
+@Named
 public class DbUserDAODbFacadeImpl extends BaseDAODbFacade implements 
DbUserDAO {
     private static class DbUserRowMapper implements RowMapper<DbUser> {
         public static final DbUserRowMapper instance = new DbUserRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskDaoDbFacadeImpl.java
index 74567a1..1d6663d 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskDaoDbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.Disk;
 import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
@@ -13,6 +15,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class DiskDaoDbFacadeImpl extends BaseDAODbFacade implements DiskDao {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
index 107a027..49a7a1e 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDAODbFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.Arrays;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
@@ -23,6 +25,7 @@
  * <code>DiskImageDAODbFacadeImpl</code> provides an implementation of {@link 
DiskImageDAO} that uses previously
  * developed code from {@link org.ovirt.engine.core.dal.dbbroker.DbFacade}.
  */
+@Named
 public class DiskImageDAODbFacadeImpl extends BaseDAODbFacade implements 
DiskImageDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java
index 5ef5272..f92d1bd 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskImageDynamicDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.Collection;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.DiskImageDynamic;
 import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.compat.Guid;
@@ -15,6 +17,7 @@
  * JDBC template based implementation of DiskImageDynamicDAO
  *
  */
+@Named
 public class DiskImageDynamicDAODbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<DiskImageDynamic, Guid>
         implements DiskImageDynamicDAO {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskLunMapDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskLunMapDaoDbFacadeImpl.java
index 84f7bfd..e81ae04 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskLunMapDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DiskLunMapDaoDbFacadeImpl.java
@@ -3,11 +3,14 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.DiskLunMap;
 import org.ovirt.engine.core.common.businessentities.DiskLunMapId;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class DiskLunMapDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<DiskLunMap, DiskLunMapId>
         implements DiskLunMapDao {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
index eb81a4d..59e2ae5 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
@@ -14,10 +14,13 @@
 import java.sql.SQLException;
 import java.util.LinkedList;
 
+import javax.inject.Named;
+
 /**
  * <code>EngineSessionDAODbFacadeImpl</code> provides an implementation of 
{@link org.ovirt.engine.core.dao.EngineSessionDAO} using code refactored from
  * {@code DbFacade}.
  */
+@Named
 public class EngineSessionDAODbFacadeImpl extends BaseDAODbFacade implements 
EngineSessionDAO {
     private static final Logger log = 
LoggerFactory.getLogger(EngineSessionDAODbFacadeImpl.class);
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EventDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EventDAODbFacadeImpl.java
index 6bbc421..622d630 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EventDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EventDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.EventNotificationMethod;
 import org.ovirt.engine.core.common.businessentities.EventMap;
 import org.ovirt.engine.core.common.businessentities.event_subscriber;
@@ -15,6 +17,7 @@
  * <code>EventSubscriberDAODbFacadeImpl</code> provides an implementation of 
{@link EventSubscriberDAO} that uses the
  * refactored {@link DbFacade} code.
  */
+@Named
 public class EventDAODbFacadeImpl extends BaseDAODbFacade implements EventDAO {
 
     private static final class EventSubscriberRowMapper implements 
RowMapper<event_subscriber> {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ExternalVariableDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ExternalVariableDaoDbFacadeImpl.java
index 76ebfb5..e977d91 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ExternalVariableDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ExternalVariableDaoDbFacadeImpl.java
@@ -3,10 +3,13 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.ExternalVariable;
 import org.ovirt.engine.core.dal.dbbroker.DbFacadeUtils;
 import org.springframework.jdbc.core.RowMapper;
 
+@Named
 public class ExternalVariableDaoDbFacadeImpl extends BaseDAODbFacade 
implements ExternalVariableDao {
 
     private static class ExternalVariableMapper implements 
RowMapper<ExternalVariable> {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/HostDeviceDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/HostDeviceDaoDbFacadeImpl.java
index 9c52ce3..6e39a53 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/HostDeviceDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/HostDeviceDaoDbFacadeImpl.java
@@ -1,15 +1,18 @@
 package org.ovirt.engine.core.dao;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.HostDevice;
 import org.ovirt.engine.core.common.businessentities.HostDeviceId;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
+@Named
 public class HostDeviceDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<HostDevice, HostDeviceId> implements 
HostDeviceDao {
 
     public HostDeviceDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageDaoDbFacadeImpl.java
index 7c338a5..aa3f8d7 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageDaoDbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.Date;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.Image;
 import org.ovirt.engine.core.common.businessentities.ImageStatus;
 import org.ovirt.engine.core.common.businessentities.VolumeFormat;
@@ -13,6 +15,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class ImageDaoDbFacadeImpl extends DefaultGenericDaoDbFacade<Image, 
Guid> implements ImageDao {
 
     public ImageDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageStorageDomainMapDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageStorageDomainMapDaoDbFacadeImpl.java
index 0421e94..39eaa90 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageStorageDomainMapDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/ImageStorageDomainMapDaoDbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.ovirt.engine.core.common.businessentities.ImageStorageDomainMapId;
 import org.ovirt.engine.core.common.businessentities.image_storage_domain_map;
@@ -11,6 +13,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class ImageStorageDomainMapDaoDbFacadeImpl extends BaseDAODbFacade 
implements ImageStorageDomainMapDao {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/IscsiBondDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/IscsiBondDaoDbFacadeImpl.java
index 82c2b52..9da33af 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/IscsiBondDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/IscsiBondDaoDbFacadeImpl.java
@@ -4,12 +4,14 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.IscsiBond;
 import org.ovirt.engine.core.compat.Guid;
-
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class IscsiBondDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<IscsiBond, Guid> implements IscsiBondDao {
 
     public IscsiBondDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobDaoDbFacadeImpl.java
index 70cecfa..c31f12e 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Date;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.job.Job;
@@ -15,6 +17,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class JobDaoDbFacadeImpl extends DefaultGenericDaoDbFacade<Job, Guid> 
implements JobDao {
 
     private static JobRowMapper jobRowMapper = new JobRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobSubjectEntityDaoFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobSubjectEntityDaoFacadeImpl.java
index cf0527d..78e08a3 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobSubjectEntityDaoFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobSubjectEntityDaoFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.utils.EnumUtils;
 import org.ovirt.engine.core.compat.Guid;
@@ -16,6 +18,7 @@
  * Implements the CRUD operations for job_subject_entity, a satellite table of 
Job.
  *
  */
+@Named
 public class JobSubjectEntityDaoFacadeImpl extends BaseDAODbFacade implements 
JobSubjectEntityDao {
 
     private static JobSubjectEntityRowMapper jobSubjectEntityRowMapper = new 
JobSubjectEntityRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
index da62b99..7e6c294 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.LUNs;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
@@ -12,6 +14,7 @@
  * <code>LunDAODbFacadeImpl</code> provides a concrete implementation of 
{@link LunDAO}. The original code was
  * refactored from the {@link org.ovirt.engine.core.dal.dbbroker.DbFacade} 
class.
  */
+@Named
 public class LunDAODbFacadeImpl extends MassOperationsGenericDaoDbFacade<LUNs, 
String> implements LunDAO {
 
     public LunDAODbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/MacPoolDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/MacPoolDaoDbFacadeImpl.java
index d7a428c..1fe9265 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/MacPoolDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/MacPoolDaoDbFacadeImpl.java
@@ -4,12 +4,15 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.MacPool;
 import org.ovirt.engine.core.common.businessentities.MacRange;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class MacPoolDaoDbFacadeImpl extends DefaultGenericDaoDbFacade<MacPool, 
Guid> implements MacPoolDao {
     public MacPoolDaoDbFacadeImpl() {
         super("MacPool");
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/PermissionDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/PermissionDAODbFacadeImpl.java
index 9a76779..453bca8 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/PermissionDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/PermissionDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
@@ -19,6 +21,7 @@
  * <code>PermissionsDAODbFacadeImpl</code> provides a concrete implementation 
of {@link PermissionDAO} using code from
  * DbFacade.
  */
+@Named
 public class PermissionDAODbFacadeImpl extends BaseDAODbFacade implements 
PermissionDAO {
     @Override
     public Permissions get(Guid id) {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/QuotaDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/QuotaDAODbFacadeImpl.java
index c000b01..f26777e 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/QuotaDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/QuotaDAODbFacadeImpl.java
@@ -7,6 +7,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.Quota;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
 import org.ovirt.engine.core.common.businessentities.QuotaStorage;
@@ -19,6 +21,7 @@
 /**
  * <code>QuotaDAODbFacadeImpl</code> implements the calling to quota stored 
procedures (@see QuotaDAO).
  */
+@Named
 public class QuotaDAODbFacadeImpl extends BaseDAODbFacade implements QuotaDAO {
 
     /**
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RepoFileMetaDataDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RepoFileMetaDataDAODbFacadeImpl.java
index 5c03270..9a2e5c3 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RepoFileMetaDataDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RepoFileMetaDataDAODbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Date;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.ImageFileType;
 import org.ovirt.engine.core.common.businessentities.RepoImage;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
@@ -20,6 +22,7 @@
  * {@link org.ovirt.engine.core.dal.dbbroker.DbFacade}. Responsible for 
managing the repository files meta data via the
  * persistent layer.
  */
+@Named
 public class RepoFileMetaDataDAODbFacadeImpl extends BaseDAODbFacade 
implements RepoFileMetaDataDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleDAODbFacadeImpl.java
index b54d113..056c7cf 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.Role;
 import org.ovirt.engine.core.common.businessentities.RoleType;
 import org.ovirt.engine.core.common.config.Config;
@@ -19,6 +21,7 @@
  *
  *
  */
+@Named
 public class RoleDAODbFacadeImpl extends BaseDAODbFacade implements RoleDAO {
 
     private static class RolesRowMapper implements RowMapper<Role> {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleGroupMapDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleGroupMapDAODbFacadeImpl.java
index 9157cd0..1cbe848 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleGroupMapDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/RoleGroupMapDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.RoleGroupMap;
 import org.ovirt.engine.core.compat.Guid;
@@ -14,6 +16,7 @@
  * <code>RoleGroupMapDAODbFacadeImpl</code> provides a concrete implementation 
of {@link RoleGroupMapDAO} using
  * functionality refactored from {@link 
org.ovirt.engine.core.dal.dbbroker.DbFacade}.
  */
+@Named
 public class RoleGroupMapDAODbFacadeImpl extends BaseDAODbFacade implements 
RoleGroupMapDAO {
     private static class RoleGroupMapRowMapper implements 
RowMapper<RoleGroupMap> {
         public static final RoleGroupMapRowMapper instance = new 
RoleGroupMapRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/SnapshotDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/SnapshotDaoDbFacadeImpl.java
index f216978..6173f61 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/SnapshotDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/SnapshotDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Date;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.Snapshot;
 import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotStatus;
 import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotType;
@@ -13,6 +15,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class SnapshotDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<Snapshot, Guid> implements SnapshotDao {
 
     private static final RowMapper<Snapshot> ROW_MAPPER = new 
SnapshotRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StepDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StepDaoDbFacadeImpl.java
index 8c52eb0..6f14238 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StepDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StepDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Date;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.job.ExternalSystemType;
 import org.ovirt.engine.core.common.job.JobExecutionStatus;
 import org.ovirt.engine.core.common.job.Step;
@@ -15,6 +17,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class StepDaoDbFacadeImpl extends DefaultGenericDaoDbFacade<Step, Guid> 
implements StepDao {
 
     private static StepRowMapper stepRowMapper = new StepRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java
index 76b64b3..dea2c35 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus;
@@ -18,6 +20,7 @@
  * <code>StorageDomainDAODbFacadeImpl</code> provides an implementation of 
{@link StorageDomainDAO} based on code from
  * {@link org.ovirt.engine.core.dal.dbbroker.DbFacade}.
  */
+@Named
 @SuppressWarnings("synthetic-access")
 public class StorageDomainDAODbFacadeImpl extends BaseDAODbFacade implements 
StorageDomainDAO {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDynamicDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDynamicDAODbFacadeImpl.java
index 744258c..e2a3ad6 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDynamicDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDynamicDAODbFacadeImpl.java
@@ -4,11 +4,14 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.StorageDomainDynamic;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class StorageDomainDynamicDAODbFacadeImpl extends BaseDAODbFacade 
implements StorageDomainDynamicDAO{
 
     private static final class StorageDomainDynamicRowMapper implements 
RowMapper<StorageDomainDynamic> {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainOvfInfoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainOvfInfoDbFacadeImpl.java
index f6fcdc0..2589db2 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainOvfInfoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainOvfInfoDbFacadeImpl.java
@@ -8,6 +8,8 @@
 import java.util.LinkedList;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.StorageDomainOvfInfo;
@@ -17,6 +19,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class StorageDomainOvfInfoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<StorageDomainOvfInfo, Guid> implements 
StorageDomainOvfInfoDao{
 
     public StorageDomainOvfInfoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainStaticDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainStaticDAODbFacadeImpl.java
index c931d3a..3c218e5 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainStaticDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainStaticDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatic;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainType;
@@ -13,6 +15,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class StorageDomainStaticDAODbFacadeImpl extends 
DefaultGenericDaoDbFacade<StorageDomainStatic, Guid> implements 
StorageDomainStaticDAO {
 
     public StorageDomainStaticDAODbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolDAODbFacadeImpl.java
index dbd64cd..ef8b26e 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
 import org.ovirt.engine.core.common.businessentities.StorageFormatType;
@@ -19,6 +21,7 @@
  * <code>StoragePoolDAODbFacadeImpl</code> provides a concrete implementation 
of {@link StoragePoolDAO} based on code
  * from {@link org.ovirt.engine.core.dal.dbbroker.DbFacade}.
  */
+@Named
 @SuppressWarnings("synthetic-access")
 public class StoragePoolDAODbFacadeImpl extends BaseDAODbFacade implements 
StoragePoolDAO {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAODbFacadeImpl.java
index e5ff8af..dd2b98b 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMapId;
@@ -11,6 +13,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class StoragePoolIsoMapDAODbFacadeImpl extends BaseDAODbFacade 
implements StoragePoolIsoMapDAO {
 
     private static final class StoragePoolIsoMapRowMapper implements 
RowMapper<StoragePoolIsoMap> {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
index 780ec8e..9cd7911 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
@@ -7,6 +7,8 @@
 import java.util.List;
 import java.util.Set;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.springframework.jdbc.core.RowMapper;
@@ -23,6 +25,7 @@
  *
  *
  */
+@Named
 public class StorageServerConnectionDAODbFacadeImpl extends BaseDAODbFacade 
implements
         StorageServerConnectionDAO {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionLunMapDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionLunMapDAODbFacadeImpl.java
index ac98476..cb617f6 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionLunMapDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionLunMapDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import 
org.ovirt.engine.core.common.businessentities.LUN_storage_server_connection_map;
 import 
org.ovirt.engine.core.common.businessentities.LUN_storage_server_connection_map_id;
@@ -18,6 +20,7 @@
  *
  *
  */
+@Named
 public class StorageServerConnectionLunMapDAODbFacadeImpl extends 
BaseDAODbFacade implements
         StorageServerConnectionLunMapDAO {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
index 8d722e2..265d5df 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.Tags;
 import org.ovirt.engine.core.common.businessentities.TagsTemplateMap;
 import org.ovirt.engine.core.common.businessentities.TagsType;
@@ -20,6 +22,7 @@
  * <code>TagDAODbFacadeImpl</code> provides an implementation of {@link 
TagDAO} that uses code refactored from the
  * {@link org.ovirt.engine.core.dal.dbbroker.DbFacade} class.
  */
+@Named
 public class TagDAODbFacadeImpl extends BaseDAODbFacade implements TagDAO {
     private static class TagRowMapper implements RowMapper<Tags> {
         public static final TagRowMapper instance = new TagRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/UnregisteredOVFDataDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/UnregisteredOVFDataDAODbFacadeImpl.java
index b06a959..a05aa0b 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/UnregisteredOVFDataDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/UnregisteredOVFDataDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.ArchitectureType;
 import org.ovirt.engine.core.common.businessentities.OvfEntityData;
 import org.ovirt.engine.core.common.businessentities.VmEntityType;
@@ -11,6 +13,7 @@
 import org.ovirt.engine.core.compat.Version;
 import org.springframework.jdbc.core.RowMapper;
 
+@Named
 public class UnregisteredOVFDataDAODbFacadeImpl extends BaseDAODbFacade 
implements UnregisteredOVFDataDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdcOptionDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdcOptionDAODbFacadeImpl.java
index ba39b75..daf06ed 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdcOptionDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdcOptionDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.VdcOption;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
@@ -14,6 +16,7 @@
  *
  *
  */
+@Named
 public class VdcOptionDAODbFacadeImpl extends BaseDAODbFacade implements 
VdcOptionDAO {
 
     private static final class VdcOptionRowMapper implements 
RowMapper<VdcOption> {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsCpuStatisticsDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsCpuStatisticsDAODbFacadeImpl.java
index f75c3f5..1103b9c 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsCpuStatisticsDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsCpuStatisticsDAODbFacadeImpl.java
@@ -5,11 +5,14 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.CpuStatistics;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VdsCpuStatisticsDAODbFacadeImpl extends BaseDAODbFacade 
implements VdsCpuStatisticsDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java
index 12e573a..86dcb0d 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java
@@ -10,6 +10,8 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.AutoNumaBalanceStatus;
 import org.ovirt.engine.core.common.businessentities.FenceAgent;
 import org.ovirt.engine.core.common.businessentities.KdumpStatus;
@@ -33,6 +35,7 @@
  * <code>VdsDAODbFacadeImpl</code> provides an implementation of {@code 
VdsDAO} that uses previously written code from
  * {@code DbFacade}.
  */
+@Named
 public class VdsDAODbFacadeImpl extends BaseDAODbFacade implements VdsDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java
index 27bbefd..456d68d 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.HashMap;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.ovirt.engine.core.common.businessentities.AutoNumaBalanceStatus;
 import org.ovirt.engine.core.common.businessentities.KdumpStatus;
@@ -28,6 +30,7 @@
  *
  *
  */
+@Named
 public class VdsDynamicDAODbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<VdsDynamic, Guid> implements VdsDynamicDAO {
 
     private static final Logger log = 
LoggerFactory.getLogger(VdsDynamicDAODbFacadeImpl.class);
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
index ebabdc5..4f33579 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
@@ -9,6 +9,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.ArchitectureType;
 import org.ovirt.engine.core.common.businessentities.MigrateOnErrorOptions;
@@ -31,6 +33,7 @@
  * found in {@link org.ovirt.engine.core.dal.dbbroker.DbFacade}.
  *
  */
+@Named
 public class VdsGroupDAODbFacadeImpl extends BaseDAODbFacade implements 
VdsGroupDAO {
     private static final Logger log = 
LoggerFactory.getLogger(VdsGroupDAODbFacadeImpl.class);
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsKdumpStatusDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsKdumpStatusDaoDbFacadeImpl.java
index b8d7a28..e9151d6 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsKdumpStatusDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsKdumpStatusDaoDbFacadeImpl.java
@@ -4,11 +4,14 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.KdumpFlowStatus;
 import org.ovirt.engine.core.common.businessentities.VdsKdumpStatus;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 
+@Named
 public class VdsKdumpStatusDaoDbFacadeImpl  extends BaseDAODbFacade implements 
VdsKdumpStatusDao {
     private static class VdsKdumpStatusMapper implements 
RowMapper<VdsKdumpStatus> {
         private static final VdsKdumpStatusMapper instance = new 
VdsKdumpStatusMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsNumaNodeDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsNumaNodeDAODbFacadeImpl.java
index 1ad96ee..ce08590 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsNumaNodeDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsNumaNodeDAODbFacadeImpl.java
@@ -8,6 +8,8 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.NumaNodeStatistics;
 import org.ovirt.engine.core.common.businessentities.VdsNumaNode;
@@ -17,6 +19,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VdsNumaNodeDAODbFacadeImpl extends BaseDAODbFacade implements 
VdsNumaNodeDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsSpmIdMapDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsSpmIdMapDAODbFacadeImpl.java
index a61fc62..c9ed0c1 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsSpmIdMapDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsSpmIdMapDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.ovirt.engine.core.common.businessentities.vds_spm_id_map;
 import org.ovirt.engine.core.compat.Guid;
@@ -14,6 +16,7 @@
  * <code>VdsSpmIdMapDAODbFacadeImpl</code> provides an implementation of 
{@link VdsSpmIdMapDAO} that uses previously written code from
  * {@link org.ovirt.engine.core.dal.dbbroker.DbFacade}.
  */
+@Named
 public class VdsSpmIdMapDAODbFacadeImpl extends BaseDAODbFacade implements 
VdsSpmIdMapDAO{
 
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
index fe54db7..a1221be 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.ovirt.engine.core.common.businessentities.VDSType;
 import org.ovirt.engine.core.common.businessentities.VdsProtocol;
@@ -17,6 +19,7 @@
  * <code>VdsDAODbFacadeImpl</code> provides an implementation of {@link 
VdsDAO} that uses previously written code from
  * {@code DbFacade}.
  */
+@Named
 public class VdsStaticDAODbFacadeImpl extends BaseDAODbFacade implements 
VdsStaticDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java
index add7f12..0264715 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.ovirt.engine.core.common.businessentities.VdsStatistics;
 import org.ovirt.engine.core.compat.Guid;
@@ -18,6 +20,7 @@
  *
  *
  */
+@Named
 public class VdsStatisticsDAODbFacadeImpl extends BaseDAODbFacade implements 
VdsStatisticsDAO {
 
     private static final class VdsStatisticsRowMapper implements 
RowMapper<VdsStatistics> {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmAndTemplatesGenerationsDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmAndTemplatesGenerationsDbFacadeImpl.java
index e1a9d3b..9eee3b7 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmAndTemplatesGenerationsDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmAndTemplatesGenerationsDbFacadeImpl.java
@@ -4,11 +4,14 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 
+@Named
 public class VmAndTemplatesGenerationsDbFacadeImpl extends BaseDAODbFacade 
implements VmAndTemplatesGenerationsDAO {
     private static final String ovfSeparator = "<<<ENDOVF>>>";
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
index 4d53067..63e43f3 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
@@ -3,6 +3,8 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.BootSequence;
 import org.ovirt.engine.core.common.businessentities.DisplayType;
 import org.ovirt.engine.core.common.businessentities.MigrationSupport;
@@ -19,6 +21,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public abstract class VmBaseDaoDbFacade<T extends VmBase> extends 
DefaultGenericDaoDbFacade<T, Guid> {
     public VmBaseDaoDbFacade(String entityStoredProcedureName) {
         super(entityStoredProcedureName);
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
index d038450..7b5e2fa 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
@@ -7,6 +7,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.ArchitectureType;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
@@ -23,6 +25,7 @@
  * <code>VmDAODbFacadeImpl</code> provides a concrete implementation of {@link 
VmDAO}. The functionality is code
  * refactored out of {@link Dorg.ovirt.engine.core.dal.dbbroker.DbFacad}.
  */
+@Named
 public class VmDAODbFacadeImpl extends BaseDAODbFacade implements VmDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDeviceDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDeviceDAODbFacadeImpl.java
index 31c09d7..f8e4e2b 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDeviceDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDeviceDAODbFacadeImpl.java
@@ -7,6 +7,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.VmDevice;
 import org.ovirt.engine.core.common.businessentities.VmDeviceGeneralType;
 import org.ovirt.engine.core.common.businessentities.VmDeviceId;
@@ -17,6 +19,7 @@
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 import org.springframework.jdbc.core.simple.SimpleJdbcCall;
 
+@Named
 public class VmDeviceDAODbFacadeImpl extends
         MassOperationsGenericDaoDbFacade<VmDevice, VmDeviceId> implements 
VmDeviceDAO {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
index fa22ed2..d858a07 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
@@ -4,6 +4,7 @@
 import java.sql.SQLException;
 import java.util.List;
 import java.util.Map;
+import javax.inject.Named;
 
 import org.apache.commons.lang.NotImplementedException;
 import org.ovirt.engine.core.common.businessentities.BootSequence;
@@ -21,6 +22,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmDynamicDAODbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<VmDynamic, Guid>
         implements VmDynamicDAO {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmGuestAgentInterfaceDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmGuestAgentInterfaceDaoDbFacadeImpl.java
index 1436e0d..ecb394f 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmGuestAgentInterfaceDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmGuestAgentInterfaceDaoDbFacadeImpl.java
@@ -5,12 +5,15 @@
 import java.util.Arrays;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.VmGuestAgentInterface;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmGuestAgentInterfaceDaoDbFacadeImpl extends BaseDAODbFacade 
implements VmGuestAgentInterfaceDao{
 
     private static final String DELIMITER = ",";
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java
index e560972..4a45afd 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.VmInit;
@@ -13,6 +15,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmInitDAODbFacadeImpl extends BaseDAODbFacade implements 
VmInitDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmJobDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmJobDaoDbFacadeImpl.java
index f3ef660..10c58e4 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmJobDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmJobDaoDbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.ovirt.engine.core.common.businessentities.VmBlockJob;
 import org.ovirt.engine.core.common.businessentities.VmBlockJobType;
@@ -14,6 +16,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmJobDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<VmJob, Guid> implements VmJobDao {
 
     public VmJobDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmNumaNodeDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmNumaNodeDAODbFacadeImpl.java
index 9f942c4..cbc8149 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmNumaNodeDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmNumaNodeDAODbFacadeImpl.java
@@ -7,12 +7,15 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.VmNumaNode;
 import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmNumaNodeDAODbFacadeImpl extends VdsNumaNodeDAODbFacadeImpl 
implements VmNumaNodeDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
index b02f583..4a3f8e7 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VMStatus;
 import org.ovirt.engine.core.common.businessentities.VmPool;
@@ -19,6 +21,8 @@
  * {@link org.ovirt.engine.core.dal.dbbroker.DbFacade}.
  *
  */
+
+@Named
 public class VmPoolDAODbFacadeImpl extends BaseDAODbFacade implements 
VmPoolDAO {
     @Override
     public void removeVmFromVmPool(Guid id) {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
index ac2895f..917939e 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.VmStatic;
@@ -11,6 +13,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmStaticDAODbFacadeImpl extends VmBaseDaoDbFacade<VmStatic> 
implements VmStaticDAO {
     public static final Integer USE_LATEST_VERSION_NUMBER_INDICATOR = null;
     public static final Integer DONT_USE_LATEST_VERSION_NUMBER_INDICATOR = 1;
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
index d6905d0..19aa3b2 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.Collections;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.VmStatistics;
@@ -13,6 +15,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmStatisticsDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<VmStatistics, Guid>
         implements VmStatisticsDAO {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
index 3f5c041..f174331 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.ArchitectureType;
@@ -22,6 +24,8 @@
 /**
  * <code>VmTemplateDAODbFacadeImpl</code> provides a concrete implementation 
of {@link VmTemplateDAO}.
  */
+
+@Named
 public class VmTemplateDAODbFacadeImpl extends VmBaseDaoDbFacade<VmTemplate> 
implements VmTemplateDAO {
 
     public VmTemplateDAODbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/dwh/DwhHistoryTimekeepingDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/dwh/DwhHistoryTimekeepingDaoDbFacadeImpl.java
index 27c6bc3..d6df0fa 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/dwh/DwhHistoryTimekeepingDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/dwh/DwhHistoryTimekeepingDaoDbFacadeImpl.java
@@ -3,12 +3,15 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.DwhHistoryTimekeeping;
 import 
org.ovirt.engine.core.common.businessentities.DwhHistoryTimekeepingVariable;
 import org.ovirt.engine.core.dal.dbbroker.DbFacadeUtils;
 import org.ovirt.engine.core.dao.BaseDAODbFacade;
 import org.springframework.jdbc.core.RowMapper;
 
+@Named
 public class DwhHistoryTimekeepingDaoDbFacadeImpl extends BaseDAODbFacade 
implements DwhHistoryTimekeepingDao {
     private static class DwhHistoryTimekeepingMapper implements 
RowMapper<DwhHistoryTimekeeping> {
         private static final DwhHistoryTimekeepingMapper instance = new 
DwhHistoryTimekeepingMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterBrickDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterBrickDaoDbFacadeImpl.java
index b760805..5214e57 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterBrickDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterBrickDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Collection;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.gluster.BrickDetails;
 import org.ovirt.engine.core.common.businessentities.gluster.BrickProperties;
@@ -18,6 +20,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class GlusterBrickDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<GlusterBrickEntity, Guid> implements 
GlusterBrickDao {
     // The brick row mapper can't be static as its' type 
(GlusterBrickRowMapper) is a non-static inner class
     // There will still be a single instance of it, as the DAO itself will be 
instantiated only once
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterClusterServiceDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterClusterServiceDaoDbFacadeImpl.java
index 10cc6b9..90291b6 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterClusterServiceDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterClusterServiceDaoDbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterClusterService;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterServiceStatus;
 import org.ovirt.engine.core.common.businessentities.gluster.ServiceType;
@@ -13,6 +15,7 @@
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
 
+@Named
 public class GlusterClusterServiceDaoDbFacadeImpl extends BaseDAODbFacade 
implements GlusterClusterServiceDao {
     private static final ParameterizedRowMapper<GlusterClusterService> 
serviceRowMapper =
             new GlusterClusterServiceRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
index 13f668d..923ac46 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.Arrays;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.gluster.GeoRepCrawlStatus;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GeoRepSessionStatus;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterGeoRepSession;
@@ -21,6 +23,7 @@
 /**
  * Implementation of the DB Facade for Gluster Geo Replication.
  */
+@Named
 public class GlusterGeoRepDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<GlusterGeoRepSession, Guid> implements
         GlusterGeoRepDao {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java
index 30170b2..3c89bd2 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Collection;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterHookEntity;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterHookStage;
@@ -20,6 +22,7 @@
 /**
  * Implementation of the DB Facade for Gluster Hooks.
  */
+@Named
 public class GlusterHooksDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<GlusterHookEntity, Guid> implements
         GlusterHooksDao {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterOptionDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterOptionDaoDbFacadeImpl.java
index 6399952..7667024 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterOptionDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterOptionDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Collection;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeOptionEntity;
 import org.ovirt.engine.core.compat.Guid;
@@ -12,6 +14,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class GlusterOptionDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<GlusterVolumeOptionEntity, Guid> implements 
GlusterOptionDao {
     private static final RowMapper<GlusterVolumeOptionEntity> optionRowMapper 
= new VolumeOptionRowMapper();
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerDaoDbFacadeImpl.java
index e02ac06..05761af 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerDaoDbFacadeImpl.java
@@ -3,12 +3,15 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterServer;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dao.DefaultGenericDaoDbFacade;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class GlusterServerDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<GlusterServer, Guid> implements GlusterServerDao {
 
     private static final RowMapper<GlusterServer> glusterServerRowMapper = new 
GlusterServerRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerServiceDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerServiceDaoDbFacadeImpl.java
index c17aa3c..d04d679 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerServiceDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServerServiceDaoDbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterServiceStatus;
 import org.ovirt.engine.core.common.businessentities.gluster.ServiceType;
@@ -17,6 +19,7 @@
 /**
  * Implementation of the DB Facade for Services.
  */
+@Named
 @SuppressWarnings("deprecation")
 public class GlusterServerServiceDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<GlusterServerService, Guid> implements 
GlusterServerServiceDao {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServiceDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServiceDaoDbFacadeImpl.java
index 2243f9c..a566545 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServiceDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterServiceDaoDbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterService;
 import org.ovirt.engine.core.common.businessentities.gluster.ServiceType;
 import org.ovirt.engine.core.common.utils.EnumUtils;
@@ -13,6 +15,7 @@
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
 
+@Named
 public class GlusterServiceDaoDbFacadeImpl extends 
DefaultReadDaoDbFacade<GlusterService, Guid> implements GlusterServiceDao {
 
     private static final ParameterizedRowMapper<GlusterService> 
serviceRowMapper = new GlusterServiceRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeDaoDbFacadeImpl.java
index 7b59986..f2b4dc6 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeDaoDbFacadeImpl.java
@@ -6,6 +6,8 @@
 import java.util.HashSet;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.asynctasks.gluster.GlusterAsyncTask;
 import org.ovirt.engine.core.common.asynctasks.gluster.GlusterTaskType;
@@ -31,6 +33,7 @@
 /**
  * Implementation of the DB Facade for Gluster Volumes.
  */
+@Named
 public class GlusterVolumeDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<GlusterVolumeEntity, Guid> implements
         GlusterVolumeDao {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotConfigDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotConfigDaoDbFacadeImpl.java
index 7bb0e0c..1f023db 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotConfigDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotConfigDaoDbFacadeImpl.java
@@ -4,12 +4,15 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeSnapshotConfig;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dao.BaseDAODbFacade;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class GlusterVolumeSnapshotConfigDaoDbFacadeImpl extends 
BaseDAODbFacade implements GlusterVolumeSnapshotConfigDao {
 
     private static final RowMapper<GlusterVolumeSnapshotConfig> 
snapshotConfigRowMapper =
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java
index 1ef2690..5553467 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Collection;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterSnapshotStatus;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeSnapshotEntity;
@@ -15,6 +17,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class GlusterVolumeSnapshotDaoDbFacadeImpl extends 
MassOperationsGenericDaoDbFacade<GlusterVolumeSnapshotEntity, Guid> implements 
GlusterVolumeSnapshotDao {
     private static final RowMapper<GlusterVolumeSnapshotEntity> 
snapshotRowMapper =
             new GlusterVolumeSnapshotRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotScheduleDaoDBFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotScheduleDaoDBFacadeImpl.java
index 6361457..d7aa7ec 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotScheduleDaoDBFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotScheduleDaoDBFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Date;
 import java.util.List;
 
+import javax.inject.Named;
+
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeSnapshotSchedule;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeSnapshotScheduleRecurrence;
 import org.ovirt.engine.core.compat.Guid;
@@ -12,6 +14,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class GlusterVolumeSnapshotScheduleDaoDBFacadeImpl extends 
BaseDAODbFacade implements GlusterVolumeSnapshotScheduleDao {
 
     private static final RowMapper<GlusterVolumeSnapshotSchedule> 
snapshotScheduleRowMapper =
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoDbFacadeImpl.java
index 129bbd4..dc62b87 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoDbFacadeImpl.java
@@ -3,12 +3,15 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos;
 import org.ovirt.engine.core.common.businessentities.qos.QosType;
 import org.ovirt.engine.core.dao.qos.QosBaseDaoFacadeImpl;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class HostNetworkQosDaoDbFacadeImpl extends 
QosBaseDaoFacadeImpl<HostNetworkQos> implements HostNetworkQosDao {
 
     private static final String OUT_AVERAGE_LINKSHARE = 
"out_average_linkshare";
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java
index 895418f..2e11702 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java
@@ -11,6 +11,8 @@
 import java.util.Map;
 import java.util.Set;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.network.Bond;
 import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos;
 import 
org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol;
@@ -29,6 +31,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class InterfaceDaoDbFacadeImpl extends BaseDAODbFacade implements 
InterfaceDao {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
index 476f448..5edb2c1 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.network.NetworkCluster;
 import org.ovirt.engine.core.common.businessentities.network.NetworkClusterId;
 import org.ovirt.engine.core.common.businessentities.network.NetworkStatus;
@@ -12,6 +14,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class NetworkClusterDaoDbFacadeImpl extends BaseDAODbFacade implements 
NetworkClusterDao {
 
     private static final RowMapper<NetworkCluster> mapper =
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
index 8bab04f..9d1063f 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
@@ -8,6 +8,8 @@
 import java.util.List;
 import java.util.Set;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import org.ovirt.engine.core.common.businessentities.network.NetworkCluster;
@@ -19,6 +21,7 @@
 import org.springframework.jdbc.core.SingleColumnRowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class NetworkDaoDbFacadeImpl extends DefaultGenericDaoDbFacade<Network, 
Guid> implements NetworkDao {
 
     public NetworkDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkQoSDaoFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkQoSDaoFacadeImpl.java
index 94ed72a..a82fcac 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkQoSDaoFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkQoSDaoFacadeImpl.java
@@ -3,12 +3,15 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.network.NetworkQoS;
 import org.ovirt.engine.core.common.businessentities.qos.QosType;
 import org.ovirt.engine.core.dao.qos.QosBaseDaoFacadeImpl;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class NetworkQoSDaoFacadeImpl extends QosBaseDaoFacadeImpl<NetworkQoS> 
implements NetworkQoSDao {
 
     protected final RowMapper<NetworkQoS> mapper = createEntityRowMapper();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkViewDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkViewDaoDbFacadeImpl.java
index 9a2db45..58b092f 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkViewDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkViewDaoDbFacadeImpl.java
@@ -4,12 +4,15 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.network.NetworkView;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dao.BaseDAODbFacade;
 import 
org.ovirt.engine.core.dao.network.NetworkDaoDbFacadeImpl.NetworkRowMapperBase;
 
+@Named
 public class NetworkViewDaoDbFacadeImpl extends BaseDAODbFacade implements 
NetworkViewDao {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkInterfaceDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkInterfaceDaoDbFacadeImpl.java
index 21ccddd..b60058d 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkInterfaceDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkInterfaceDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.Collections;
 import java.util.List;
 
+import javax.inject.Named;
+
 import 
org.ovirt.engine.core.common.businessentities.comparators.InterfaceComparerByMAC;
 import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface;
 import org.ovirt.engine.core.compat.Guid;
@@ -14,6 +16,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmNetworkInterfaceDaoDbFacadeImpl extends 
DefaultReadDaoDbFacade<VmNetworkInterface, Guid> implements 
VmNetworkInterfaceDao {
 
     public VmNetworkInterfaceDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkStatisticsDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkStatisticsDaoDbFacadeImpl.java
index e8fd68b..d2e36be 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkStatisticsDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNetworkStatisticsDaoDbFacadeImpl.java
@@ -2,11 +2,14 @@
 
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.NotImplementedException;
 import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkStatistics;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmNetworkStatisticsDaoDbFacadeImpl extends 
NetworkStatisticsDaoDbFacadeImpl<VmNetworkStatistics>
         implements VmNetworkStatisticsDao {
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNicDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNicDaoDbFacadeImpl.java
index a8bee2f..76cedd4 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNicDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VmNicDaoDbFacadeImpl.java
@@ -4,12 +4,15 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.network.VmNic;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dao.DefaultGenericDaoDbFacade;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VmNicDaoDbFacadeImpl extends DefaultGenericDaoDbFacade<VmNic, 
Guid> implements VmNicDao {
 
     public VmNicDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileDaoDbFacadeImpl.java
index 33b191a..0f8a0a3 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.LinkedHashMap;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.network.VnicProfile;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dao.DefaultGenericDaoDbFacade;
@@ -12,6 +14,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VnicProfileDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<VnicProfile, Guid> implements VnicProfileDao {
 
     public VnicProfileDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileViewDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileViewDaoDbFacadeImpl.java
index b43d5a6..74bce75 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileViewDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/VnicProfileViewDaoDbFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.network.VnicProfileView;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.Version;
@@ -11,6 +13,7 @@
 import 
org.ovirt.engine.core.dao.network.VnicProfileDaoDbFacadeImpl.VnicProfileRowMapperBase;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class VnicProfileViewDaoDbFacadeImpl extends 
DefaultReadDaoDbFacade<VnicProfileView, Guid> implements VnicProfileViewDao {
 
     public VnicProfileViewDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/CpuProfileDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/CpuProfileDaoDbFacadeImpl.java
index 6297955..32fb9bc 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/CpuProfileDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/CpuProfileDaoDbFacadeImpl.java
@@ -4,11 +4,14 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.profiles.CpuProfile;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class CpuProfileDaoDbFacadeImpl extends 
ProfileBaseDaoFacadeImpl<CpuProfile> implements CpuProfileDao {
     private static final CpuProfileDaoDbFacadaeImplMapper MAPPER = new 
CpuProfileDaoDbFacadaeImplMapper();
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/DiskProfileDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/DiskProfileDaoDbFacadeImpl.java
index e067377..4ac34e4 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/DiskProfileDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/DiskProfileDaoDbFacadeImpl.java
@@ -4,11 +4,14 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class DiskProfileDaoDbFacadeImpl extends 
ProfileBaseDaoFacadeImpl<DiskProfile> implements DiskProfileDao {
     private static final DiskProfileDaoDbFacadaeImplMapper MAPPER = new 
DiskProfileDaoDbFacadaeImplMapper();
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/ProfileBaseDaoFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/ProfileBaseDaoFacadeImpl.java
index 53de2a1..80d6efd 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/ProfileBaseDaoFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/profiles/ProfileBaseDaoFacadeImpl.java
@@ -3,12 +3,15 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.profiles.ProfileBase;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dao.DefaultGenericDaoDbFacade;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public abstract class ProfileBaseDaoFacadeImpl<T extends ProfileBase> extends 
DefaultGenericDaoDbFacade<T, Guid> implements ProfilesDao<T> {
     protected final RowMapper<T> mapper = createEntityRowMapper();
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
index 00981d5..ab7f586 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.util.HashMap;
 import java.util.List;
 
+import javax.inject.Named;
+
 import 
org.ovirt.engine.core.common.businessentities.OpenStackImageProviderProperties;
 import 
org.ovirt.engine.core.common.businessentities.OpenstackNetworkProviderProperties;
 import 
org.ovirt.engine.core.common.businessentities.OpenstackNetworkProviderProperties.AgentConfiguration;
@@ -19,6 +21,7 @@
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
 
+@Named
 public class ProviderDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<Provider<?>, Guid> implements ProviderDao {
 
     public ProviderDaoDbFacadeImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java
index 38dd5f3..446eb35 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.qos.QosBase;
 import org.ovirt.engine.core.common.businessentities.qos.QosType;
 import org.ovirt.engine.core.compat.Guid;
@@ -14,6 +16,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class AllQosBaseDaoFacadeImpl extends QosBaseDaoFacadeImpl<QosBase> 
implements QosBaseDao {
     private static final Logger log = 
LoggerFactory.getLogger(AllQosBaseDaoFacadeImpl.class);
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/CpuQosDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/CpuQosDaoDbFacadeImpl.java
index ec4eb8f..9b0d45f 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/CpuQosDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/CpuQosDaoDbFacadeImpl.java
@@ -3,12 +3,15 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.qos.CpuQos;
 import org.ovirt.engine.core.common.businessentities.qos.QosType;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class CpuQosDaoDbFacadeImpl extends QosBaseDaoFacadeImpl<CpuQos> 
implements CpuQosDao {
     public CpuQosDaoDbFacadeImpl() {
         super(QosType.CPU);
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/QosBaseDaoFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/QosBaseDaoFacadeImpl.java
index 5460d20..53600a1 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/QosBaseDaoFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/QosBaseDaoFacadeImpl.java
@@ -5,6 +5,8 @@
 import java.text.MessageFormat;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.qos.QosBase;
 import org.ovirt.engine.core.common.businessentities.qos.QosType;
 import org.ovirt.engine.core.compat.Guid;
@@ -12,6 +14,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public abstract class QosBaseDaoFacadeImpl<T extends QosBase> extends 
DefaultGenericDaoDbFacade<T, Guid> implements QosDao<T> {
     private static final String QOS = "qos";
     private final QosType qosType;
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/StorageQosDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/StorageQosDaoDbFacadeImpl.java
index 466df94..6240fe1 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/StorageQosDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/StorageQosDaoDbFacadeImpl.java
@@ -3,12 +3,15 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.businessentities.qos.QosType;
 import org.ovirt.engine.core.common.businessentities.qos.StorageQos;
 import org.ovirt.engine.core.compat.Guid;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class StorageQosDaoDbFacadeImpl extends 
QosBaseDaoFacadeImpl<StorageQos> implements StorageQosDao {
     public StorageQosDaoDbFacadeImpl() {
         super(QosType.STORAGE);
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/AffinityGroupDaoImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/AffinityGroupDaoImpl.java
index ac6c7de..1422fde 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/AffinityGroupDaoImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/AffinityGroupDaoImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.scheduling.AffinityGroup;
 import org.ovirt.engine.core.compat.Guid;
@@ -13,6 +15,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class AffinityGroupDaoImpl extends 
DefaultGenericDaoDbFacade<AffinityGroup, Guid> implements AffinityGroupDao {
 
     public AffinityGroupDaoImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/ClusterPolicyDaoImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/ClusterPolicyDaoImpl.java
index fe1b86b..8b1d130 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/ClusterPolicyDaoImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/ClusterPolicyDaoImpl.java
@@ -8,6 +8,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.scheduling.ClusterPolicy;
 import org.ovirt.engine.core.common.scheduling.PolicyUnit;
 import org.ovirt.engine.core.common.scheduling.PolicyUnitType;
@@ -18,6 +20,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class ClusterPolicyDaoImpl extends 
DefaultGenericDaoDbFacade<ClusterPolicy, Guid> implements ClusterPolicyDao {
 
     public ClusterPolicyDaoImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
index 579a209..80e28d1 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
@@ -4,6 +4,8 @@
 import java.sql.SQLException;
 import java.util.LinkedHashMap;
 
+import javax.inject.Named;
+
 import org.ovirt.engine.core.common.scheduling.PolicyUnit;
 import org.ovirt.engine.core.common.scheduling.PolicyUnitType;
 import org.ovirt.engine.core.compat.Guid;
@@ -12,6 +14,7 @@
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 
+@Named
 public class PolicyUnitDaoImpl extends DefaultGenericDaoDbFacade<PolicyUnit, 
Guid> implements PolicyUnitDao {
 
     public PolicyUnitDaoImpl() {
diff --git 
a/backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties 
b/backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties
deleted file mode 100644
index 1260b31..0000000
--- a/backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties
+++ /dev/null
@@ -1,98 +0,0 @@
-BookmarkDAO=org.ovirt.engine.core.dao.BookmarkDAODbFacadeImpl
-CommandEntityDao=org.ovirt.engine.core.dao.CommandEntityDaoDbFacadeImpl
-DbUserDAO=org.ovirt.engine.core.dao.DbUserDAODbFacadeImpl
-EngineSessionDAO=org.ovirt.engine.core.dao.EngineSessionDAODbFacadeImpl
-VdsDAO=org.ovirt.engine.core.dao.VdsDAODbFacadeImpl
-VdsStaticDAO=org.ovirt.engine.core.dao.VdsStaticDAODbFacadeImpl
-VdsDynamicDAO=org.ovirt.engine.core.dao.VdsDynamicDAODbFacadeImpl
-VdsStatisticsDAO=org.ovirt.engine.core.dao.VdsStatisticsDAODbFacadeImpl
-VdsSpmIdMapDAO=org.ovirt.engine.core.dao.VdsSpmIdMapDAODbFacadeImpl
-AuditLogDAO=org.ovirt.engine.core.dao.AuditLogDAODbFacadeImpl
-InterfaceDao=org.ovirt.engine.core.dao.network.InterfaceDaoDbFacadeImpl
-VmNetworkInterfaceDao=org.ovirt.engine.core.dao.network.VmNetworkInterfaceDaoDbFacadeImpl
-VnicProfileDao=org.ovirt.engine.core.dao.network.VnicProfileDaoDbFacadeImpl
-VmNicDao=org.ovirt.engine.core.dao.network.VmNicDaoDbFacadeImpl
-VnicProfileViewDao=org.ovirt.engine.core.dao.network.VnicProfileViewDaoDbFacadeImpl
-VmNetworkStatisticsDao=org.ovirt.engine.core.dao.network.VmNetworkStatisticsDaoDbFacadeImpl
-LunDAO=org.ovirt.engine.core.dao.LunDAODbFacadeImpl
-RoleGroupMapDAO=org.ovirt.engine.core.dao.RoleGroupMapDAODbFacadeImpl
-VmTemplateDAO=org.ovirt.engine.core.dao.VmTemplateDAODbFacadeImpl
-VmDAO=org.ovirt.engine.core.dao.VmDAODbFacadeImpl
-VmStaticDAO=org.ovirt.engine.core.dao.VmStaticDAODbFacadeImpl
-VmStatisticsDAO=org.ovirt.engine.core.dao.VmStatisticsDaoDbFacadeImpl
-VmDynamicDAO=org.ovirt.engine.core.dao.VmDynamicDAODbFacadeImpl
-VmJobDao=org.ovirt.engine.core.dao.VmJobDaoDbFacadeImpl
-TagDAO=org.ovirt.engine.core.dao.TagDAODbFacadeImpl
-BaseDiskDao=org.ovirt.engine.core.dao.BaseDiskDaoDbFacadeImpl
-DiskDao=org.ovirt.engine.core.dao.DiskDaoDbFacadeImpl
-DiskLunMapDao=org.ovirt.engine.core.dao.DiskLunMapDaoDbFacadeImpl
-ImageDao=org.ovirt.engine.core.dao.ImageDaoDbFacadeImpl
-DiskImageDAO=org.ovirt.engine.core.dao.DiskImageDAODbFacadeImpl
-DiskImageDynamicDAO=org.ovirt.engine.core.dao.DiskImageDynamicDAODbFacadeImpl
-ImageVmMapDAO=org.ovirt.engine.core.dao.ImageVmMapDAODbFacadeImpl
-EventDAO=org.ovirt.engine.core.dao.EventDAODbFacadeImpl
-ActionGroupDAO=org.ovirt.engine.core.dao.ActionGroupDAODbFacadeImpl
-RoleDAO=org.ovirt.engine.core.dao.RoleDAODbFacadeImpl
-AsyncTaskDAO=org.ovirt.engine.core.dao.AsyncTaskDAODbFacadeImpl
-DbGroupDAO=org.ovirt.engine.core.dao.DbGroupDAODbFacadeImpl
-NetworkDao=org.ovirt.engine.core.dao.network.NetworkDaoDbFacadeImpl
-PermissionDAO=org.ovirt.engine.core.dao.PermissionDAODbFacadeImpl
-StoragePoolDAO=org.ovirt.engine.core.dao.StoragePoolDAODbFacadeImpl
-MacPoolDao=org.ovirt.engine.core.dao.MacPoolDaoDbFacadeImpl
-StoragePoolIsoMapDAO=org.ovirt.engine.core.dao.StoragePoolIsoMapDAODbFacadeImpl
-VdcOptionDAO=org.ovirt.engine.core.dao.VdcOptionDAODbFacadeImpl
-NetworkClusterDao=org.ovirt.engine.core.dao.network.NetworkClusterDaoDbFacadeImpl
-SnapshotDao=org.ovirt.engine.core.dao.SnapshotDaoDbFacadeImpl
-StorageDomainDAO=org.ovirt.engine.core.dao.StorageDomainDAODbFacadeImpl
-StorageDomainStaticDAO=org.ovirt.engine.core.dao.StorageDomainStaticDAODbFacadeImpl
-StorageDomainDynamicDAO=org.ovirt.engine.core.dao.StorageDomainDynamicDAODbFacadeImpl
-StorageServerConnectionDAO=org.ovirt.engine.core.dao.StorageServerConnectionDAODbFacadeImpl
-StorageServerConnectionLunMapDAO=org.ovirt.engine.core.dao.StorageServerConnectionLunMapDAODbFacadeImpl
-RepoFileMetaDataDAO=org.ovirt.engine.core.dao.RepoFileMetaDataDAODbFacadeImpl
-VdsGroupDAO=org.ovirt.engine.core.dao.VdsGroupDAODbFacadeImpl
-VmPoolDAO=org.ovirt.engine.core.dao.VmPoolDAODbFacadeImpl
-BusinessEntitySnapshotDAO=org.ovirt.engine.core.dao.BusinessEntitySnapshotDAODbFacadeImpl
-QuotaDAO=org.ovirt.engine.core.dao.QuotaDAODbFacadeImpl
-VmDeviceDAO=org.ovirt.engine.core.dao.VmDeviceDAODbFacadeImpl
-JobDao=org.ovirt.engine.core.dao.JobDaoDbFacadeImpl
-JobSubjectEntityDao=org.ovirt.engine.core.dao.JobSubjectEntityDaoFacadeImpl
-StepDao=org.ovirt.engine.core.dao.StepDaoDbFacadeImpl
-GlusterVolumeDao=org.ovirt.engine.core.dao.gluster.GlusterVolumeDaoDbFacadeImpl
-GlusterBrickDao=org.ovirt.engine.core.dao.gluster.GlusterBrickDaoDbFacadeImpl
-GlusterVolumeSnapshotDao=org.ovirt.engine.core.dao.gluster.GlusterVolumeSnapshotDaoDbFacadeImpl
-GlusterVolumeSnapshotConfigDao=org.ovirt.engine.core.dao.gluster.GlusterVolumeSnapshotConfigDaoDbFacadeImpl
-GlusterVolumeSnapshotScheduleDao=org.ovirt.engine.core.dao.gluster.GlusterVolumeSnapshotScheduleDaoDBFacadeImpl
-GlusterOptionDao=org.ovirt.engine.core.dao.gluster.GlusterOptionDaoDbFacadeImpl
-ImageStorageDomainMapDao=org.ovirt.engine.core.dao.ImageStorageDomainMapDaoDbFacadeImpl
-VmAndTemplatesGenerationsDAO=org.ovirt.engine.core.dao.VmAndTemplatesGenerationsDbFacadeImpl
-NetworkViewDao=org.ovirt.engine.core.dao.network.NetworkViewDaoDbFacadeImpl
-VmGuestAgentInterfaceDao=org.ovirt.engine.core.dao.VmGuestAgentInterfaceDaoDbFacadeImpl
-ProviderDao=org.ovirt.engine.core.dao.provider.ProviderDaoDbFacadeImpl
-GlusterHooksDao=org.ovirt.engine.core.dao.gluster.GlusterHooksDaoDbFacadeImpl
-GlusterServiceDao=org.ovirt.engine.core.dao.gluster.GlusterServiceDaoDbFacadeImpl
-GlusterServerServiceDao=org.ovirt.engine.core.dao.gluster.GlusterServerServiceDaoDbFacadeImpl
-GlusterClusterServiceDao=org.ovirt.engine.core.dao.gluster.GlusterClusterServiceDaoDbFacadeImpl
-GlusterServerDao=org.ovirt.engine.core.dao.gluster.GlusterServerDaoDbFacadeImpl
-GlusterGeoRepDao=org.ovirt.engine.core.dao.gluster.GlusterGeoRepDaoDbFacadeImpl
-NetworkQoSDao=org.ovirt.engine.core.dao.network.NetworkQoSDaoFacadeImpl
-HostNetworkQosDao=org.ovirt.engine.core.dao.network.HostNetworkQosDaoDbFacadeImpl
-StorageQosDao=org.ovirt.engine.core.dao.qos.StorageQosDaoDbFacadeImpl
-CpuQosDao=org.ovirt.engine.core.dao.qos.CpuQosDaoDbFacadeImpl
-QosBaseDao=org.ovirt.engine.core.dao.qos.AllQosBaseDaoFacadeImpl
-PolicyUnitDao=org.ovirt.engine.core.dao.scheduling.PolicyUnitDaoImpl
-ClusterPolicyDao=org.ovirt.engine.core.dao.scheduling.ClusterPolicyDaoImpl
-DwhHistoryTimekeepingDao=org.ovirt.engine.core.dao.dwh.DwhHistoryTimekeepingDaoDbFacadeImpl
-AffinityGroupDao=org.ovirt.engine.core.dao.scheduling.AffinityGroupDaoImpl
-IscsiBondDao=org.ovirt.engine.core.dao.IscsiBondDaoDbFacadeImpl
-VmInitDAO=org.ovirt.engine.core.dao.VmInitDAODbFacadeImpl
-StorageDomainOvfInfoDao=org.ovirt.engine.core.dao.StorageDomainOvfInfoDbFacadeImpl
-VdsCpuStatisticsDAO=org.ovirt.engine.core.dao.VdsCpuStatisticsDAODbFacadeImpl
-VdsNumaNodeDAO=org.ovirt.engine.core.dao.VdsNumaNodeDAODbFacadeImpl
-VmNumaNodeDAO=org.ovirt.engine.core.dao.VmNumaNodeDAODbFacadeImpl
-UnregisteredOVFDataDAO=org.ovirt.engine.core.dao.UnregisteredOVFDataDAODbFacadeImpl
-ExternalVariableDao=org.ovirt.engine.core.dao.ExternalVariableDaoDbFacadeImpl
-VdsKdumpStatusDao=org.ovirt.engine.core.dao.VdsKdumpStatusDaoDbFacadeImpl
-DiskProfileDao=org.ovirt.engine.core.dao.profiles.DiskProfileDaoDbFacadeImpl
-CpuProfileDao=org.ovirt.engine.core.dao.profiles.CpuProfileDaoDbFacadeImpl
-FenceAgentDAO=org.ovirt.engine.core.dao.FenceAgentDaoDbFacadeImpl
-HostDeviceDao=org.ovirt.engine.core.dao.HostDeviceDaoDbFacadeImpl
diff --git 
a/backend/manager/modules/dal/src/main/modules/org/ovirt/engine/core/dal/main/module.xml
 
b/backend/manager/modules/dal/src/main/modules/org/ovirt/engine/core/dal/main/module.xml
index 541b649..5c08af6 100644
--- 
a/backend/manager/modules/dal/src/main/modules/org/ovirt/engine/core/dal/main/module.xml
+++ 
b/backend/manager/modules/dal/src/main/modules/org/ovirt/engine/core/dal/main/module.xml
@@ -9,6 +9,7 @@
   <dependencies>
     <module name="javax.annotation.api"/>
     <module name="javax.api"/>
+    <module name="javax.enterprise.api"/>
     <module name="javax.inject.api"/>
     <module name="javax.persistence.api"/>
     <module name="javax.transaction.api"/>
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/CDIIntegration.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/CDIIntegration.java
new file mode 100644
index 0000000..4165be4
--- /dev/null
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/CDIIntegration.java
@@ -0,0 +1,86 @@
+package org.ovirt.engine.core;
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.inject.Instance;
+import javax.enterprise.util.TypeLiteral;
+
+import org.ovirt.engine.core.dao.DAO;
+import org.springframework.beans.BeansException;
+import 
org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
+import org.springframework.beans.factory.support.BeanDefinitionRegistry;
+import 
org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class CDIIntegration implements BeanDefinitionRegistryPostProcessor {
+    private ConfigurableListableBeanFactory beanFactory;
+
+    @Bean
+    public Instance<DAO> daos() {
+        // Since the Spring runner doesn't support the CDI @Any annotation - 
we need to hand it to him manually
+        Map<String, DAO> daoMap = beanFactory.getBeansOfType(DAO.class);
+        List<DAO> privateDaos = new ArrayList<>(daoMap.values());
+        Instance<DAO> daos = new ListBasedInstance(privateDaos);
+        return daos;
+    }
+
+    @Override
+    public void postProcessBeanFactory(ConfigurableListableBeanFactory 
beanFactory) throws BeansException {
+        this.beanFactory = beanFactory;
+    }
+
+    @Override
+    public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry 
registry) throws BeansException {
+    }
+
+    private class ListBasedInstance implements Instance<DAO> {
+        private List<DAO> privateDaos;
+
+        public ListBasedInstance(List<DAO> privateDaos) {
+            super();
+            this.privateDaos = privateDaos;
+        }
+
+        @Override
+        public DAO get() {
+            return privateDaos.get(0);
+        }
+
+        @Override
+        public Iterator<DAO> iterator() {
+            return privateDaos.iterator();
+        }
+
+        @Override
+        public <U extends DAO> Instance<U> select(TypeLiteral<U> subtype, 
Annotation... qualifiers) {
+            return null;
+        }
+
+        @Override
+        public <U extends DAO> Instance<U> select(Class<U> subtype, 
Annotation... qualifiers) {
+            return null;
+        }
+
+        @Override
+        public Instance<DAO> select(Annotation... qualifiers) {
+            return null;
+        }
+
+        @Override
+        public boolean isUnsatisfied() {
+            return false;
+        }
+
+        @Override
+        public boolean isAmbiguous() {
+            return false;
+        }
+    }
+}
+
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BaseDAOTestCase.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BaseDAOTestCase.java
index da2b326..29eff89 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BaseDAOTestCase.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BaseDAOTestCase.java
@@ -31,6 +31,7 @@
 import org.springframework.test.context.TestExecutionListeners;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import 
org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
+import org.springframework.test.context.transaction.TransactionConfiguration;
 import 
org.springframework.test.context.transaction.TransactionalTestExecutionListener;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -44,6 +45,7 @@
 @TestExecutionListeners({ TransactionalTestExecutionListener.class, 
DependencyInjectionTestExecutionListener.class })
 @ContextConfiguration(locations = { "classpath:/test-beans.xml" })
 @Transactional
+@TransactionConfiguration(transactionManager = "transactionManager", 
defaultRollback = true)
 public abstract class BaseDAOTestCase {
     protected static final Guid PRIVILEGED_USER_ID = new 
Guid("9bf7c640-b620-456f-a550-0348f366544b");
     protected static final String PRIVILEGED_USER_ENGINE_SESSION_ID = 
"c6f975b2-6f67-11e4-8455-3c970e14c386";
@@ -70,7 +72,6 @@
             dataset = initDataSet();
             // load data from fixtures to DB
             DatabaseOperation.CLEAN_INSERT.execute(getConnection(), dataset);
-
             SimpleNamingContextBuilder builder = new 
SimpleNamingContextBuilder();
             builder.bind("java:/ENGINEDataSource", dataSource);
             builder.activate();
@@ -115,7 +116,7 @@
                 number = "";
             String schemaNamePostfix = job + number;
             is = BaseDAOTestCase.class.getResourceAsStream(
-            "/test-database.properties");
+                    "/test-database.properties");
             properties.load(is);
 
             ClassLoader.getSystemClassLoader().loadClass(
@@ -136,8 +137,7 @@
         } catch (Exception error) {
             error.printStackTrace();
             throw new RuntimeException("Cannot create data source", error);
-        }
-        finally {
+        } finally {
             if (is != null) {
                 try {
                     is.close();
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BookmarkDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BookmarkDAOTest.java
index 499a0e1..e1206fd 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BookmarkDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/BookmarkDAOTest.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.core.dao;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
@@ -135,4 +136,15 @@
 
         assertNull(result);
     }
+
+    /**
+     * Make sure that we work with detached entities in our code
+     */
+    @Test
+    public void testDetachedEntityGet() {
+        Bookmark result = dao.get(existing_bookmark.getbookmark_id());
+        result.setbookmark_name("a test");
+        Bookmark result2 = dao.get(existing_bookmark.getbookmark_id());
+        assertNotEquals(result.getbookmark_name(), result2.getbookmark_name());
+    }
 }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DaoFactoryTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DaoFactoryTest.java
deleted file mode 100644
index db861cb..0000000
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DaoFactoryTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.ovirt.engine.core.dao;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.ovirt.engine.core.dao.network.InterfaceDao;
-import org.ovirt.engine.core.dao.network.NetworkClusterDao;
-import org.ovirt.engine.core.dao.network.NetworkDao;
-
-public class DaoFactoryTest extends Assert {
-
-    private <T extends DAO> void testLoadClass(Class<T> clz) {
-        T instance = DaoFactory.get(clz);
-        assertNotNull(instance);
-        assertTrue(clz.isInstance(instance));
-    }
-
-    @Test public void testActionGroup()             { 
testLoadClass(ActionGroupDAO.class); }
-    @Test public void testAdGroup()                 { 
testLoadClass(DbGroupDAO.class); }
-    @Test public void testAsyncTask()               { 
testLoadClass(AsyncTaskDAO.class); }
-    @Test public void testAuditLog()                { 
testLoadClass(AuditLogDAO.class); }
-    @Test public void testBookmark()                { 
testLoadClass(BookmarkDAO.class); }
-    @Test public void testDbUser()                  { 
testLoadClass(DbUserDAO.class); }
-    @Test public void testDiskImage()               { 
testLoadClass(DiskImageDAO.class); }
-    @Test public void testEvent()                   { 
testLoadClass(EventDAO.class); }
-    @Test public void testInterface()               { 
testLoadClass(InterfaceDao.class); }
-    @Test public void testLun()                     { 
testLoadClass(LunDAO.class); }
-    @Test public void testNetwork()                 { 
testLoadClass(NetworkDao.class); }
-    @Test public void testNetworkCluster()          { 
testLoadClass(NetworkClusterDao.class); }
-    @Test public void testPermission()              { 
testLoadClass(PermissionDAO.class); }
-    @Test public void testRole()                    { 
testLoadClass(RoleDAO.class); }
-    @Test public void testRoleGroupMap()            { 
testLoadClass(RoleGroupMapDAO.class); }
-    @Test public void testStorageDomain()           { 
testLoadClass(StorageDomainDAO.class); }
-    @Test public void testStoragePool()             { 
testLoadClass(StoragePoolDAO.class); }
-    @Test public void testStorageServerConnection() { 
testLoadClass(StorageServerConnectionDAO.class); }
-    @Test public void testTag()                     { 
testLoadClass(TagDAO.class); }
-    @Test public void testVdcOption()               { 
testLoadClass(VdcOptionDAO.class); }
-    @Test public void testVds()                     { 
testLoadClass(VdsDAO.class); }
-    @Test public void testVdsGroup()                { 
testLoadClass(VdsGroupDAO.class); }
-    @Test public void testVm()                      { 
testLoadClass(VmDAO.class); }
-
-    private class NonExistentDAO implements DAO {
-    }
-
-    @Test
-    public void testException() {
-        try {
-            DaoFactory.get(NonExistentDAO.class);
-            fail("expected DaoFactoryException");
-        } catch (DaoFactoryException ex) {
-            assertEquals(NonExistentDAO.class, ex.getDaoType());
-            assertEquals("engine-daos.properties", ex.getPropsFile());
-        }
-    }
-}
diff --git 
a/backend/manager/modules/dal/src/test/resources/META-INF/persistence.xml 
b/backend/manager/modules/dal/src/test/resources/META-INF/persistence.xml
deleted file mode 100644
index 71780bd..0000000
--- a/backend/manager/modules/dal/src/test/resources/META-INF/persistence.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<persistence xmlns="http://java.sun.com/xml/ns/persistence"; version="2.0">
-    <persistence-unit name="ovirt">
-        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
-        <properties>
-            <property name="javax.persistence.jdbc.driver" 
value="${engine.db.driver}" />
-            <property name="javax.persistence.jdbc.user" 
value="${engine.db.username}" />
-            <property name="javax.persistence.jdbc.password" 
value="${engine.db.password}" />
-            <property name="javax.persistence.jdbc.url" 
value="${engine.db.url}" />
-            <property name="hibernate.dialect" 
value="org.hibernate.dialect.PostgreSQLDialect" />
-        </properties>
-    </persistence-unit>
-</persistence>
\ No newline at end of file
diff --git a/backend/manager/modules/dal/src/test/resources/test-beans.xml 
b/backend/manager/modules/dal/src/test/resources/test-beans.xml
index 93cb1a5..f6e087a 100644
--- a/backend/manager/modules/dal/src/test/resources/test-beans.xml
+++ b/backend/manager/modules/dal/src/test/resources/test-beans.xml
@@ -15,8 +15,31 @@
        <bean class="org.ovirt.engine.core.dal.dbbroker.DbFacade"/>
        <bean class="org.ovirt.engine.core.dal.dbbroker.DbFacadeLocator"/>
        
-    <bean name="transactionManager" 
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
-        <constructor-arg ref="DataSource"/>
+    <bean id="transactionManagerJPA" 
class="org.springframework.orm.jpa.JpaTransactionManager">
+        <property name="entityManagerFactory" ref="entityManagerFactory" />
     </bean>
-    <bean id="DataSource" class="org.ovirt.engine.core.dao.BaseDAOTestCase" 
factory-method="getDataSource" name="java:/ENGINEDataSource"/>
+
+    <bean name="transactionManager"
+        
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+        <constructor-arg ref="DataSource" />
+    </bean>
+ 
+    <bean id="DataSource" class="org.ovirt.engine.core.dao.BaseDAOTestCase"
+        factory-method="getDataSource" />
+
+    <bean id="entityManagerFactory"
+        
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
+        <property name="dataSource" ref="DataSource" />
+        <property name="packagesToScan"
+            value="org.ovirt.engine.core.common.businessentities" />
+        <property name="jpaVendorAdapter">
+            <bean 
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
+        </property>
+        <property name="jpaProperties">
+            <props>
+                <prop 
key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
+            </props>
+        </property>
+    </bean>
+
 </beans>
\ No newline at end of file


-- 
To view, visit https://gerrit.ovirt.org/38505
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic426126d690ab6dedb49ef6b67deeba67661d031
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Liran Zelkha <lzel...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to