mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-22 15:12:38 +00:00
Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)
108042: Merged 5.0.N (5.0.3) to HEAD-BUG-FIX (5.1/Cloud)
107695: Merged NESS/5.0.N-2015_06_24 (5.0.2) to 5.0.N (5.0.3)
107402: MNT-14275 - fixed the case where a Location with no path was provided when importing using UUID update
- added a test case
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108073 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1605,7 +1605,7 @@ public class ImporterComponent implements ImporterService
|
||||
// uuid already exists
|
||||
String uuid = node.getUUID();
|
||||
NodeRef existingNodeRef = null;
|
||||
if (uuid == null)
|
||||
if (uuid == null && location.getPath() != null ) //need a valid location where to search
|
||||
{
|
||||
NodeRef parentNodeRef = node.getParentContext().getParentRef();
|
||||
|
||||
|
||||
@@ -37,6 +37,8 @@ import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
|
||||
import org.alfresco.service.cmr.version.VersionHistory;
|
||||
import org.alfresco.service.cmr.version.VersionService;
|
||||
import org.alfresco.service.cmr.view.ImporterBinding.UUID_BINDING;
|
||||
import org.alfresco.service.cmr.view.ImporterBinding;
|
||||
import org.alfresco.service.cmr.view.ImporterContentCache;
|
||||
import org.alfresco.service.cmr.view.ImporterService;
|
||||
import org.alfresco.service.cmr.view.Location;
|
||||
import org.alfresco.service.namespace.NamespaceService;
|
||||
@@ -251,5 +253,81 @@ public class ImporterComponentTest extends BaseSpringTest
|
||||
authenticationComponent.setSystemUserAsCurrentUser();
|
||||
System.out.println(NodeStoreInspector.dumpNodeStore(nodeService, bootstrapStoreRef));
|
||||
}
|
||||
|
||||
public void testImportFoldersUuidBindingNullUuidNullLocationPath() throws Exception
|
||||
{
|
||||
Location location = new Location(storeRef);
|
||||
|
||||
InputStream test1 = getClass().getClassLoader().getResourceAsStream("org/alfresco/repo/importer/import_folders.xml");
|
||||
InputStreamReader testReader1 = new InputStreamReader(test1, "UTF-8");
|
||||
try
|
||||
{
|
||||
importerService.importView(testReader1, location, new ImporterBinding()
|
||||
{
|
||||
|
||||
@Override
|
||||
public String getValue(String key)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID_BINDING getUUIDBinding()
|
||||
{
|
||||
return UUID_BINDING.UPDATE_EXISTING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImporterContentCache getImportConentCache()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public QName[] getExcludedClasses()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowReferenceWithinTransaction()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}, new ImportTimerProgress());
|
||||
}
|
||||
finally
|
||||
{
|
||||
testReader1.close();
|
||||
}
|
||||
|
||||
// - root
|
||||
// - Main folder
|
||||
// - sub folder
|
||||
// - sub folder 1
|
||||
// - sub folder 2
|
||||
// - Archive folder
|
||||
|
||||
NodeRef rootNodeRef = nodeService.getRootNode(storeRef);
|
||||
List<ChildAssociationRef> childAssocs = nodeService.getChildAssocs(
|
||||
rootNodeRef,
|
||||
RegexQNamePattern.MATCH_ALL,
|
||||
new RegexQNamePattern(NamespaceService.CONTENT_MODEL_1_0_URI, "main folder"));
|
||||
assertEquals("'main folder' path not found", 1, childAssocs.size());
|
||||
|
||||
NodeRef mainFolderNode = childAssocs.get(0).getChildRef();
|
||||
childAssocs = nodeService.getChildAssocs(mainFolderNode);
|
||||
assertEquals("'sub folder' path not found", 1, childAssocs.size());
|
||||
|
||||
NodeRef subFolderNode = childAssocs.get(0).getChildRef();
|
||||
childAssocs = nodeService.getChildAssocs(subFolderNode);
|
||||
assertEquals("'subsub folder' path not found", 2, childAssocs.size());
|
||||
|
||||
childAssocs = nodeService.getChildAssocs(
|
||||
rootNodeRef,
|
||||
RegexQNamePattern.MATCH_ALL,
|
||||
new RegexQNamePattern(NamespaceService.CONTENT_MODEL_1_0_URI, "ArchiveFolder"));
|
||||
assertEquals("'ArchiveFolder' path not found", 1, childAssocs.size());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
<view:view xmlns:view="http://www.alfresco.org/view/repository/1.0" xmlns:cm="http://www.alfresco.org/model/content/1.0"
|
||||
xmlns:app="http://www.alfresco.org/model/application/1.0" >
|
||||
|
||||
<cm:folder view:childName="cm:main folder">
|
||||
<app:uifacets/>
|
||||
<app:icon>space-icon-default</app:icon>
|
||||
<cm:name>main folder</cm:name>
|
||||
<cm:title>main folder</cm:title>
|
||||
<cm:contains>
|
||||
<cm:folder view:childName="cm:sub folder">
|
||||
<app:uifacets />
|
||||
<app:icon>space-icon-default</app:icon>
|
||||
<cm:name>sub folder</cm:name>
|
||||
<cm:title>sub folder</cm:title>
|
||||
<cm:contains>
|
||||
<cm:folder view:childName="cm:subfolder1">
|
||||
<app:uifacets />
|
||||
<app:icon>space-icon-default</app:icon>
|
||||
<cm:name>sub folder1</cm:name>
|
||||
<cm:title>sub folder1</cm:title>
|
||||
|
||||
</cm:folder>
|
||||
<cm:folder view:childName="cm:subfolder2">
|
||||
<app:uifacets />
|
||||
<app:icon>space-icon-default</app:icon>
|
||||
<cm:name>sub folder2</cm:name>
|
||||
<cm:title>sub folder2</cm:title>
|
||||
|
||||
</cm:folder>
|
||||
|
||||
</cm:contains>
|
||||
</cm:folder>
|
||||
</cm:contains>
|
||||
</cm:folder>
|
||||
|
||||
<cm:folder view:childName="cm:ArchiveFolder">
|
||||
<app:uifacets />
|
||||
<app:icon>space-icon-default</app:icon>
|
||||
<cm:name>ArchiveFolder</cm:name>
|
||||
<cm:title>ArchiveFolder</cm:title>
|
||||
<cm:contains>
|
||||
<cm:folder view:childName="cm:2015">
|
||||
<app:uifacets />
|
||||
<app:icon>space-icon-default</app:icon>
|
||||
<cm:name>2015</cm:name>
|
||||
<cm:title>2015</cm:title>
|
||||
</cm:folder>
|
||||
</cm:contains>
|
||||
</cm:folder>
|
||||
|
||||
</view:view>
|
||||
Reference in New Issue
Block a user