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
