Roy Golan has uploaded a new change for review.

Change subject: core: CDI WIP - inject DAO's to AuditLogableBase
......................................................................

core: CDI WIP - inject DAO's to AuditLogableBase

Change-Id: I081cd61fc85957c2c9a4524ba6d7692ca5f8ab44
Signed-off-by: Roy Golan <[email protected]>
---
M backend/manager/modules/bll/pom.xml
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
M backend/manager/modules/dal/pom.xml
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
A 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacadeFactory.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
A 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JPAWrapperDao.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/StorageDomainDAOWrapperImpl.java
A backend/manager/modules/dal/src/main/resources/META-INF/beans.xml
11 files changed, 237 insertions(+), 38 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/10/9810/1

diff --git a/backend/manager/modules/bll/pom.xml 
b/backend/manager/modules/bll/pom.xml
index de4326a..47e15de 100644
--- a/backend/manager/modules/bll/pom.xml
+++ b/backend/manager/modules/bll/pom.xml
@@ -162,28 +162,13 @@
        <artifactId>jboss-ejb-api_3.1_spec</artifactId>
        <version>${javax.ejb.api.version}</version>
      </dependency>
-     
+ 
      <dependency>
         <groupId>javax.enterprise</groupId>
         <artifactId>cdi-api</artifactId>
         <version>1.0-SP2</version>
         <scope>provided</scope>
      </dependency>
-
-     <dependency>
-         <groupId>org.jboss.weld</groupId>
-         <artifactId>weld-se</artifactId>
-         <version>1.0.1-Final</version>
-         <type>jar</type>
-         <scope>provided</scope>
-     </dependency>
-     
-     <dependency>
-         <groupId>org.jboss.solder</groupId>
-         <artifactId>solder-impl</artifactId>
-         <version>3.1.1.Final</version>
-     </dependency>
-
   </dependencies>
 
   <build>
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
index d93a2c6..1c91f1e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
@@ -15,7 +15,6 @@
 import javax.ejb.Startup;
 import javax.ejb.TransactionAttribute;
 import javax.ejb.TransactionAttributeType;
-import javax.enterprise.inject.Produces;
 import javax.inject.Inject;
 import javax.interceptor.ExcludeClassInterceptors;
 import javax.interceptor.Interceptors;
@@ -101,7 +100,6 @@
         return EjbUtils.findBean(BeanType.BACKEND, BeanProxyType.LOCAL);
     }
 
