Eli Mesika has uploaded a new change for review.

Change subject: core[DAO]: Adding external status to DAOs
......................................................................

core[DAO]: Adding external status to DAOs

This patch adds external status handling to the DAOs

Change-Id: I8124d0dc5fa1aa97dde67462d7807f2b3ba60411
Signed-off-by: emesika <emes...@redhat.com>
---
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/StoragePoolIsoMapDAO.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAOTest.java
M backend/manager/modules/dal/src/test/resources/fixtures.xml
5 files changed, 34 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/34/42134/1

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 8afe7bd..2c7f2b1 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
@@ -8,6 +8,7 @@
 import javax.inject.Singleton;
 
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
+import org.ovirt.engine.core.common.businessentities.ExternalStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
@@ -173,6 +174,7 @@
             entity.setActualImagesSize(rs.getInt("actual_images_size"));
             entity.setCommittedDiskSize(rs.getInt("commited_disk_size"));
             
entity.setStatus(StorageDomainStatus.forValue(rs.getInt("status")));
+            
entity.setExternalStatus(ExternalStatus.forValue(rs.getInt("external_status")));
             entity.setStorageDomainSharedStatus(
                     
StorageDomainSharedStatus.forValue(rs.getInt("storage_domain_shared_status")));
             entity.setAutoRecoverable(rs.getBoolean("recoverable"));
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAO.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAO.java
index 0409514..46e10e4 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAO.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAO.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 
+import org.ovirt.engine.core.common.businessentities.ExternalStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMapId;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap;
@@ -12,7 +13,7 @@
  *
  */
 public interface StoragePoolIsoMapDAO extends GenericDao<StoragePoolIsoMap, 
StoragePoolIsoMapId>,
-        StatusAwareDao<StoragePoolIsoMapId, StorageDomainStatus> {
+        StatusAwareDao<StoragePoolIsoMapId, StorageDomainStatus>, 
ExternalStatusAwareDao<StoragePoolIsoMapId, ExternalStatus> {
     /**
      * Gets all maps for a given storage pool ID
      *
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 417ad50..98214bd 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
@@ -7,6 +7,7 @@
 import javax.inject.Named;
 import javax.inject.Singleton;
 
+import org.ovirt.engine.core.common.businessentities.ExternalStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMapId;
@@ -27,6 +28,7 @@
             entity.setstorage_id(getGuidDefaultEmpty(rs, "storage_id"));
             entity.setstorage_pool_id(getGuid(rs, "storage_pool_id"));
             
entity.setStatus(StorageDomainStatus.forValue(rs.getInt("status")));
+            
entity.setExternalStatus(ExternalStatus.forValue(rs.getInt("external_status")));
             return entity;
         }
     }
@@ -93,6 +95,10 @@
         
getCallsHandler().executeModification("Updatestorage_pool_iso_map_status", 
parameterSource);
     }
 
-
-
+    @Override
+    public void updateExternalStatus(StoragePoolIsoMapId id, ExternalStatus 
status) {
+        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource().addValue("storage_id",
+                id.getStorageId()).addValue("storage_pool_id", 
id.getStoragePoolId()).addValue("external_status", status);
+        
getCallsHandler().executeModification("UpdateStorageDomainExternalStatus", 
parameterSource);
+    }
 }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAOTest.java
index 13bc067..dcc6072 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StoragePoolIsoMapDAOTest.java
@@ -8,6 +8,7 @@
 import java.util.List;
 
 import org.junit.Test;
+import org.ovirt.engine.core.common.businessentities.ExternalStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap;
@@ -74,6 +75,15 @@
     }
 
     @Test
+    public void testUpdateStorageDomainExternalStatus() {
+        StoragePoolIsoMap before = dao.get(existingStoragePoolIsoMap.getId());
+        before.setExternalStatus(ExternalStatus.Error);
+        dao.updateExternalStatus(before.getId(), before.getExternalStatus());
+        StoragePoolIsoMap after = dao.get(existingStoragePoolIsoMap.getId());
+        assertEquals(before.getExternalStatus(), after.getExternalStatus());
+    }
+
+    @Test
     public void testRemoveStoragePoolIsoMap() {
         dao.remove(new 
StoragePoolIsoMapId(existingStoragePoolIsoMap.getstorage_id(),
                 existingStoragePoolIsoMap.getstorage_pool_id()));
diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml 
b/backend/manager/modules/dal/src/test/resources/fixtures.xml
index 854951b..d7d917e 100644
--- a/backend/manager/modules/dal/src/test/resources/fixtures.xml
+++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml
@@ -4748,60 +4748,72 @@
         <column>storage_id</column>
         <column>storage_pool_id</column>
         <column>status</column>
+        <column>external_status</column>
         <row>
             <value>72e3a666-89e1-4005-a7ca-f7548004a9ab</value>
             <value>6d849ebf-755f-4552-ad09-9a090cda105d</value>
+            <value>3</value>
             <value>3</value>
         </row>
         <row>
             <value>17e7489d-d490-4681-a322-073ca19bd33d</value>
             <value>72b9e200-f48b-4687-83f2-62828f249a47</value>
             <value>3</value>
+            <value>0</value>
         </row>
         <row>
             <value>c2211b56-8869-41cd-84e1-78d7cb96f31d</value>
                <value>72b9e200-f48b-4687-83f2-62828f249a47</value>
             <value>3</value>
+            <value>1</value>
         </row>
         <row>
             <value>d9ede37f-e6c3-4bf9-a984-19174070aa31</value>
                <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a0</value>
+            <value>0</value>
             <value>0</value>
         </row>
         <row>
             <value>d9ede37f-e6c3-4bf9-a984-19174070aa41</value>
             <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a0</value>
             <value>6</value>
+            <value>2</value>
         </row>
         <row>
             <value>d034f3b2-fb9c-414a-b1be-1e642cfe57ae</value>
             <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a0</value>
             <value>3</value>
+            <value>4</value>
         </row>
         <row>
             <value>d9ede37f-e6c3-4bf9-a984-19174070aa32</value>
                <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a1</value>
             <value>3</value>
+            <value>0</value>
         </row>
         <row>
             <value>d034f3b2-fb9c-414a-b1be-1e642cfe57ae</value>
             <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a1</value>
             <value>3</value>
+            <value>0</value>
         </row>
         <row>
             <value>a7957057-b5de-47bb-b8e0-2f8dbd9e63d8</value>
             <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a0</value>
             <value>3</value>
+            <value>0</value>
         </row>
         <row>
             <value>bee623f3-9174-4ffd-aa30-4fb0dc0aa2f5</value>
             <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a0</value>
             <value>3</value>
+            <value>0</value>
         </row>
         <row>
             <value>72e3a666-89e1-4005-a7ca-f7548004a9aa</value>
             <value>6d849ebf-755f-4552-ad09-9a090cda105c</value>
             <value>4</value>
+            <value>0</value>
         </row>
     </table>
 


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

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

Reply via email to