Search in sources :

Example 36 with Event

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

the class EventsServiceImpl method nodeFavourited.

@Override
public void nodeFavourited(NodeRef nodeRef) {
    NodeInfo nodeInfo = getNodeInfo(nodeRef, NodeFavouritedEvent.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 NodeFavouritedEvent(nextSequenceNumber(), name, txnId, timestamp, networkId, siteId, objectId, nodeType, nodePaths, pathNodeIds, username, modificationTime, alfrescoClient, aspects, properties);
        sendEvent(event);
    }
}
Also used : Serializable(java.io.Serializable) NodeFavouritedEvent(org.alfresco.sync.events.types.NodeFavouritedEvent) 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 37 with Event

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

the class EventsServiceImpl method fileClassified.

@Override
public void fileClassified(NodeRef nodeRef) {
    NodeInfo nodeInfo = getNodeInfo(nodeRef, FileClassifiedEvent.EVENT_TYPE);
    if (nodeInfo.checkNodeInfo()) {
        Event event = FileClassifiedEvent.builder().seqNumber(nextSequenceNumber()).name(nodeInfo.getName()).txnId(AlfrescoTransactionSupport.getTransactionId()).timestamp(System.currentTimeMillis()).networkId(TenantUtil.getCurrentDomain()).siteId(nodeInfo.getSiteId()).nodeId(nodeInfo.getNodeId()).nodeType(nodeInfo.getType().toPrefixString(namespaceService)).paths(nodeInfo.getPaths()).parentNodeIds(nodeInfo.getParentNodeIds()).username(AuthenticationUtil.getFullyAuthenticatedUser()).nodeModificationTime(nodeInfo.getModificationTimestamp()).client(getAlfrescoClient(nodeInfo.getClient())).aspects(nodeInfo.getAspectsAsStrings()).nodeProperties(nodeInfo.getProperties()).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)

Example 38 with Event

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

the class EventsServiceImpl method nodeCreated.

@Override
public void nodeCreated(final NodeRef nodeRef) {
    NodeInfo nodeInfo = getNodeInfo(nodeRef, NodeAddedEvent.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);
        Client alfrescoClient = getAlfrescoClient(nodeInfo.getClient());
        Set<String> aspects = nodeInfo.getAspectsAsStrings();
        Map<String, Serializable> properties = nodeInfo.getProperties();
        Event event = new NodeAddedEvent(nextSequenceNumber(), name, txnId, timestamp, networkId, siteId, objectId, nodeType, nodePaths, pathNodeIds, username, modificationTime, alfrescoClient, aspects, properties);
        sendEvent(event);
    }
}
Also used : Serializable(java.io.Serializable) NodeAddedEvent(org.alfresco.sync.events.types.NodeAddedEvent) 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 39 with Event

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

the class QuickShareServiceImpl method shareContent.

@Override
public QuickShareDTO shareContent(NodeRef nodeRef, Date expiryDate) throws QuickShareDisabledException, InvalidNodeRefException {
    checkEnabled();
    // Check the node is the correct type
    final QName typeQName = nodeService.getType(nodeRef);
    if (isSharable(typeQName) == false) {
        throw new InvalidNodeRefException(nodeRef);
    }
    final String sharedId;
    // If it is retura dto built from the existing properties.
    if (!nodeService.getAspects(nodeRef).contains(QuickShareModel.ASPECT_QSHARE)) {
        UUID uuid = UUIDGenerator.getInstance().generateRandomBasedUUID();
        // => 22 chars (eg. q3bEKPeDQvmJYgt4hJxOjw)
        sharedId = Base64.encodeBase64URLSafeString(uuid.toByteArray());
        final Map<QName, Serializable> props = new HashMap<QName, Serializable>(2);
        props.put(QuickShareModel.PROP_QSHARE_SHAREDID, sharedId);
        props.put(QuickShareModel.PROP_QSHARE_SHAREDBY, AuthenticationUtil.getRunAsUser());
        // Disable audit to preserve modifier and modified date
        // see MNT-11960
        behaviourFilter.disableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
        try {
            // consumer/contributor should be able to add "shared" aspect (MNT-10366)
            AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {

                public Void doWork() {
                    nodeService.addAspect(nodeRef, QuickShareModel.ASPECT_QSHARE, props);
                    return null;
                }
            });
        } finally {
            behaviourFilter.enableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
        }
        final NodeRef tenantNodeRef = tenantService.getName(nodeRef);
        TenantUtil.runAsDefaultTenant(new TenantRunAsWork<Void>() {

            public Void doWork() throws Exception {
                attributeService.setAttribute(tenantNodeRef, ATTR_KEY_SHAREDIDS_ROOT, sharedId);
                return null;
            }
        });
        final StringBuffer sb = new StringBuffer();
        sb.append("{").append("\"sharedId\":\"").append(sharedId).append("\"").append("}");
        eventPublisher.publishEvent(new EventPreparator() {

            @Override
            public Event prepareEvent(String user, String networkId, String transactionId) {
                return new ActivityEvent("quickshare", transactionId, networkId, user, nodeRef.getId(), null, typeQName.toString(), Client.asType(ClientType.webclient), sb.toString(), null, null, 0l, null);
            }
        });
        if (logger.isInfoEnabled()) {
            logger.info("QuickShare - shared content: " + sharedId + " [" + nodeRef + "]");
        }
    } else {
        sharedId = (String) nodeService.getProperty(nodeRef, QuickShareModel.PROP_QSHARE_SHAREDID);
        if (logger.isDebugEnabled()) {
            logger.debug("QuickShare - content already shared: " + sharedId + " [" + nodeRef + "]");
        }
    }
    if (expiryDate != null) {
        AuthenticationUtil.runAsSystem((RunAsWork<Void>) () -> {
            // Create and save the expiry action
            saveSharedLinkExpiryAction(sharedId, expiryDate);
            // if we get here, it means the expiry date is validated and the action
            // is created and saved, so now set the expiryDate property.
            behaviourFilter.disableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
            try {
                nodeService.setProperty(nodeRef, QuickShareModel.PROP_QSHARE_EXPIRY_DATE, expiryDate);
            } finally {
                behaviourFilter.enableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
            }
            return null;
        });
    }
    return new QuickShareDTO(sharedId, expiryDate);
}
Also used : Serializable(java.io.Serializable) ActivityEvent(org.alfresco.sync.events.types.ActivityEvent) HashMap(java.util.HashMap) QName(org.alfresco.service.namespace.QName) ClientAppNotFoundException(org.alfresco.repo.client.config.ClientAppNotFoundException) AccessDeniedException(org.alfresco.repo.security.permissions.AccessDeniedException) InvalidSharedIdException(org.alfresco.service.cmr.quickshare.InvalidSharedIdException) InvalidNodeRefException(org.alfresco.service.cmr.repository.InvalidNodeRefException) QuickShareDisabledException(org.alfresco.service.cmr.quickshare.QuickShareDisabledException) NoSuchPersonException(org.alfresco.service.cmr.security.NoSuchPersonException) NodeRef(org.alfresco.service.cmr.repository.NodeRef) EventPreparator(org.alfresco.sync.repo.events.EventPreparator) QuickShareDTO(org.alfresco.service.cmr.quickshare.QuickShareDTO) Event(org.alfresco.sync.events.types.Event) ActivityEvent(org.alfresco.sync.events.types.ActivityEvent) InvalidNodeRefException(org.alfresco.service.cmr.repository.InvalidNodeRefException) UUID(org.safehaus.uuid.UUID)

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