mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud)
75557: ACE-2010 - EOL Legacey CMIS Inputs (2) in 5.0. Restored ContentGet and ContentInfo functionality without CMIS related infection. - Revert changes made to CMISTest.java in r75520 merged from V4.2-BUG-FIX which is using original CMIS classes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@77491 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -37,18 +37,11 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.alfresco.cmis.CMISChangeEvent;
|
|
||||||
import org.alfresco.cmis.CMISChangeLog;
|
|
||||||
import org.alfresco.cmis.CMISChangeLogService;
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.opencmis.search.CMISQueryOptions;
|
import org.alfresco.opencmis.search.CMISQueryOptions;
|
||||||
import org.alfresco.opencmis.search.CMISQueryOptions.CMISQueryMode;
|
import org.alfresco.opencmis.search.CMISQueryOptions.CMISQueryMode;
|
||||||
import org.alfresco.repo.action.evaluator.ComparePropertyValueEvaluator;
|
import org.alfresco.repo.action.evaluator.ComparePropertyValueEvaluator;
|
||||||
import org.alfresco.repo.action.executer.AddFeaturesActionExecuter;
|
import org.alfresco.repo.action.executer.AddFeaturesActionExecuter;
|
||||||
import org.alfresco.repo.audit.AuditComponent;
|
|
||||||
import org.alfresco.repo.audit.AuditServiceImpl;
|
|
||||||
import org.alfresco.repo.audit.UserAuditFilter;
|
|
||||||
import org.alfresco.repo.audit.model.AuditModelRegistryImpl;
|
|
||||||
import org.alfresco.repo.content.MimetypeMap;
|
import org.alfresco.repo.content.MimetypeMap;
|
||||||
import org.alfresco.repo.domain.node.NodeDAO;
|
import org.alfresco.repo.domain.node.NodeDAO;
|
||||||
import org.alfresco.repo.model.Repository;
|
import org.alfresco.repo.model.Repository;
|
||||||
@@ -140,8 +133,6 @@ public class CMISTest
|
|||||||
private TaggingService taggingService;
|
private TaggingService taggingService;
|
||||||
private NamespaceService namespaceService;
|
private NamespaceService namespaceService;
|
||||||
private AuthorityService authorityService;
|
private AuthorityService authorityService;
|
||||||
private AuditModelRegistryImpl auditSubsystem;
|
|
||||||
private CMISChangeLogService changeLogService;
|
|
||||||
private PermissionService permissionService;
|
private PermissionService permissionService;
|
||||||
|
|
||||||
private AlfrescoCmisServiceFactory factory;
|
private AlfrescoCmisServiceFactory factory;
|
||||||
@@ -310,8 +301,6 @@ public class CMISTest
|
|||||||
this.cmisConnector = (CMISConnector) ctx.getBean("CMISConnector");
|
this.cmisConnector = (CMISConnector) ctx.getBean("CMISConnector");
|
||||||
this.nodeDAO = (NodeDAO) ctx.getBean("nodeDAO");
|
this.nodeDAO = (NodeDAO) ctx.getBean("nodeDAO");
|
||||||
this.authorityService = (AuthorityService)ctx.getBean("AuthorityService");
|
this.authorityService = (AuthorityService)ctx.getBean("AuthorityService");
|
||||||
this.changeLogService = (CMISChangeLogService) ctx.getBean("CMISChangeLogService");
|
|
||||||
this.auditSubsystem = (AuditModelRegistryImpl) ctx.getBean("Audit");
|
|
||||||
this.permissionService = (PermissionService) ctx.getBean("permissionService");
|
this.permissionService = (PermissionService) ctx.getBean("permissionService");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2159,90 +2148,4 @@ public class CMISTest
|
|||||||
AuthenticationUtil.popAuthentication();
|
AuthenticationUtil.popAuthentication();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* MNT-11726: Test that {@link CMISChangeEvent} contains objectId of node in short form (without StoreRef).
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testCMISChangeLogObjectIds() throws Exception
|
|
||||||
{
|
|
||||||
// setUp audit subsystem
|
|
||||||
setupAudit();
|
|
||||||
|
|
||||||
AuthenticationUtil.pushAuthentication();
|
|
||||||
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName());
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public Void execute() throws Throwable
|
|
||||||
{
|
|
||||||
NodeRef companyHomeNodeRef = repositoryHelper.getCompanyHome();
|
|
||||||
|
|
||||||
String changeToken = changeLogService.getLastChangeLogToken();
|
|
||||||
|
|
||||||
// perform CREATED, UPDATED, SECURITY, DELETED CMIS change type actions
|
|
||||||
String folder = GUID.generate();
|
|
||||||
FileInfo folderInfo = fileFolderService.create(companyHomeNodeRef, folder, ContentModel.TYPE_FOLDER);
|
|
||||||
nodeService.setProperty(folderInfo.getNodeRef(), ContentModel.PROP_NAME, folder);
|
|
||||||
assertNotNull(folderInfo);
|
|
||||||
|
|
||||||
String content = GUID.generate();
|
|
||||||
FileInfo document = fileFolderService.create(folderInfo.getNodeRef(), content, ContentModel.TYPE_CONTENT);
|
|
||||||
assertNotNull(document);
|
|
||||||
nodeService.setProperty(document.getNodeRef(), ContentModel.PROP_NAME, content);
|
|
||||||
|
|
||||||
permissionService.setPermission(document.getNodeRef(), "SomeAuthority", PermissionService.EXECUTE_CONTENT, true);
|
|
||||||
|
|
||||||
fileFolderService.delete(document.getNodeRef());
|
|
||||||
fileFolderService.delete(folderInfo.getNodeRef());
|
|
||||||
|
|
||||||
CMISChangeLog changeLogEvents = changeLogService.getChangeLogEvents(changeToken, 10);
|
|
||||||
// get all recent events
|
|
||||||
for (CMISChangeEvent event : changeLogEvents.getChangeEvents())
|
|
||||||
{
|
|
||||||
String objectId = event.getObjectId();
|
|
||||||
NodeRef nodeRef = event.getChangedNode();
|
|
||||||
|
|
||||||
assertFalse("CMISChangeEvent " + event.getChangeType() + " should store short form of objectId " + objectId,
|
|
||||||
objectId.contains(nodeRef.getStoreRef().toString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
auditSubsystem.destroy();
|
|
||||||
AuthenticationUtil.popAuthentication();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setupAudit()
|
|
||||||
{
|
|
||||||
UserAuditFilter userAuditFilter = new UserAuditFilter();
|
|
||||||
userAuditFilter.setUserFilterPattern("System;.*");
|
|
||||||
userAuditFilter.afterPropertiesSet();
|
|
||||||
AuditComponent auditComponent = (AuditComponent) ctx.getBean("auditComponent");
|
|
||||||
auditComponent.setUserAuditFilter(userAuditFilter);
|
|
||||||
AuditServiceImpl auditServiceImpl = (AuditServiceImpl) ctx.getBean("auditService");
|
|
||||||
auditServiceImpl.setAuditComponent(auditComponent);
|
|
||||||
|
|
||||||
RetryingTransactionCallback<Void> initAudit = new RetryingTransactionCallback<Void>()
|
|
||||||
{
|
|
||||||
public Void execute() throws Exception
|
|
||||||
{
|
|
||||||
auditSubsystem.stop();
|
|
||||||
auditSubsystem.setProperty("audit.enabled", "true");
|
|
||||||
auditSubsystem.setProperty("audit.cmischangelog.enabled", "true");
|
|
||||||
auditSubsystem.start();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
transactionService.getRetryingTransactionHelper().doInTransaction(initAudit, false, true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user