OpenCMIS server: performance improvments

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29257 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Florian Mü
2011-07-21 16:43:12 +00:00
parent 2c3c17229b
commit 240f77d3ba
2 changed files with 22 additions and 10 deletions

View File

@@ -2702,7 +2702,7 @@ public class AlfrescoCmisService extends AbstractCmisService
private void checkRepositoryId(String repositoryId)
{
if (!connector.getRepositoryInfo().getId().equals(repositoryId))
if (!connector.getRepositoryId().equals(repositoryId))
{
throw new CmisObjectNotFoundException("Unknown repository '" + repositoryId + "'!");
}

View File

@@ -2876,6 +2876,14 @@ public class CMISConnector implements ApplicationContextAware, ApplicationListen
return createRepositoryInfo();
}
/**
* Returns the repository id.
*/
public String getRepositoryId()
{
return descriptorService.getCurrentRepositoryDescriptor().getId();
}
/**
* Creates the repository info object.
*/
@@ -2884,14 +2892,19 @@ public class CMISConnector implements ApplicationContextAware, ApplicationListen
Descriptor currentDescriptor = descriptorService.getCurrentRepositoryDescriptor();
// get change token
boolean auditEnabled = auditService.isAuditEnabled(CMIS_CHANGELOG_AUDIT_APPLICATION, "/"
+ CMIS_CHANGELOG_AUDIT_APPLICATION);
String latestChangeLogToken = null;
EntryIdCallback auditQueryCallback = new EntryIdCallback(false);
AuditQueryParameters params = new AuditQueryParameters();
params.setApplicationName(CMIS_CHANGELOG_AUDIT_APPLICATION);
params.setForward(false);
auditService.auditQuery(auditQueryCallback, params, 1);
latestChangeLogToken = auditQueryCallback.getEntryId();
if (auditEnabled)
{
EntryIdCallback auditQueryCallback = new EntryIdCallback(false);
AuditQueryParameters params = new AuditQueryParameters();
params.setApplicationName(CMIS_CHANGELOG_AUDIT_APPLICATION);
params.setForward(false);
auditService.auditQuery(auditQueryCallback, params, 1);
latestChangeLogToken = auditQueryCallback.getEntryId();
}
if (repositoryPermissions == null)
{
@@ -2926,8 +2939,7 @@ public class CMISConnector implements ApplicationContextAware, ApplicationListen
repCap.setAllVersionsSearchable(false);
repCap.setCapabilityAcl(CapabilityAcl.MANAGE);
repCap.setCapabilityChanges(auditService.isAuditEnabled(CMIS_CHANGELOG_AUDIT_APPLICATION, "/"
+ CMIS_CHANGELOG_AUDIT_APPLICATION) ? CapabilityChanges.OBJECTIDSONLY : CapabilityChanges.NONE);
repCap.setCapabilityChanges(auditEnabled ? CapabilityChanges.OBJECTIDSONLY : CapabilityChanges.NONE);
repCap.setCapabilityContentStreamUpdates(CapabilityContentStreamUpdates.ANYTIME);
repCap.setCapabilityJoin(CapabilityJoin.NONE);
repCap.setCapabilityQuery(CapabilityQuery.BOTHCOMBINED);