use of org.alfresco.sync.repo.Client 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);
}
}
use of org.alfresco.sync.repo.Client in project alfresco-repository by Alfresco.
the class AbstractEventsService method getAlfrescoClient.
protected Client getAlfrescoClient(Client knownClientType) {
// The following is a HACK in order to fix MNT-17302:
//
// "RuleServiceImpl.ExecutedRules" is a resource bond to the transaction by RuleServiceImpl;
// We can use this information to avoid setting "alfrescoClientId" in this case, otherwise its presence
// will cause the filtering-out of the events that are generated as a result of a rule execution;
//
// We should find a better, cleaner solution in the future...
Object noAlfrescoClientIdHint = AlfrescoTransactionSupport.getResource("RuleServiceImpl.ExecutedRules");
if (noAlfrescoClientIdHint != null) {
return null;
}
CallContext context = AlfrescoCmisServiceCall.get();
if (context != null) {
HttpServletRequest request = (HttpServletRequest) context.get(CallContext.HTTP_SERVLET_REQUEST);
if (request != null) {
String alfrescoClientId = (String) request.getHeader("alfrescoClientId");
return new Client(Client.ClientType.cmis, alfrescoClientId);
}
}
return knownClientType;
}
use of org.alfresco.sync.repo.Client in project alfresco-repository by Alfresco.
the class ClientUtilTest method equalsConversion.
private void equalsConversion(FileFilterMode.Client ffSource) {
org.alfresco.sync.repo.Client client = ClientUtil.from(ffSource);
FileFilterMode.Client ffClient = to(client);
assertEquals(ffSource, ffClient);
}
Aggregations