use of org.alfresco.sync.events.types.Event in project alfresco-repository by Alfresco.
the class EventsServiceImpl method nodeCheckedIn.
public void nodeCheckedIn(NodeRef nodeRef) {
NodeInfo nodeInfo = getNodeInfo(nodeRef, NodeCheckedInEvent.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 NodeCheckedInEvent(nextSequenceNumber(), name, txnId, timestamp, networkId, siteId, objectId, nodeType, nodePaths, pathNodeIds, username, modificationTime, alfrescoClient, aspects, properties);
sendEvent(event);
}
}
use of org.alfresco.sync.events.types.Event in project alfresco-repository by Alfresco.
the class EventsServiceImpl method groupDeleted.
@Override
public void groupDeleted(String groupName, boolean cascade) {
if (includeEventType(GroupDeletedEvent.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 = GroupDeletedEvent.builder().authorityName(groupName).cascade(cascade).seqNumber(nextSequenceNumber()).txnId(txnId).networkId(networkId).timestamp(timestamp).username(username).client(client).build();
sendEvent(event);
}
}
use of org.alfresco.sync.events.types.Event in project alfresco-repository by Alfresco.
the class EventsServiceImpl method secondaryAssociationCreated.
@Override
public void secondaryAssociationCreated(final ChildAssociationRef secAssociation) {
NodeInfo nodeInfo = getNodeInfo(secAssociation.getChildRef(), 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();
NodeRef secParentNodeRef = secAssociation.getParentRef();
String secParentNodeName = (String) nodeService.getProperty(secAssociation.getParentRef(), ContentModel.PROP_NAME);
List<Path> secParentPath = nodeService.getPaths(secParentNodeRef, true);
List<String> nodePaths = getPaths(secParentPath, Arrays.asList(secParentNodeName, name));
List<List<String>> pathNodeIds = this.getNodeIds(secParentPath);
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);
}
}
use of org.alfresco.sync.events.types.Event in project alfresco-repository by Alfresco.
the class EventsServiceImpl method recordCreated.
@Override
public void recordCreated(NodeRef nodeRef) {
NodeInfo nodeInfo = getNodeInfo(nodeRef, RecordCreatedEvent.EVENT_TYPE);
if (nodeInfo.checkNodeInfo()) {
// The event should contain the path that points to the original location of the file.
// When a node is declared as a record, a secondary association is created for the original location, hence use just that.
List<Path> allPaths = nodeService.getPaths(nodeRef, false);
Path primaryPath = nodeService.getPath(nodeRef);
if (allPaths.size() >= 2) {
allPaths.remove(primaryPath);
}
List<Path> recordPath = Collections.singletonList(allPaths.get(0));
Event event = RecordCreatedEvent.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(getPaths(recordPath, Arrays.asList(nodeInfo.getName()))).parentNodeIds(this.getNodeIdsFromParent(recordPath)).username(AuthenticationUtil.getFullyAuthenticatedUser()).nodeModificationTime(nodeInfo.getModificationTimestamp()).client(getAlfrescoClient(nodeInfo.getClient())).aspects(nodeInfo.getAspectsAsStrings()).nodeProperties(nodeInfo.getProperties()).build();
sendEvent(event);
}
}
use of org.alfresco.sync.events.types.Event in project alfresco-repository by Alfresco.
the class EventsServiceImpl method contentGet.
@Override
public void contentGet(NodeRef nodeRef) {
NodeInfo nodeInfo = getNodeInfo(nodeRef, NodeContentGetEvent.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 NodeContentGetEvent(nextSequenceNumber(), name, txnId, timestamp, networkId, siteId, objectId, nodeType, nodePaths, pathNodeIds, username, modificationTime, alfrescoClient, aspects, properties);
sendEvent(event);
}
}
Aggregations