Search in sources :

Example 11 with Event

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

the class EventsServiceImpl method nodeTagged.

@Override
public void nodeTagged(final NodeRef nodeRef, final String tag) {
    NodeInfo nodeInfo = getNodeInfo(nodeRef, NodeTaggedEvent.EVENT_TYPE);
    if (nodeInfo.checkNodeInfo()) {
        String username = AuthenticationUtil.getFullyAuthenticatedUser();
        String networkId = TenantUtil.getCurrentDomain();
        String name = nodeInfo.getName();
        String objectId = nodeInfo.getNodeId();
        String siteId = nodeInfo.getSiteId();
        String txnId = AlfrescoTransactionSupport.getTransactionId();
        List<String> nodePaths = nodeInfo.getPaths();
        List<List<String>> pathNodeIds = nodeInfo.getParentNodeIds();
        long timestamp = System.currentTimeMillis();
        Long modificationTime = nodeInfo.getModificationTimestamp();
        String nodeType = nodeInfo.getType().toPrefixString(namespaceService);
        Set<String> aspects = nodeInfo.getAspectsAsStrings();
        Map<String, Serializable> properties = nodeInfo.getProperties();
        Client alfrescoClient = getAlfrescoClient(nodeInfo.getClient());
        Event event = new NodeTaggedEvent(nextSequenceNumber(), name, txnId, timestamp, networkId, siteId, objectId, nodeType, nodePaths, pathNodeIds, username, modificationTime, tag, alfrescoClient, aspects, properties);
        sendEvent(event);
    }
}
Also used : Serializable(java.io.Serializable) NodeTaggedEvent(org.alfresco.sync.events.types.NodeTaggedEvent) 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)

Example 12 with Event

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

the class EventsServiceImpl method nodeCheckedOut.

public void nodeCheckedOut(NodeRef workingCopyNodeRef) {
    NodeInfo workingCopyNodeInfo = getNodeInfo(workingCopyNodeRef, NodeCheckedOutEvent.EVENT_TYPE);
    if (workingCopyNodeInfo.checkNodeInfo()) {
        String username = AuthenticationUtil.getFullyAuthenticatedUser();
        String networkId = TenantUtil.getCurrentDomain();
        String name = workingCopyNodeInfo.getName();
        String objectId = workingCopyNodeInfo.getNodeId();
        String siteId = workingCopyNodeInfo.getSiteId();
        String txnId = AlfrescoTransactionSupport.getTransactionId();
        List<String> nodePaths = workingCopyNodeInfo.getPaths();
        List<List<String>> pathNodeIds = workingCopyNodeInfo.getParentNodeIds();
        long timestamp = System.currentTimeMillis();
        Long modificationTime = workingCopyNodeInfo.getModificationTimestamp();
        String nodeType = workingCopyNodeInfo.getType().toPrefixString(namespaceService);
        Client alfrescoClient = getAlfrescoClient(workingCopyNodeInfo.getClient());
        String workingCopyNodeId = workingCopyNodeInfo.getNodeId();
        Set<String> aspects = workingCopyNodeInfo.getAspectsAsStrings();
        Map<String, Serializable> properties = workingCopyNodeInfo.getProperties();
        Event event = new NodeCheckedOutEvent(nextSequenceNumber(), workingCopyNodeId, name, txnId, timestamp, networkId, siteId, objectId, nodeType, nodePaths, pathNodeIds, username, modificationTime, alfrescoClient, aspects, properties);
        sendEvent(event);
    }
}
Also used : Serializable(java.io.Serializable) NodeCheckedOutEvent(org.alfresco.sync.events.types.NodeCheckedOutEvent) 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)

Example 13 with Event

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

the class EventsServiceImpl method authorityAddedToGroup.

@Override
public void authorityAddedToGroup(String parentGroup, String childAuthority) {
    if (includeEventType(AuthorityAddedToGroupEvent.EVENT_TYPE)) {
        String username = AuthenticationUtil.getFullyAuthenticatedUser();
        String networkId = TenantUtil.getCurrentDomain();
        String txnId = AlfrescoTransactionSupport.getTransactionId();
        long timestamp = System.currentTimeMillis();
        Client client = getAlfrescoClient(ClientUtil.from(FileFilterMode.getClient()));
        Event event = AuthorityAddedToGroupEvent.builder().parentGroup(parentGroup).authorityName(childAuthority).seqNumber(nextSequenceNumber()).txnId(txnId).networkId(networkId).timestamp(timestamp).username(username).client(client).build();
        sendEvent(event);
    }
}
Also used : 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) Client(org.alfresco.sync.repo.Client)

Example 14 with Event

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

the class AbstractEventsService method afterRollback.

