From 3b983d013f83b7f443fdcb47fce545416a632f9d Mon Sep 17 00:00:00 2001 From: Tom Page Date: Thu, 18 Jan 2018 16:13:20 +0100 Subject: [PATCH] Revert changes to getStartOfDay. Sonar suggested using the Java 8 method Instant.truncatedTo, as it is faster than DateUtils.truncate. However it has different handling of TimeZones, and the old version of this code only works when the server is set to use UTC. In order to fix this 'properly' we need code like: date = (date == null ? new Date() : date); return Date.from(date.toInstant().atZone(ZoneId.systemDefault()).truncatedTo(ChronoUnit.DAYS).toInstant()); which is significantly less readable than just using DateUtils.truncate. Given that this code hasn't ever been highlighted by our profiling, I suggest we revert back to the older code. --- .../audit/RecordsManagementAuditServiceImpl.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java index c444c9f8ed..6d327e4b1b 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java @@ -37,7 +37,6 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Serializable; import java.io.Writer; -import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; @@ -1140,8 +1139,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean */ protected Date getStartOfDay(Date date) { - date = (date == null ? new Date() : date); - return Date.from(date.toInstant().truncatedTo(ChronoUnit.DAYS)); + return DateUtils.truncate(date == null ? new Date() : date, Calendar.DATE); } /**