From 65675b9a1d4355a15cd42f8c4df7cc1e9c5bd80f Mon Sep 17 00:00:00 2001 From: Davide Date: Thu, 8 Apr 2021 15:02:06 +0200 Subject: [PATCH] Revert "SEARCH-2782 use current transaction timestamp instead of current time as event time (#371)" (#376) This reverts commit 28f1429a --- .../alfresco/repo/event2/EventGenerator.java | 22 +----------- .../resources/alfresco/events2-context.xml | 1 - .../repo/event2/CreateRepoEventIT.java | 34 +------------------ 3 files changed, 2 insertions(+), 55 deletions(-) diff --git a/repository/src/main/java/org/alfresco/repo/event2/EventGenerator.java b/repository/src/main/java/org/alfresco/repo/event2/EventGenerator.java index eb7a8c5ec7..06fea65ba9 100644 --- a/repository/src/main/java/org/alfresco/repo/event2/EventGenerator.java +++ b/repository/src/main/java/org/alfresco/repo/event2/EventGenerator.java @@ -27,16 +27,12 @@ package org.alfresco.repo.event2; import java.io.Serializable; import java.net.URI; -import java.time.Instant; -import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.util.Deque; import java.util.LinkedHashMap; import java.util.Map; import java.util.UUID; -import org.alfresco.repo.domain.node.NodeDAO; -import org.alfresco.repo.domain.node.Transaction; import org.alfresco.repo.event.v1.model.EventType; import org.alfresco.repo.event.v1.model.RepoEvent; import org.alfresco.repo.event2.filter.ChildAssociationTypeFilter; @@ -98,7 +94,6 @@ public class EventGenerator extends AbstractLifecycleBean implements Initializin private TransactionService transactionService; private PersonService personService; protected NodeResourceHelper nodeResourceHelper; - private NodeDAO nodeDAO; private NodeTypeFilter nodeTypeFilter; private ChildAssociationTypeFilter childAssociationTypeFilter; @@ -118,7 +113,6 @@ public class EventGenerator extends AbstractLifecycleBean implements Initializin PropertyCheck.mandatory(this, "transactionService", transactionService); PropertyCheck.mandatory(this, "personService", personService); PropertyCheck.mandatory(this, "nodeResourceHelper", nodeResourceHelper); - PropertyCheck.mandatory(this, "nodeDAO", nodeDAO); this.nodeTypeFilter = eventFilterRegistry.getNodeTypeFilter(); this.childAssociationTypeFilter = eventFilterRegistry.getChildAssociationTypeFilter(); @@ -151,11 +145,6 @@ public class EventGenerator extends AbstractLifecycleBean implements Initializin new JavaBehaviour(this, "beforeDeleteAssociation")); } - public void setNodeDAO(NodeDAO nodeDAO) - { - this.nodeDAO = nodeDAO; - } - public void setPolicyComponent(PolicyComponent policyComponent) { this.policyComponent = policyComponent; @@ -381,22 +370,13 @@ public class EventGenerator extends AbstractLifecycleBean implements Initializin private EventInfo getEventInfo(String user) { - return new EventInfo().setTimestamp(getCurrentTransactionTimestamp()) + return new EventInfo().setTimestamp(ZonedDateTime.now()) .setId(UUID.randomUUID().toString()) .setTxnId(AlfrescoTransactionSupport.getTransactionId()) .setPrincipal(user) .setSource(URI.create("/" + descriptorService.getCurrentRepositoryDescriptor().getId())); } - private ZonedDateTime getCurrentTransactionTimestamp() - { - Long currentTransactionId = nodeDAO.getCurrentTransactionId(false); - Transaction transaction = nodeDAO.getTxnById(currentTransactionId); - Instant commitTimeMs = Instant.ofEpochMilli(transaction.getCommitTimeMs()); - ZonedDateTime timestamp = ZonedDateTime.ofInstant(commitTimeMs, ZoneOffset.UTC); - return timestamp; - } - @Override protected void onBootstrap(ApplicationEvent applicationEvent) { diff --git a/repository/src/main/resources/alfresco/events2-context.xml b/repository/src/main/resources/alfresco/events2-context.xml index 979b4f6cd8..c5d899023f 100644 --- a/repository/src/main/resources/alfresco/events2-context.xml +++ b/repository/src/main/resources/alfresco/events2-context.xml @@ -41,7 +41,6 @@ - diff --git a/repository/src/test/java/org/alfresco/repo/event2/CreateRepoEventIT.java b/repository/src/test/java/org/alfresco/repo/event2/CreateRepoEventIT.java index db6b592c70..7496f7633a 100644 --- a/repository/src/test/java/org/alfresco/repo/event2/CreateRepoEventIT.java +++ b/repository/src/test/java/org/alfresco/repo/event2/CreateRepoEventIT.java @@ -26,14 +26,9 @@ package org.alfresco.repo.event2; -import java.time.Instant; -import java.time.ZoneOffset; -import java.time.ZonedDateTime; import java.util.List; import org.alfresco.model.ContentModel; -import org.alfresco.repo.domain.node.NodeDAO; -import org.alfresco.repo.domain.node.Transaction; import org.alfresco.repo.event.v1.model.EventData; import org.alfresco.repo.event.v1.model.EventType; import org.alfresco.repo.event.v1.model.NodeResource; @@ -43,7 +38,6 @@ import org.alfresco.service.namespace.QName; import org.alfresco.util.GUID; import org.alfresco.util.PropertyMap; import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; /** * @author Iulian Aftene @@ -51,9 +45,6 @@ import org.springframework.beans.factory.annotation.Autowired; public class CreateRepoEventIT extends AbstractContextAwareRepoEvent { - @Autowired - private NodeDAO nodeDAO; - @Test public void testCreateEvent() { @@ -158,32 +149,9 @@ public class CreateRepoEventIT extends AbstractContextAwareRepoEvent assertTrue("isFile flag should be TRUE for nodeType=cm:content. ", resource.isFile()); assertFalse("isFolder flag should be FALSE for nodeType=cm:content. ", resource.isFolder()); } - - @Test - public void testEventTimestampEqualsToTransactionCommitTime() - { - String name = "TestFile-" + System.currentTimeMillis() + ".txt"; - PropertyMap propertyMap = new PropertyMap(); - propertyMap.put(ContentModel.PROP_NAME, name); - - //create a node and return the transaction id required later - Long transactionId = retryingTransactionHelper.doInTransaction(() -> { - nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, - QName.createQName(TEST_NAMESPACE, GUID.generate()), ContentModel.TYPE_CONTENT, propertyMap).getChildRef(); - return nodeDAO.getCurrentTransactionId(false); - }); - - RepoEvent> resultRepoEvent = getRepoEvent(1); - - Transaction transaction = nodeDAO.getTxnById(transactionId); - Instant commitTimeMs = Instant.ofEpochMilli(transaction.getCommitTimeMs()); - ZonedDateTime timestamp = ZonedDateTime.ofInstant(commitTimeMs, ZoneOffset.UTC); - - assertEquals(timestamp, resultRepoEvent.getTime()); - } @Test - public void testCreateMultipleNodesInTheSameTransaction() + public void testCteateMultipleNodesInTheSameTransaction() { retryingTransactionHelper.doInTransaction(() -> { for (int i = 0; i < 3; i++)