Search in sources :

Example 1 with NodeMovedEvent

use of org.alfresco.sync.events.types.NodeMovedEvent in project alfresco-repository by Alfresco.

the class EventsServiceImpl method nodeMoved.

@Override
public void nodeMoved(ChildAssociationRef oldChildAssocRef, ChildAssociationRef newChildAssocRef) {
    NodeRef nodeRef = newChildAssocRef.getChildRef();
    NodeInfo nodeInfo = getNodeInfo(nodeRef, NodeMovedEvent.EVENT_TYPE);
    if (nodeInfo.checkNodeInfo()) {
        String username = AuthenticationUtil.getFullyAuthenticatedUser();
        String networkId = TenantUtil.getCurrentDomain();
        String objectId = nodeInfo.getNodeId();
        String siteId = nodeInfo.getSiteId();
        String txnId = AlfrescoTransactionSupport.getTransactionId();
        long timestamp = System.currentTimeMillis();
        Long modificationTime = nodeInfo.getModificationTimestamp();
        String nodeType = nodeInfo.getType().toPrefixString(namespaceService);
        NodeRef oldParentNodeRef = oldChildAssocRef.getParentRef();
        NodeRef newParentNodeRef = newChildAssocRef.getParentRef();
        NodeRef oldNodeRef = oldChildAssocRef.getChildRef();
        NodeRef newNodeRef = newChildAssocRef.getChildRef();
        String oldParentNodeName = (String) nodeService.getProperty(oldParentNodeRef, ContentModel.PROP_NAME);
        String newParentNodeName = (String) nodeService.getProperty(newParentNodeRef, ContentModel.PROP_NAME);
        String oldNodeName = (String) nodeService.getProperty(oldNodeRef, ContentModel.PROP_NAME);
        String newNodeName = (String) nodeService.getProperty(newNodeRef, ContentModel.PROP_NAME);
        List<Path> newParentPaths = nodeService.getPaths(newParentNodeRef, false);
        List<String> newPaths = getPaths(newParentPaths, Arrays.asList(newParentNodeName, newNodeName));
        // renames are handled by an onUpdateProperties callback, we just deal with real moves here.
        if (!oldParentNodeRef.equals(newParentNodeRef)) {
            List<List<String>> toParentNodeIds = getNodeIds(newParentPaths);
            List<Path> oldParentPaths = nodeService.getPaths(oldParentNodeRef, false);
            List<String> previousPaths = getPaths(oldParentPaths, Arrays.asList(oldParentNodeName, oldNodeName));
            List<List<String>> previousParentNodeIds = getNodeIds(oldParentPaths);
            Set<String> aspects = nodeInfo.getAspectsAsStrings();
            Map<String, Serializable> properties = nodeInfo.getProperties();
            Client alfrescoClient = getAlfrescoClient(nodeInfo.getClient());
            Event event = new NodeMovedEvent(nextSequenceNumber(), oldNodeName, newNodeName, txnId, timestamp, networkId, siteId, objectId, nodeType, previousPaths, previousParentNodeIds, username, modificationTime, newPaths, toParentNodeIds, alfrescoClient, aspects, properties);
            sendEvent(event);
        }
    }
}
Also used : Path(org.alfresco.service.cmr.repository.Path) Serializable(java.io.Serializable) NodeMovedEvent(org.alfresco.sync.events.types.NodeMovedEvent) NodeRef(org.alfresco.service.cmr.repository.NodeRef) NodeUnFavouritedEvent(org.alfresco.sync.events.types.NodeUnFavouritedEvent) LocalPermissionRevokedEvent(org.alfresco.sync.events.types.permission.LocalPermissionRevokedEvent) RecordRejectedEvent(org.alfresco.sync.events.types.recordsmanagement.RecordRejectedEvent) NodeUnLikedEvent(org.alfresco.sync.events.types.NodeUnLikedEvent) AuthorityRemovedFromGroupEvent(org.alfresco.sync.events.types.authority.AuthorityRemovedFromGroupEvent) NodeContentGetEvent(org.alfresco.sync.events.types.NodeContentGetEvent) LocalPermissionGrantedEvent(org.alfresco.sync.events.types.permission.LocalPermissionGrantedEvent) NodeUnlockedEvent(org.alfresco.sync.events.types.NodeUnlockedEvent) NodeAddedEvent(org.alfresco.sync.events.types.NodeAddedEvent) InheritPermissionsEnabledEvent(org.alfresco.sync.events.types.permission.InheritPermissionsEnabledEvent) NodeContentPutEvent(org.alfresco.sync.events.types.NodeContentPutEvent) AuthorityAddedToGroupEvent(org.alfresco.sync.events.types.authority.AuthorityAddedToGroupEvent) NodeCheckOutCancelledEvent(org.alfresco.sync.events.types.NodeCheckOutCancelledEvent) InheritPermissionsDisabledEvent(org.alfresco.sync.events.types.permission.InheritPermissionsDisabledEvent) NodeCheckedOutEvent(org.alfresco.sync.events.types.NodeCheckedOutEvent) Event(org.alfresco.sync.events.types.Event) NodeMovedEvent(org.alfresco.sync.events.types.NodeMovedEvent) NodeLikedEvent(org.alfresco.sync.events.types.NodeLikedEvent) RecordCreatedEvent(org.alfresco.sync.events.types.recordsmanagement.RecordCreatedEvent) NodeUpdatedEvent(org.alfresco.sync.events.types.NodeUpdatedEvent) NodeCommentedEvent(org.alfresco.sync.events.types.NodeCommentedEvent) NodeRenamedEvent(org.alfresco.sync.events.types.NodeRenamedEvent) NodeUnTaggedEvent(org.alfresco.sync.events.types.NodeUnTaggedEvent) FileClassifiedEvent(org.alfresco.sync.events.types.recordsmanagement.FileClassifiedEvent) NodeLockedEvent(org.alfresco.sync.events.types.NodeLockedEvent) NodeFavouritedEvent(org.alfresco.sync.events.types.NodeFavouritedEvent) GroupDeletedEvent(org.alfresco.sync.events.types.authority.GroupDeletedEvent) NodeRemovedEvent(org.alfresco.sync.events.types.NodeRemovedEvent) NodeCheckedInEvent(org.alfresco.sync.events.types.NodeCheckedInEvent) FileUnclassifiedEvent(org.alfresco.sync.events.types.recordsmanagement.FileUnclassifiedEvent) NodeTaggedEvent(org.alfresco.sync.events.types.NodeTaggedEvent) Collections.singletonList(java.util.Collections.singletonList) Arrays.asList(java.util.Arrays.asList) List(java.util.List) Client(org.alfresco.sync.repo.Client)