-    @Produces
     public DbFacade getDbFacade() {
         return DbFacade.getInstance();
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
index c385446..ccb234d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
@@ -1367,9 +1367,6 @@
     @Inject
     private BackendInternal backend;
 
-    @Inject
-    DbFacade db;
-
     protected EngineLock getLock() {
         return commandLock;
     }
diff --git a/backend/manager/modules/dal/pom.xml 
b/backend/manager/modules/dal/pom.xml
index f1db7c3..dd3b10c 100644
--- a/backend/manager/modules/dal/pom.xml
+++ b/backend/manager/modules/dal/pom.xml
@@ -83,6 +83,12 @@
       <artifactId>javassist</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>javax.enterprise</groupId>
+      <artifactId>cdi-api</artifactId>
+      <version>1.0-SP2</version>
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
   <build>
     <filters>
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 787b238..f796a90 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,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.enterprise.inject.Produces;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
@@ -206,6 +208,8 @@
     /**
      * just convenience so we don't refactor old code
      */
+    @Produces
+    @DbFacadeFactory
     public static DbFacade getInstance() {
         return DbFacadeLocator.getDbFacade();
     }
@@ -367,6 +371,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public BookmarkDAO getBookmarkDao() {
         return getDao(BookmarkDAO.class);
 
@@ -377,6 +383,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public DbUserDAO getDbUserDao() {
        return getDao(DbUserDAO.class);
     }
@@ -386,6 +394,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VdsDAO getVdsDao() {
         return getDao(VdsDAO.class);
     }
@@ -395,6 +405,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VdsStaticDAO getVdsStaticDao() {
         return getDao(VdsStaticDAO.class);
     }
@@ -404,6 +416,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VdsDynamicDAO getVdsDynamicDao() {
         return getDao(VdsDynamicDAO.class);
     }
@@ -413,6 +427,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VdsStatisticsDAO getVdsStatisticsDao() {
         return getDao(VdsStatisticsDAO.class);
     }
@@ -422,6 +438,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VdsSpmIdMapDAO getVdsSpmIdMapDao() {
         return getDao(VdsSpmIdMapDAO.class);
     }
@@ -431,6 +449,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VdsGroupDAO getVdsGroupDao() {
         return getDao(VdsGroupDAO.class);
     }
@@ -440,6 +460,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public AuditLogDAO getAuditLogDao() {
         return getDao(AuditLogDAO.class);
     }
@@ -449,6 +471,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public LunDAO getLunDao() {
         return getDao(LunDAO.class);
     }
@@ -458,6 +482,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public InterfaceDAO getInterfaceDao() {
         return getDao(InterfaceDAO.class);
     }
@@ -467,6 +493,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VmNetworkInterfaceDAO getVmNetworkInterfaceDao() {
         return getDao(VmNetworkInterfaceDAO.class);
     }
@@ -476,6 +504,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VmNetworkStatisticsDAO getVmNetworkStatisticsDao() {
         return getDao(VmNetworkStatisticsDAO.class);
     }
@@ -485,6 +515,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public RoleGroupMapDAO getRoleGroupMapDao() {
         return getDao(RoleGroupMapDAO.class);
     }
@@ -494,6 +526,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VmTemplateDAO getVmTemplateDao() {
         return getDao(VmTemplateDAO.class);
     }
@@ -503,6 +537,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VmDAO getVmDao() {
         return getDao(VmDAO.class);
     }
@@ -512,6 +548,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VmDynamicDAO getVmDynamicDao() {
         return getDao(VmDynamicDAO.class);
     }
@@ -521,6 +559,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public TagDAO getTagDao() {
         return getDao(TagDAO.class);
     }
@@ -530,6 +570,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public BaseDiskDao getBaseDiskDao() {
         return getDao(BaseDiskDao.class);
     }
@@ -539,6 +581,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public DiskDao getDiskDao() {
         return getDao(DiskDao.class);
     }
@@ -548,6 +592,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public DiskLunMapDao getDiskLunMapDao() {
         return getDao(DiskLunMapDao.class);
     }
@@ -557,6 +603,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public ImageDao getImageDao() {
         return getDao(ImageDao.class);
     }
@@ -566,6 +614,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public DiskImageDAO getDiskImageDao() {
         return getDao(DiskImageDAO.class);
     }
@@ -575,6 +625,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public DiskImageDynamicDAO getDiskImageDynamicDao() {
         return getDao(DiskImageDynamicDAO.class);
     }
@@ -584,6 +636,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public EventDAO getEventDao() {
         return getDao(EventDAO.class);
     }
@@ -593,6 +647,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public ActionGroupDAO getActionGroupDao() {
         return getDao(ActionGroupDAO.class);
     }
@@ -602,6 +658,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public RoleDAO getRoleDao() {
         return getDao(RoleDAO.class);
     }
@@ -611,6 +669,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public AsyncTaskDAO getAsyncTaskDao() {
         return getDao(AsyncTaskDAO.class);
     }
@@ -620,6 +680,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public AdGroupDAO getAdGroupDao() {
         return getDao(AdGroupDAO.class);
     }
@@ -629,6 +691,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public NetworkDAO getNetworkDao() {
         return getDao(NetworkDAO.class);
     }
@@ -638,6 +702,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public NetworkViewDao getNetworkViewDao() {
         return getDao(NetworkViewDao.class);
     }
@@ -647,6 +713,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public NetworkClusterDAO getNetworkClusterDao() {
         return getDao(NetworkClusterDAO.class);
     }
@@ -656,6 +724,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public PermissionDAO getPermissionDao() {
         return getDao(PermissionDAO.class);
     }
@@ -665,6 +735,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public StorageDomainDAO getStorageDomainDao() {
         return getDao(StorageDomainDAO.class);
     }
@@ -674,6 +746,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public StorageDomainStaticDAO getStorageDomainStaticDao() {
         return getDao(StorageDomainStaticDAO.class);
     }
@@ -683,6 +757,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public StorageDomainDynamicDAO getStorageDomainDynamicDao() {
         return getDao(StorageDomainDynamicDAO.class);
     }
@@ -692,6 +768,8 @@
      *
      * @return Repository file meta data dao.
      */
+    @Produces
+    @DbFacadeFactory
     public RepoFileMetaDataDAO getRepoFileMetaDataDao() {
         return getDao(RepoFileMetaDataDAO.class);
     }
@@ -701,6 +779,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public SnapshotDao getSnapshotDao() {
         return getDao(SnapshotDao.class);
     }
@@ -710,6 +790,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public ImageStorageDomainMapDao getImageStorageDomainMapDao() {
         return getDao(ImageStorageDomainMapDao.class);
     }
@@ -719,6 +801,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public StoragePoolDAO getStoragePoolDao() {
         return getDao(StoragePoolDAO.class);
     }
@@ -728,6 +812,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public StoragePoolIsoMapDAO getStoragePoolIsoMapDao() {
         return getDao(StoragePoolIsoMapDAO.class);
     }
@@ -737,6 +823,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public StorageServerConnectionDAO getStorageServerConnectionDao() {
         return getDao(StorageServerConnectionDAO.class);
     }
@@ -746,6 +834,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public StorageServerConnectionLunMapDAO 
getStorageServerConnectionLunMapDao() {
         return getDao(StorageServerConnectionLunMapDAO.class);
     }
@@ -755,6 +845,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VdcOptionDAO getVdcOptionDao() {
         return getDao(VdcOptionDAO.class);
     }
@@ -763,6 +855,8 @@
      * Returns the singleton instance of {@link BusinessEntitySnapshotDAO}.
      * @return
      */
+    @Produces
+    @DbFacadeFactory
     public BusinessEntitySnapshotDAO getBusinessEntitySnapshotDao() {
         return getDao(BusinessEntitySnapshotDAO.class);
     }
@@ -773,10 +867,14 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VmPoolDAO getVmPoolDao() {
         return getDao(VmPoolDAO.class);
     }
 
+    @Produces
+    @DbFacadeFactory
     public VmStaticDAO getVmStaticDao() {
         return getDao(VmStaticDAO.class);
     }
@@ -786,6 +884,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public VmStatisticsDAO getVmStatisticsDao() {
         return getDao(VmStatisticsDAO.class);
     }
@@ -795,10 +895,14 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public QuotaDAO getQuotaDao() {
         return getDao(QuotaDAO.class);
     }
 
+    @Produces
+    @DbFacadeFactory
     public VmDeviceDAO getVmDeviceDao() {
         return getDao(VmDeviceDAO.class);
     }
@@ -809,6 +913,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public JobDao getJobDao() {
         return getDao(JobDao.class);
     }
@@ -818,6 +924,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public JobSubjectEntityDao getJobSubjectEntityDao() {
         return getDao(JobSubjectEntityDao.class);
     }
@@ -827,6 +935,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public StepDao getStepDao() {
         return getDao(StepDao.class);
     }
@@ -836,6 +946,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public GlusterVolumeDao getGlusterVolumeDao() {
         return getDao(GlusterVolumeDao.class);
     }
@@ -845,6 +957,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public GlusterBrickDao getGlusterBrickDao() {
         return getDao(GlusterBrickDao.class);
     }
@@ -854,6 +968,8 @@
      *
      * @return the dao
      */
+    @Produces
+    @DbFacadeFactory
     public GlusterOptionDao getGlusterOptionDao() {
         return getDao(GlusterOptionDao.class);
     }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacadeFactory.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacadeFactory.java
new file mode 100644
index 0000000..585dab1
--- /dev/null
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacadeFactory.java
@@ -0,0 +1,19 @@
+package org.ovirt.engine.core.dal.dbbroker;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+@Retention(RUNTIME)
+@Target({ METHOD, FIELD, PARAMETER, TYPE })
+public @interface DbFacadeFactory {
+
+}
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
index 2ed527b..bf2f92c 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
@@ -4,6 +4,7 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.inject.Inject;
 import javax.transaction.Transaction;
 
 import org.apache.commons.lang.StringUtils;
@@ -20,6 +21,7 @@
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dal.dbbroker.DbFacadeFactory;
 import org.ovirt.engine.core.dao.AdGroupDAO;
 import org.ovirt.engine.core.dao.DbUserDAO;
 import org.ovirt.engine.core.dao.NetworkClusterDAO;
@@ -67,6 +69,59 @@
     private String glusterVolumeName;
     private GlusterVolumeEntity glusterVolume;
     private Integer customId = null;
+
+    @Inject
+    @DbFacadeFactory
+    private DbFacade db;
+
+    @Inject
+    @DbFacadeFactory
+    private StorageDomainDAO storageDomainDao;
+    @Inject
+    @DbFacadeFactory
+    private StoragePoolDAO storagePoolDao;
+    @Inject
+    @DbFacadeFactory
+    private VdsDAO vdsDao;
+    @Inject
+    @DbFacadeFactory
+    private VmTemplateDAO getVmTemplateDao;
+    @Inject
+    @DbFacadeFactory
+    private VmDAO vmDao;
+    @Inject
+    @DbFacadeFactory
+    private VmStaticDAO vmStaticDao;
+    @Inject
+    @DbFacadeFactory
+    private VmStatisticsDAO vmStatisticsDao;
+    @Inject
+    @DbFacadeFactory
+    private VdsGroupDAO vdsGroupDao;
+    @Inject
+    @DbFacadeFactory
+    private RoleDAO roleDao;
+    @Inject
+    @DbFacadeFactory
+    private RoleGroupMapDAO roleGroupDao;
+    @Inject
+    @DbFacadeFactory
+    private PermissionDAO permissionDao;
+    @Inject
+    @DbFacadeFactory
+    private DbUserDAO dbUserDao;
+    @Inject
+    @DbFacadeFactory
+    private AdGroupDAO adGroupDao;
+    @Inject
+    @DbFacadeFactory
+    private VmNetworkInterfaceDAO vmNetworkInterfaceDao;
+    @Inject
+    @DbFacadeFactory
+    private NetworkClusterDAO networkClusterDao;
+    @Inject
+    @DbFacadeFactory
+    private NetworkDAO networkDao;
 
     public AuditLogableBase() {
     }
@@ -486,71 +541,71 @@
     }
 
     public StorageDomainDAO getStorageDomainDAO() {
-        return getDbFacade().getStorageDomainDao();
+        return storageDomainDao;
     }
 
     public StoragePoolDAO getStoragePoolDAO() {
-        return getDbFacade().getStoragePoolDao();
+        return storagePoolDao;
     }
 
     public VdsDAO getVdsDAO() {
-        return getDbFacade().getVdsDao();
+        return vdsDao;
     }
 
     public VmTemplateDAO getVmTemplateDAO() {
-        return getDbFacade().getVmTemplateDao();
+        return getVmTemplateDao;
     }
 
     protected VmDAO getVmDAO() {
-        return getDbFacade().getVmDao();
+        return vmDao;
     }
 
     public VmStaticDAO getVmStaticDAO() {
-        return getDbFacade().getVmStaticDao();
+        return vmStaticDao;
     }
 
     protected VmStatisticsDAO getVmStatisticsDAO() {
-        return getDbFacade().getVmStatisticsDao();
+        return vmStatisticsDao;
     }
 
     public VdsGroupDAO getVdsGroupDAO() {
-        return getDbFacade().getVdsGroupDao();
+        return vdsGroupDao;
     }
 
     public RoleDAO getRoleDao() {
-        return getDbFacade().getRoleDao();
+        return roleDao;
     }
 
     public RoleGroupMapDAO getRoleGroupMapDAO() {
-        return getDbFacade().getRoleGroupMapDao();
+        return roleGroupDao;
     }
 
     public PermissionDAO getPermissionDAO() {
-        return getDbFacade().getPermissionDao();
+        return permissionDao;
     }
 
     public DbUserDAO getDbUserDAO() {
-        return getDbFacade().getDbUserDao();
+        return dbUserDao;
     }
 
     public AdGroupDAO getAdGroupDAO() {
-        return getDbFacade().getAdGroupDao();
+        return adGroupDao;
     }
 
     protected VmNetworkInterfaceDAO getVmNetworkInterfaceDao() {
-        return getDbFacade().getVmNetworkInterfaceDao();
+        return vmNetworkInterfaceDao;
     }
 
     protected NetworkClusterDAO getNetworkClusterDAO() {
-        return getDbFacade().getNetworkClusterDao();
+        return networkClusterDao;
     }
 
     protected NetworkDAO getNetworkDAO() {
-        return getDbFacade().getNetworkDao();
+        return networkDao;
     }
 
     protected DbFacade getDbFacade() {
-        return DbFacade.getInstance();
+        return db;
     }
 
     public Integer getCustomId() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JPAWrapperDao.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JPAWrapperDao.java
new file mode 100644
index 0000000..cb3c923
--- /dev/null
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JPAWrapperDao.java
@@ -0,0 +1,19 @@
+package org.ovirt.engine.core.dao;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+@Retention(RUNTIME)
+@Target({ METHOD, FIELD, PARAMETER, TYPE })
+public @interface JPAWrapperDao {
+
+}
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 6b0c6e5..5d5e0ab 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.enterprise.inject.Alternative;
+
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
@@ -21,6 +23,7 @@
  * {@link org.ovirt.engine.core.dal.dbbroker.DbFacade}.
  */
 @SuppressWarnings("synthetic-access")
+@Alternative
 public class StorageDomainDAODbFacadeImpl extends BaseDAODbFacade implements 
StorageDomainDAO {
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAOWrapperImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAOWrapperImpl.java
index 0baf187..c0d15f5 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAOWrapperImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAOWrapperImpl.java
@@ -15,6 +15,7 @@
 import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.core.compat.NotImplementedException;
 
+@JPAWrapperDao
 public class StorageDomainDAOWrapperImpl extends BaseDAOWrapperImpl implements 
StorageDomainDAO {
     StorageDomainStaticDAOHibernateImpl staticDAO = new 
StorageDomainStaticDAOHibernateImpl();
     StorageDomainDynamicDAOHibernateImpl dynamicDAO = new 
StorageDomainDynamicDAOHibernateImpl();
diff --git a/backend/manager/modules/dal/src/main/resources/META-INF/beans.xml 
b/backend/manager/modules/dal/src/main/resources/META-INF/beans.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/backend/manager/modules/dal/src/main/resources/META-INF/beans.xml


--
To view, visit http://gerrit.ovirt.org/9810
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I081cd61fc85957c2c9a4524ba6d7692ca5f8ab44
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Roy Golan <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to