mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merging BRANCHES/DEV/CMIS_10 to HEAD (phase 2 - currently up-to-date with branch):
18717: SAIL-166: Refactor CMIS to use shared services and resolve objectIds and error codes consistently 18731: SAIL-169: CMIS REST versioning compliance 18732: Fix failing change log test. 18768: Add displayName and queryName attributes to rendered properties (in CMIS AtomPub binding). 18775: Fix exception reporting when retrieving items that do not exist (in CMIS AtomPub binding). 18784: Fix CMIS REST change logging 18785: SAIL-174: CMIS Relationship lookup by association ID 18812: SAIL-183: Support orderBy argument for getChildren and getCheckedOutDocs in CMIS REST and Web Service bindings 18823: CMIS WS Bindings were moved to 1.0 cd07 schema. 18838: Update to latest Chemistry TCK. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18847 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -38,6 +38,7 @@ import org.alfresco.cmis.CMISChangeEvent;
|
||||
import org.alfresco.cmis.CMISChangeLog;
|
||||
import org.alfresco.cmis.CMISChangeLogService;
|
||||
import org.alfresco.cmis.CMISChangeType;
|
||||
import org.alfresco.cmis.CMISInvalidArgumentException;
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.service.cmr.audit.AuditQueryParameters;
|
||||
import org.alfresco.service.cmr.audit.AuditService;
|
||||
@@ -68,9 +69,10 @@ public class CMISChangeLogServiceImpl implements CMISChangeLogService
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws CMISInvalidArgumentException
|
||||
* @see org.alfresco.cmis.CMISChangeLogService#getChangeLogEvents(java.lang.String, java.lang.Integer)
|
||||
*/
|
||||
public CMISChangeLog getChangeLogEvents(String changeLogToken, Integer maxItems)
|
||||
public CMISChangeLog getChangeLogEvents(String changeLogToken, Integer maxItems) throws CMISInvalidArgumentException
|
||||
{
|
||||
if (!auditService.isAuditEnabled(cmisAuditApplicationName, ("/" + cmisAuditApplicationName)))
|
||||
{
|
||||
@@ -88,7 +90,15 @@ public class CMISChangeLogServiceImpl implements CMISChangeLogService
|
||||
return super.handleAuditEntry(entryId, user, time, values);
|
||||
}
|
||||
};
|
||||
Long from = changeLogToken != null ? Long.parseLong(changeLogToken) : null;
|
||||
Long from;
|
||||
try
|
||||
{
|
||||
from = changeLogToken != null ? Long.parseLong(changeLogToken) : null;
|
||||
}
|
||||
catch (NumberFormatException e)
|
||||
{
|
||||
throw new CMISInvalidArgumentException("Invalid change log token " + changeLogToken);
|
||||
}
|
||||
AuditQueryParameters params = new AuditQueryParameters();
|
||||
params.setApplicationName(cmisAuditApplicationName);
|
||||
params.setForward(true);
|
||||
@@ -213,6 +223,7 @@ public class CMISChangeLogServiceImpl implements CMISChangeLogService
|
||||
* @param time audit event time
|
||||
* @return list of CMISChangeEvent
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<CMISChangeEvent> convertValuesMapToChangeLogEvents(Map<String, Serializable> values, long time)
|
||||
{
|
||||
List<CMISChangeEvent> result = new ArrayList<CMISChangeEvent>();
|
||||
@@ -224,10 +235,12 @@ public class CMISChangeLogServiceImpl implements CMISChangeLogService
|
||||
{
|
||||
String path = entry.getKey();
|
||||
CMISChangeType changeType = getCMISChangeType(path);
|
||||
NodeRef nodeRef = entry.getValue() instanceof NodeRef ? (NodeRef) entry.getValue() : null;
|
||||
if (changeType != null && nodeRef != null)
|
||||
if (changeType != null && entry.getValue() instanceof Map)
|
||||
{
|
||||
result.add(new CMISChangeEventImpl(changeType, nodeRef, new Date(time)));
|
||||
Map<String, Serializable> valueMap = (Map<String, Serializable>)entry.getValue();
|
||||
result.add(new CMISChangeEventImpl(changeType, new Date(time), (NodeRef) valueMap
|
||||
.get(CMISChangeLogDataExtractor.KEY_NODE_REF), (String) valueMap
|
||||
.get(CMISChangeLogDataExtractor.KEY_OBJECT_ID)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user