Aggregations

Serializable (java.io.Serializable)1 Arrays.asList (java.util.Arrays.asList)1 Collections.singletonList (java.util.Collections.singletonList)1 List (java.util.List)1 NodeRef (org.alfresco.service.cmr.repository.NodeRef)1 Path (org.alfresco.service.cmr.repository.Path)1 Event (org.alfresco.sync.events.types.Event)1 NodeAddedEvent (org.alfresco.sync.events.types.NodeAddedEvent)1 NodeCheckOutCancelledEvent (org.alfresco.sync.events.types.NodeCheckOutCancelledEvent)1 NodeCheckedInEvent (org.alfresco.sync.events.types.NodeCheckedInEvent)1 NodeCheckedOutEvent (org.alfresco.sync.events.types.NodeCheckedOutEvent)1 NodeCommentedEvent (org.alfresco.sync.events.types.NodeCommentedEvent)1 NodeContentGetEvent (org.alfresco.sync.events.types.NodeContentGetEvent)1 NodeContentPutEvent (org.alfresco.sync.events.types.NodeContentPutEvent)1 NodeFavouritedEvent (org.alfresco.sync.events.types.NodeFavouritedEvent)1 NodeLikedEvent (org.alfresco.sync.events.types.NodeLikedEvent)1 NodeLockedEvent (org.alfresco.sync.events.types.NodeLockedEvent)1 NodeMovedEvent (org.alfresco.sync.events.types.NodeMovedEvent)1 NodeRemovedEvent (org.alfresco.sync.events.types.NodeRemovedEvent)1 NodeRenamedEvent (org.alfresco.sync.events.types.NodeRenamedEvent)1