mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
minor CMIS bug fixes and improvements
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30034 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1142,7 +1142,7 @@ public class AlfrescoCmisService extends AbstractCmisService
|
||||
final CMISNodeInfo parentInfo = getOrCreateFolderInfo(folderId, "Folder");
|
||||
|
||||
// get name and type
|
||||
final String name = connector.getNameProperty(properties);
|
||||
final String name = connector.getNameProperty(properties, null);
|
||||
final String objectTypeId = connector.getObjectTypeIdProperty(properties);
|
||||
final TypeDefinitionWrapper type = connector.getTypeForCreate(objectTypeId, BaseTypeId.CMIS_FOLDER);
|
||||
|
||||
@@ -1194,7 +1194,7 @@ public class AlfrescoCmisService extends AbstractCmisService
|
||||
final CMISNodeInfo parentInfo = getOrCreateFolderInfo(folderId, "Parent folder");
|
||||
|
||||
// get name and type
|
||||
final String name = connector.getNameProperty(properties);
|
||||
final String name = connector.getNameProperty(properties, null);
|
||||
final String objectTypeId = connector.getObjectTypeIdProperty(properties);
|
||||
final TypeDefinitionWrapper type = connector.getTypeForCreate(objectTypeId, BaseTypeId.CMIS_DOCUMENT);
|
||||
|
||||
@@ -1288,9 +1288,6 @@ public class AlfrescoCmisService extends AbstractCmisService
|
||||
// get the parent folder node ref
|
||||
final CMISNodeInfo parentInfo = getOrCreateFolderInfo(folderId, "Parent folder");
|
||||
|
||||
// get name and type
|
||||
final String name = connector.getNameProperty(properties);
|
||||
|
||||
// get source
|
||||
CMISNodeInfo info = getOrCreateNodeInfo(sourceId, "Source");
|
||||
|
||||
@@ -1306,6 +1303,9 @@ public class AlfrescoCmisService extends AbstractCmisService
|
||||
throw new CmisConstraintException("Source object is not a document!");
|
||||
}
|
||||
|
||||
// get name and type
|
||||
final String name = connector.getNameProperty(properties, info.getName());
|
||||
|
||||
final TypeDefinitionWrapper type = info.getType();
|
||||
connector.checkChildObjectType(parentInfo, type.getTypeId());
|
||||
|
||||
@@ -2005,7 +2005,9 @@ public class AlfrescoCmisService extends AbstractCmisService
|
||||
try
|
||||
{
|
||||
NodeRef pwcNodeRef = connector.getCheckOutCheckInService().checkout(nodeRef);
|
||||
objectId.setValue(pwcNodeRef.toString());
|
||||
CMISNodeInfo pwcNodeInfo = createNodeInfo(pwcNodeRef);
|
||||
objectId.setValue(pwcNodeInfo.getObjectId());
|
||||
|
||||
if (contentCopied != null)
|
||||
{
|
||||
contentCopied.setValue(connector.getFileFolderService().getReader(pwcNodeRef) != null);
|
||||
|
@@ -2478,12 +2478,18 @@ public class CMISConnector implements ApplicationContextAware, ApplicationListen
|
||||
return ((PropertyId) property).getFirstValue();
|
||||
}
|
||||
|
||||
public String getNameProperty(Properties properties)
|
||||
public String getNameProperty(Properties properties, String fallback)
|
||||
{
|
||||
String name = getStringProperty(properties, PropertyIds.NAME);
|
||||
if ((name == null) || (name.trim().length() == 0))
|
||||
{
|
||||
if (fallback == null)
|
||||
{
|
||||
throw new CmisInvalidArgumentException("Property " + PropertyIds.NAME + " must be set!");
|
||||
} else
|
||||
{
|
||||
name = fallback;
|
||||
}
|
||||
}
|
||||
|
||||
return name;
|
||||
|
Reference in New Issue
Block a user