Merged V4.1-BUG-FIX to HEAD

47745: ALF-18302: Merged V4.0.2 (4.0.2.29) to V4.1-BUG-FIX (4.1.5)
      47498: MNT-317: CIFS: Image document version history lost intermittently after saving content in Preview on Mac Mountain Lion
      - Candidate fix by Dmitry Vaserin
   47753: ALF-12264: Domain-filtering also done with new approach of fetching WorklfowTasks
   47778: Merged DEV to V4.1-BUG-FIX
      ALF-18151: CMIS cannot delete folders that have rules applied
                 - Will throw 'CMISConstraintException' exception only if 'ContentModel.ASSOC_CONTAINS'
                   child association exist for the folder what is deleted.
                 - Added and succesfully executed two unit test for openCMIS and CMIS.
   47794: ALF-18302: Merged DEV to V4.1-BUG-FIX
      47631: MNT-317: CIFS: Image document version history lost intermittently after saving content in Preview on Mac Mountain Lion
      Add class description describing the shuffle on ScenarioRenameDeleteMove.
      Add proper unit test.
   47795: Merged back build fix from HEAD (thanks Neil)
   47803: Merged PATCHES/V4.1.4 to V4.1-BUG-FIX
      47680: Merged DEV to PATCHES/V4.1.4
         47677: ALF-18270 Cannot open properties of model
         In FormUIGet.processFieldConstraints() was added check: (fieldConfig != null && fieldConfig.getConstraintDefinitionMap() != null).
      47738: ALF-18301: Alfresco fails to start up because of NPE error, when debug logging for 'org.alfresco.repo.cache.AbstractAsynchronouslyRefreshedCache' is enabled
      - Fix by Dmitry Velichkevich 
      47754: Merged DEV to PATCHES/V4.1.4
         47751: ALF-17644 : Document version was increased after canceling editing.
         Unnecessary calls for property deletion was removed.
      47767: ALF-18088: Add Implementation-Edition + limit Specification-Version to 3 digits in war MANIFEST files
      47786: Fixed ALF-18137 "It's impossible to create a new item in the data list."
   47804: Merged PATCHES/V4.1.4 to V4.1-BUG-FIX (RECORD ONLY)
      47755: Merged V4.1-BUG-FIX to PATCHES/V4.1.4
         47753: ALF-12264: Domain-filtering also done with new approach of fetching WorklfowTasks


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@47807 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Dave Ward
2013-03-08 14:10:56 +00:00
parent d091101f5c
commit c1d11e0f3a
12 changed files with 943 additions and 86 deletions

View File

@@ -67,7 +67,6 @@ import org.alfresco.query.EmptyPagingResults;
import org.alfresco.query.PagingRequest;
import org.alfresco.query.PagingResults;
import org.alfresco.repo.model.Repository;
import org.alfresco.repo.model.filefolder.HiddenAspect;
import org.alfresco.repo.node.getchildren.GetChildrenCannedQuery;
import org.alfresco.repo.search.QueryParameterDefImpl;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
@@ -92,7 +91,6 @@ import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.ContentService;
import org.alfresco.service.cmr.repository.ContentWriter;
import org.alfresco.service.cmr.repository.InvalidNodeRefException;
import org.alfresco.service.cmr.repository.MimetypeService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.repository.StoreRef;
@@ -160,7 +158,6 @@ public class CMISServicesImpl implements CMISServices, ApplicationContextAware,
private CMISRenditionService cmisRenditionService;
private CheckOutCheckInService checkOutCheckInService;
private VersionService versionService;
private MimetypeService mimetypeService;
private ProcessorLifecycle lifecycle = new ProcessorLifecycle();
// CMIS supported version
@@ -336,33 +333,13 @@ public class CMISServicesImpl implements CMISServices, ApplicationContextAware,
this.versionService = versionService;
}
/**
* Sets the mimetype service.
*
* @param mimetypeService
* the mimetype service
*/
public void setMimetypeService(MimetypeService mimetypeService)
{
this.mimetypeService = mimetypeService;
}
/* (non-Javadoc)
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
*/
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
{
lifecycle.setApplicationContext(applicationContext);
}
public void setHiddenAspect(HiddenAspect hiddenAspect)
{
this.hiddenAspect = hiddenAspect;
}
/* (non-Javadoc)
* @see org.springframework.context.ApplicationListener#onApplicationEvent(org.springframework.context.ApplicationEvent)
*/
@Override
public void onApplicationEvent(ApplicationContextEvent event)
{
lifecycle.onApplicationEvent(event);
@@ -374,43 +351,31 @@ public class CMISServicesImpl implements CMISServices, ApplicationContextAware,
private class ProcessorLifecycle extends AbstractLifecycleBean
{
/* (non-Javadoc)
* @see org.alfresco.util.AbstractLifecycleBean#onBootstrap(org.springframework.context.ApplicationEvent)
*/
@Override
protected void onBootstrap(ApplicationEvent event)
{
init();
}
/* (non-Javadoc)
* @see org.alfresco.util.AbstractLifecycleBean#onShutdown(org.springframework.context.ApplicationEvent)
*/
@Override
protected void onShutdown(ApplicationEvent event)
{
}
}
/* (non-Javadoc)
* @see org.alfresco.repo.tenant.TenantDeployer#onEnableTenant()
*/
@Override
public void onEnableTenant()
{
init();
}
/* (non-Javadoc)
* @see org.alfresco.repo.tenant.TenantDeployer#onDisableTenant()
*/
@Override
public void onDisableTenant()
{
destroy();
}
/* (non-Javadoc)
* @see org.alfresco.repo.tenant.TenantDeployer#init()
*/
@Override
public void init()
{
// initialise data types
@@ -595,18 +560,12 @@ public class CMISServicesImpl implements CMISServices, ApplicationContextAware,
}
}
private HiddenAspect hiddenAspect;
/*
* (non-Javadoc)
* @see org.alfresco.cmis.CMISServices#getChildren(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.cmis.CMISTypesFilterEnum, java.lang.String)
*/
@Override
public NodeRef[] getChildren(NodeRef folderNodeRef, CMISTypesFilterEnum typesFilter, String orderBy)
throws CMISInvalidArgumentException
{
PagingResults<FileInfo> pageOfNodeInfos = getChildren(folderNodeRef, typesFilter, BigInteger.valueOf(Integer.MAX_VALUE), BigInteger.valueOf(0), orderBy);
// List<FileInfo> filteredChildren = hiddenAspect.removeHiddenFiles(Client.cmis, pageOfNodeInfos.getPage());
List<FileInfo> filteredChildren = pageOfNodeInfos.getPage();
int pageCnt = filteredChildren.size();
NodeRef[] result = new NodeRef[pageCnt];
@@ -1663,7 +1622,10 @@ public class CMISServicesImpl implements CMISServices, ApplicationContextAware,
CMISTypeDefinition typeDef = getTypeDefinition(nodeRef);
if (typeDef.getTypeId().getBaseTypeId() == CMISDictionaryModel.FOLDER_TYPE_ID)
{
if (nodeService.getChildAssocs(nodeRef).size() > 0)
if (nodeService.getChildAssocs(
nodeRef,
ContentModel.ASSOC_CONTAINS,
RegexQNamePattern.MATCH_ALL).size() > 0)
{
throw new CMISConstraintException("Could not delete folder with at least one Child");
}