mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged HEAD-BUG-FIX (Cloud33/4.3) to HEAD (Cloud33/4.3)
62905: Merged PLATFORM1 (Cloud33) to HEAD-BUG-FIX (Cloud33/4.3) 61335: ACE-33 implementation of cmis:items add permissions create and delete of cmis:items some unit test fixes new unit test for items git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@62958 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -988,6 +988,9 @@ public class AlfrescoCmisServiceImpl extends AbstractCmisService implements Alfr
|
||||
case CMIS_POLICY:
|
||||
newId = createPolicy(repositoryId, properties, folderId, policies, null, null, extension);
|
||||
break;
|
||||
case CMIS_ITEM:
|
||||
newId = createItem(repositoryId, properties, folderId, policies, null, null, extension);
|
||||
|
||||
}
|
||||
|
||||
// check new object id
|
||||
@@ -1043,6 +1046,44 @@ public class AlfrescoCmisServiceImpl extends AbstractCmisService implements Alfr
|
||||
String objectId = connector.createObjectId(nodeRef);
|
||||
return objectId;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String createItem(String repositoryId, Properties properties, String folderId, List<String> policies,
|
||||
Acl addAces, Acl removeAces, ExtensionsData extension)
|
||||
{
|
||||
checkRepositoryId(repositoryId);
|
||||
|
||||
// get the parent folder node ref
|
||||
final CMISNodeInfo parentInfo = getOrCreateFolderInfo(folderId, "Folder");
|
||||
|
||||
// get name and type
|
||||
final String name = connector.getNameProperty(properties, null);
|
||||
final String objectTypeId = connector.getObjectTypeIdProperty(properties);
|
||||
final TypeDefinitionWrapper type = connector.getTypeForCreate(objectTypeId, BaseTypeId.CMIS_ITEM);
|
||||
|
||||
connector.checkChildObjectType(parentInfo, type.getTypeId());
|
||||
|
||||
/**
|
||||
* The above code specifies a folder - so the contents of a folder (as defined by the alfresco model) are
|
||||
* ASSOC cm:contains to a TYPE sys:base
|
||||
*/
|
||||
QName assocQName = QName.createQName(
|
||||
NamespaceService.CONTENT_MODEL_1_0_URI,
|
||||
QName.createValidLocalName(name));
|
||||
|
||||
ChildAssociationRef newRef = connector.getNodeService().createNode(parentInfo.getNodeRef(), ContentModel.ASSOC_CONTAINS, assocQName, type.getAlfrescoClass());
|
||||
|
||||
NodeRef nodeRef = newRef.getChildRef();
|
||||
|
||||
connector.setProperties(nodeRef, type, properties, new String[] { PropertyIds.NAME, PropertyIds.OBJECT_TYPE_ID });
|
||||
connector.applyPolicies(nodeRef, type, policies);
|
||||
connector.applyACL(nodeRef, type, addAces, removeAces);
|
||||
|
||||
String objectId = connector.createObjectId(nodeRef);
|
||||
return objectId;
|
||||
|
||||
}
|
||||
|
||||
private String parseMimeType(ContentStream contentStream)
|
||||
{
|
||||
|
Reference in New Issue
Block a user