@Override
public void afterRollback() {
    String txnId = AlfrescoTransactionSupport.getTransactionId();
    long timestamp = System.currentTimeMillis();
    String networkId = TenantUtil.getCurrentDomain();
    String username = AuthenticationUtil.getFullyAuthenticatedUser();
    Client alfrescoClient = getAlfrescoClient(null);
    Event event = new TransactionRolledBackEvent(nextSequenceNumber(), txnId, networkId, timestamp, username, alfrescoClient);
    if (logger.isDebugEnabled()) {
        logger.debug("sendEvent " + event);
    }
    try {
        messageProducer.send(event);
    } catch (MessagingException e) {
        // throw new AlfrescoRuntimeException("Failed to send event", e);
        // TODO just log for now. How to deal with no running ActiveMQ?
        logger.error("Failed to send event " + event, e);
    } finally {
        TxnEvents events = (TxnEvents) AlfrescoTransactionSupport.getResource(EVENTS_KEY);
        if (events != null) {
            events.clear();
        }
    }
}
Also used : MessagingException(org.gytheio.messaging.MessagingException) TransactionRolledBackEvent(org.alfresco.sync.events.types.TransactionRolledBackEvent) Event(org.alfresco.sync.events.types.Event) TransactionCommittedEvent(org.alfresco.sync.events.types.TransactionCommittedEvent) Client(org.alfresco.sync.repo.Client) TransactionRolledBackEvent(org.alfresco.sync.events.types.TransactionRolledBackEvent)

Example 15 with Event

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

the class AbstractEventsService method afterCommit.

@Override
public void afterCommit() {
    if (sendEventsBeforeCommit) {
        if (!shouldSendCommitEvent()) {
            return;
        }
        // send txn committed event
        String txnId = AlfrescoTransactionSupport.getTransactionId();
        long timestamp = System.currentTimeMillis();
        String networkId = TenantUtil.getCurrentDomain();
        String username = AuthenticationUtil.getFullyAuthenticatedUser();
        Client alfrescoClient = getAlfrescoClient(null);
        final Event event = new TransactionCommittedEvent(nextSequenceNumber(), txnId, networkId, timestamp, username, alfrescoClient);
        if (logger.isDebugEnabled()) {
            logger.debug("sendEvent " + event);
        }
        // Need to execute this in another read txn because Camel/JMS expects it (the config now seems to
        // require a txn)
        transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>() {

            @Override
            public Void execute() throws Throwable {
                messageProducer.send(event);
                return null;
            }
        }, true, false);
    } else {
        // send all events
        final TxnEvents transactionEvents = (TxnEvents) AlfrescoTransactionSupport.getResource(EVENTS_KEY);
        if (transactionEvents != null) {
            List<Event> filteredEvents = filterEventsBeforeSend(transactionEvents.getEvents());
            updateTransactionEvents(transactionEvents, filteredEvents);
            transactionEvents.sendEvents();
        }
    }
}
Also used : TransactionCommittedEvent(org.alfresco.sync.events.types.TransactionCommittedEvent) TransactionRolledBackEvent(org.alfresco.sync.events.types.TransactionRolledBackEvent) Event(org.alfresco.sync.events.types.Event) TransactionCommittedEvent(org.alfresco.sync.events.types.TransactionCommittedEvent) Client(org.alfresco.sync.repo.Client)

Aggregations

Event (org.alfresco.sync.events.types.Event)39 NodeAddedEvent (org.alfresco.sync.events.types.NodeAddedEvent)27 NodeCheckOutCancelledEvent (org.alfresco.sync.events.types.NodeCheckOutCancelledEvent)27 NodeCheckedInEvent (org.alfresco.sync.events.types.NodeCheckedInEvent)27 NodeCheckedOutEvent (org.alfresco.sync.events.types.NodeCheckedOutEvent)27 NodeCommentedEvent (org.alfresco.sync.events.types.NodeCommentedEvent)27 NodeContentGetEvent (org.alfresco.sync.events.types.NodeContentGetEvent)27 NodeContentPutEvent (org.alfresco.sync.events.types.NodeContentPutEvent)27 NodeFavouritedEvent (org.alfresco.sync.events.types.NodeFavouritedEvent)27 NodeLikedEvent (org.alfresco.sync.events.types.NodeLikedEvent)27 NodeLockedEvent (org.alfresco.sync.events.types.NodeLockedEvent)27 NodeMovedEvent (org.alfresco.sync.events.types.NodeMovedEvent)27 NodeRemovedEvent (org.alfresco.sync.events.types.NodeRemovedEvent)27 NodeRenamedEvent (org.alfresco.sync.events.types.NodeRenamedEvent)27 NodeTaggedEvent (org.alfresco.sync.events.types.NodeTaggedEvent)27 NodeUnFavouritedEvent (org.alfresco.sync.events.types.NodeUnFavouritedEvent)27 NodeUnLikedEvent (org.alfresco.sync.events.types.NodeUnLikedEvent)27 NodeUnTaggedEvent (org.alfresco.sync.events.types.NodeUnTaggedEvent)27 NodeUnlockedEvent (org.alfresco.sync.events.types.NodeUnlockedEvent)27 NodeUpdatedEvent (org.alfresco.sync.events.types.NodeUpdatedEvent)27