Roy Golan has uploaded a new change for review.

Change subject: core: add creation_date to permissions entity
......................................................................

core: add creation_date to permissions entity

Change-Id: Iedaf56522fc2af4c4cc8da9f5c1c2572fe4de706
Bug-Url: https://bugzilla.redhat.com/1080029
Signed-off-by: Roy Golan <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/PermissionDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PermissionDAOTest.java
M backend/manager/modules/dal/src/test/resources/fixtures.xml
A packaging/dbscripts/upgrade/03_06_0950_add_creation_date_to_permissions.sql
5 files changed, 45 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/98/38398/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
index affb90a..559424f 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
@@ -17,8 +17,8 @@
     private String ownerName;
     private RoleType roleType;
     private String authz;
-
     private String namespace;
+    private long creationDate;
 
     public Permissions() {
         this (Guid.Empty, Guid.Empty, null, null);
@@ -127,6 +127,15 @@
         this.namespace = namespace;
     }
 
+    public long getCreationDate() {
+        return creationDate;
+    }
+
+    public void setCreationDate(long creationDate) {
+        this.creationDate = creationDate;
+    }
+
+
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -142,6 +151,7 @@
         result = prime * result + ((roleId == null) ? 0 : roleId.hashCode());
         result = prime * result + ((authz == null) ? 0 : authz.hashCode());
         result = prime * result + ((namespace == null) ? 0 : 
namespace.hashCode());
+        result = prime * result + ((int) creationDate);
 
         return result;
     }
@@ -158,7 +168,8 @@
             return false;
         }
         Permissions other = (Permissions) obj;
-        return (ObjectUtils.objectsEqual(id, other.id)
+        return (creationDate != ((Permissions) obj).creationDate
+                && ObjectUtils.objectsEqual(id, other.id)
                 && ObjectUtils.objectsEqual(adElementId, other.adElementId)
                 && ObjectUtils.objectsEqual(objectId, other.objectId)
                 && objectType == other.objectType
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..56abea5 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
@@ -271,6 +271,8 @@
             entity.setNamespace(rs.getString("namespace"));
             entity.setAuthz(rs.getString("authz"));
             entity.setRoleType(RoleType.getById(rs.getInt("role_type")));
+            entity.setCreationDate(rs.getLong("creation_data"));
+
             return entity;
         }
     }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PermissionDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PermissionDAOTest.java
index 66a8bfe..7083916 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PermissionDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/PermissionDAOTest.java
@@ -10,6 +10,7 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
 
 import org.junit.Test;
 import org.ovirt.engine.core.common.VdcObjectType;
@@ -627,4 +628,12 @@
 
         assertTrue(after.isEmpty());
     }
+
+    @Test
+    public void creationTimestampIsInThePast() {
+        List<Permissions> vmPermissions = dao.getAllForEntity(VM_ENTITY_ID);
+        for (Permissions perms : vmPermissions) {
+            assertTrue(perms.getCreationDate() < 
TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()));
+        }
+    }
 }
diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml 
b/backend/manager/modules/dal/src/test/resources/fixtures.xml
index bfa2b5a..a52165e 100644
--- a/backend/manager/modules/dal/src/test/resources/fixtures.xml
+++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml
@@ -5060,12 +5060,14 @@
         <column>ad_element_id</column>
         <column>object_id</column>
         <column>object_type_id</column>
+        <column>creation_date</column>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e8d</value>
             <value>119caae6-5c1b-4a82-9858-dd9e5d2e1400</value>
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>77296e00-0cad-4e5a-9299-008a7b6f4354</value>
             <value>2</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e46</value>
@@ -5073,6 +5075,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>77296e00-0cad-4e5a-9299-008a7b6f4354</value>
             <value>2</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e8f</value>
@@ -5080,6 +5083,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>58d5c1c6-cb15-4832-b2a4-023770607188</value>
             <value>20</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295b8f</value>
@@ -5087,6 +5091,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>b399944a-81ab-4ec5-8266-e19ba7c3c9d1</value>
             <value>9</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e8e</value>
@@ -5094,6 +5099,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>afce7a39-8e8c-4819-ba9c-796d316592e7</value>
             <value>3</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>9304ce01-2f5f-41b5-92c7-9d69ef0bcfbc</value>
@@ -5101,6 +5107,7 @@
             <value>88d4301a-17af-496c-a793-584640853d4b</value>
             <value>1b85420c-b84c-4f29-997e-0eb674b40b79</value>
             <value>4</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>9304ce01-2f5f-41b5-92c7-9d69ef0bcfba</value>
@@ -5108,6 +5115,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>99408929-82cf-4dc7-a532-9d998063fa95</value>
             <value>4</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e90</value>
@@ -5115,6 +5123,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>103cfd1d-18b1-4790-8a0c-1e52621b0076</value>
             <value>5</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e91</value>
@@ -5122,6 +5131,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>b399944a-81ab-4ec5-8266-e19ba7c3c9d1</value>
             <value>9</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e92</value>
@@ -5129,6 +5139,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>103cfd1d-18b1-4790-8a0c-1e52621b0077</value>
             <value>2</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e93</value>
@@ -5136,6 +5147,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>103cfd1d-18b1-4790-8a0c-1e52621b0078</value>
             <value>14</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e94</value>
@@ -5143,6 +5155,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>72e3a666-89e1-4005-a7ca-f7548004a9ab</value>
             <value>11</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e95</value>
@@ -5150,6 +5163,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>9bf7c640-b620-456f-a550-0348f366544a</value>
             <value>15</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e96</value>
@@ -5157,6 +5171,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>119caae6-5c1b-4a82-9858-dd9e5d2e1400</value>
             <value>16</value>
+            <value>1425544473</value >
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e43</value>
@@ -5164,6 +5179,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>88296e00-0cad-4e5a-9291-008a7b7f4399</value>
             <value>17</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e44</value>
@@ -5171,6 +5187,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>1b26a52b-b60f-44cb-9f46-3ef333b04a36</value>
             <value>19</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e45</value>
@@ -5178,6 +5195,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>1b26a52b-b60f-44cb-9f46-3ef333b04a37</value>
             <value>19</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e47</value>
@@ -5185,6 +5203,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>fd81f1e1-785b-4579-ab75-1419ebb87052</value>
             <value>29</value>
+            <value>1425544473</value>
         </row>
         <row>
             <value>2d2f2522-afd2-4964-a3b1-001cca295e48</value>
@@ -5192,6 +5211,7 @@
             <value>9bf7c640-b620-456f-a550-0348f366544b</value>
             <value>a667da39-27b0-47ec-a5fa-d4293a62b222</value>
             <value>29</value>
+            <value>1425544473</value>
         </row>
     </table>
 
diff --git 
a/packaging/dbscripts/upgrade/03_06_0950_add_creation_date_to_permissions.sql 
b/packaging/dbscripts/upgrade/03_06_0950_add_creation_date_to_permissions.sql
new file mode 100644
index 0000000..6d238db
--- /dev/null
+++ 
b/packaging/dbscripts/upgrade/03_06_0950_add_creation_date_to_permissions.sql
@@ -0,0 +1 @@
+SELECT fn_db_add_column('permissions', 'creation_date', 'bigint default 
(extract (epoch from now()))');


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iedaf56522fc2af4c4cc8da9f5c1c2572fe4de706
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