mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merge V3.4 to HEAD
24350: ALF-3584 - SDK missing wss4j dependency 24351: ALF-3584 - Cleaning up SDK list of libs. (I think there may be a limit on the size somewhere) 23343: ALF-3119 - MLText is not fully carried during copy-paste git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@24360 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1204,10 +1204,9 @@
|
|||||||
<ref bean="ADMSearchService" />
|
<ref bean="ADMSearchService" />
|
||||||
</property>
|
</property>
|
||||||
<property name="internalNodeService">
|
<property name="internalNodeService">
|
||||||
<ref bean="nodeService" />
|
<ref bean="mlAwareNodeService" />
|
||||||
</property>
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- CheckOut/CheckIn Service -->
|
<!-- CheckOut/CheckIn Service -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
@@ -773,7 +773,7 @@ public class CopyServiceImpl implements CopyService
|
|||||||
{
|
{
|
||||||
// The first call will fail permissions, so there is no point doing permission checks with
|
// The first call will fail permissions, so there is no point doing permission checks with
|
||||||
// the other calls
|
// the other calls
|
||||||
Map<QName, Serializable> sourceNodeProperties = nodeService.getProperties(sourceNodeRef);
|
Map<QName, Serializable> sourceNodeProperties = internalNodeService.getProperties(sourceNodeRef);
|
||||||
QName sourceNodeTypeQName = internalNodeService.getType(sourceNodeRef);
|
QName sourceNodeTypeQName = internalNodeService.getType(sourceNodeRef);
|
||||||
Set<QName> sourceNodeAspectQNames = internalNodeService.getAspects(sourceNodeRef);
|
Set<QName> sourceNodeAspectQNames = internalNodeService.getAspects(sourceNodeRef);
|
||||||
|
|
||||||
|
@@ -21,6 +21,7 @@ package org.alfresco.repo.copy;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
@@ -48,6 +49,7 @@ import org.alfresco.service.cmr.repository.ContentReader;
|
|||||||
import org.alfresco.service.cmr.repository.ContentService;
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||||
import org.alfresco.service.cmr.repository.CopyService;
|
import org.alfresco.service.cmr.repository.CopyService;
|
||||||
|
import org.alfresco.service.cmr.repository.MLText;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.cmr.repository.StoreRef;
|
import org.alfresco.service.cmr.repository.StoreRef;
|
||||||
@@ -59,9 +61,10 @@ import org.alfresco.service.namespace.QName;
|
|||||||
import org.alfresco.service.namespace.RegexQNamePattern;
|
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||||
import org.alfresco.util.BaseSpringTest;
|
import org.alfresco.util.BaseSpringTest;
|
||||||
import org.alfresco.util.PropertyMap;
|
import org.alfresco.util.PropertyMap;
|
||||||
|
import org.springframework.extensions.surf.util.I18NUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Node operations service unit tests
|
* Unit tests for copy service
|
||||||
*
|
*
|
||||||
* @author Roy Wetherall
|
* @author Roy Wetherall
|
||||||
*/
|
*/
|
||||||
@@ -716,6 +719,61 @@ public class CopyServiceImplTest extends BaseSpringTest
|
|||||||
assertEquals(copyQName, this.nodeService.getPrimaryParent(copy).getQName());
|
assertEquals(copyQName, this.nodeService.getPrimaryParent(copy).getQName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://issues.alfresco.com/jira/browse/ALF-3119
|
||||||
|
*
|
||||||
|
* Test copying of MLText values.
|
||||||
|
*/
|
||||||
|
public void testCopyMLText()
|
||||||
|
{
|
||||||
|
// Create a folder and content node
|
||||||
|
Map<QName, Serializable> propsFolder = new HashMap<QName, Serializable>(1);
|
||||||
|
propsFolder.put(ContentModel.PROP_NAME, "tempFolder");
|
||||||
|
NodeRef folderNode = this.nodeService.createNode(this.rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "tempFolder"), ContentModel.TYPE_FOLDER, propsFolder).getChildRef();
|
||||||
|
|
||||||
|
Map<QName, Serializable> props = new HashMap<QName, Serializable>(1);
|
||||||
|
props.put(ContentModel.PROP_NAME, "myDoc.txt");
|
||||||
|
|
||||||
|
String FRENCH_DESCRIPTION = "french description";
|
||||||
|
String GERMAN_DESCRIPTION = "german description";
|
||||||
|
String ITALY_DESCRIPTION = "italy description";
|
||||||
|
String DEFAULT_DESCRIPTION = "default description";
|
||||||
|
MLText description = new MLText();
|
||||||
|
description.addValue(Locale.getDefault(), DEFAULT_DESCRIPTION);
|
||||||
|
description.addValue(Locale.FRANCE, FRENCH_DESCRIPTION);
|
||||||
|
description.addValue(Locale.GERMAN, GERMAN_DESCRIPTION);
|
||||||
|
description.addValue(Locale.ITALY, ITALY_DESCRIPTION);
|
||||||
|
props.put(ContentModel.PROP_DESCRIPTION, description);
|
||||||
|
|
||||||
|
NodeRef contentNode = this.nodeService.createNode(folderNode, ContentModel.ASSOC_CONTAINS, QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "myDoc.txt"), ContentModel.TYPE_CONTENT, props).getChildRef();
|
||||||
|
|
||||||
|
NodeRef copy = this.copyService.copyAndRename(contentNode, folderNode, ContentModel.ASSOC_CONTAINS, null, false);
|
||||||
|
assertEquals("Copy of myDoc.txt", this.nodeService.getProperty(copy, ContentModel.PROP_NAME));
|
||||||
|
QName copyQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Copy of myDoc.txt");
|
||||||
|
assertEquals(copyQName, this.nodeService.getPrimaryParent(copy).getQName());
|
||||||
|
|
||||||
|
// Test uses DB Node Service.
|
||||||
|
Serializable desc = nodeService.getProperty(copy, ContentModel.PROP_DESCRIPTION);
|
||||||
|
if(desc instanceof MLText)
|
||||||
|
{
|
||||||
|
// Using a node service without a MLProperty interceptor
|
||||||
|
MLText value = (MLText)desc;
|
||||||
|
assertEquals("French description is wrong", FRENCH_DESCRIPTION, value.get(Locale.FRANCE));
|
||||||
|
assertEquals("German description is wrong", GERMAN_DESCRIPTION, value.get(Locale.GERMAN));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
I18NUtil.setLocale(Locale.FRANCE);
|
||||||
|
assertEquals("French description is wrong", FRENCH_DESCRIPTION, nodeService.getProperty(copy, ContentModel.PROP_DESCRIPTION));
|
||||||
|
|
||||||
|
I18NUtil.setLocale(Locale.GERMAN);
|
||||||
|
assertEquals("German description is wrong", GERMAN_DESCRIPTION, nodeService.getProperty(copy, ContentModel.PROP_DESCRIPTION));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check that the copied node contains the state we are expecting
|
* Check that the copied node contains the state we are expecting
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user