diff --git a/source/java/org/alfresco/opencmis/AlfrescoCmisServiceImpl.java b/source/java/org/alfresco/opencmis/AlfrescoCmisServiceImpl.java index f3ab76eae3..1a3969321d 100644 --- a/source/java/org/alfresco/opencmis/AlfrescoCmisServiceImpl.java +++ b/source/java/org/alfresco/opencmis/AlfrescoCmisServiceImpl.java @@ -1306,9 +1306,9 @@ public class AlfrescoCmisServiceImpl extends AbstractCmisService implements Alfr String sourceId = connector.getSourceIdProperty(properties); CMISNodeInfo sourceInfo = getOrCreateNodeInfo(sourceId, "Source"); - if (!sourceInfo.isVariant(CMISObjectVariant.CURRENT_VERSION) && !sourceInfo.isVariant(CMISObjectVariant.FOLDER) && !sourceInfo.isVariant(CMISObjectVariant.ITEM)) + if (!sourceInfo.isVariant(CMISObjectVariant.CURRENT_VERSION) && !sourceInfo.isVariant(CMISObjectVariant.FOLDER)) { - throw new CmisInvalidArgumentException("Source is not the latest version of a document, a folder or an item object!"); + throw new CmisInvalidArgumentException("Source is not the latest version of a document or a folder object!"); } final NodeRef sourceNodeRef = sourceInfo.getNodeRef(); @@ -1317,10 +1317,10 @@ public class AlfrescoCmisServiceImpl extends AbstractCmisService implements Alfr String targetId = connector.getTargetIdProperty(properties); CMISNodeInfo targetInfo = getOrCreateNodeInfo(targetId, "Target"); - if (!targetInfo.isVariant(CMISObjectVariant.CURRENT_VERSION) && !targetInfo.isVariant(CMISObjectVariant.FOLDER) && !targetInfo.isVariant(CMISObjectVariant.ITEM)) + if (!targetInfo.isVariant(CMISObjectVariant.CURRENT_VERSION) && !targetInfo.isVariant(CMISObjectVariant.FOLDER)) { throw new CmisInvalidArgumentException( - "Target is not the latest version of a document, a folder or an item object!!"); + "Target is not the latest version of a document or a folder object!!"); } final NodeRef targetNodeRef = targetInfo.getNodeRef(); diff --git a/source/test-java/org/alfresco/opencmis/CMISTest.java b/source/test-java/org/alfresco/opencmis/CMISTest.java index 176a3c3537..8a0e697566 100644 --- a/source/test-java/org/alfresco/opencmis/CMISTest.java +++ b/source/test-java/org/alfresco/opencmis/CMISTest.java @@ -1706,110 +1706,6 @@ public class CMISTest }, CmisVersion.CMIS_1_1); } - - /** - * MNT-11339 related test : - * Unable to create relationship between cmis:document and cmis:item - */ - @Test - public void testItemRelations() - { - AuthenticationUtil.pushAuthentication(); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); - - final String TEST_NAME = "testItemRelations-"; - final String FOLDER_NAME = TEST_NAME + "FOLDER" + GUID.generate(); - final String DOCUMENT_NAME = TEST_NAME + "DOCUMENT" + GUID.generate(); - final String CLIENT_NAME = "Some Test Client " + GUID.generate(); - - try - { - transactionService.getRetryingTransactionHelper().doInTransaction( - new RetryingTransactionCallback() - { - @Override - public Void execute() throws Throwable - { - NodeRef companyHomeNodeRef = repositoryHelper.getCompanyHome(); - - /* Create folder within companyHome */ - FileInfo folderInfo = fileFolderService.create(companyHomeNodeRef, FOLDER_NAME, ContentModel.TYPE_FOLDER); - nodeService.setProperty(folderInfo.getNodeRef(), ContentModel.PROP_NAME, FOLDER_NAME); - assertNotNull(folderInfo); - - // and document - FileInfo document = fileFolderService.create(folderInfo.getNodeRef(), DOCUMENT_NAME, ContentModel.TYPE_CONTENT); - assertNotNull(document); - nodeService.setProperty(document.getNodeRef(), ContentModel.PROP_NAME, DOCUMENT_NAME); - - return null; - } - }); - - withCmisService(new CmisServiceCallback() { - @SuppressWarnings("unchecked") - @Override - public String execute(CmisService cmisService) { - List repositories = cmisService.getRepositoryInfos(null); - assertTrue(repositories.size() > 0); - RepositoryInfo repo = repositories.get(0); - String repositoryId = repo.getId(); - - // ensure there are custom type, aspect and association defined - TypeDefinition tpdfn = cmisService.getTypeDefinition(repositoryId, "I:sctst:client", null); - assertNotNull("the I:sctst:client type is not defined", tpdfn); - TypeDefinition aspectDfn = cmisService.getTypeDefinition(repositoryId, "P:sctst:clientRelated", null); - assertNotNull("the P:sctst:clientRelated aspect is not defined", aspectDfn); - TypeDefinition relDfn = cmisService.getTypeDefinition(repositoryId, "R:sctst:relatedClients", null); - assertNotNull("the R:sctst:relatedClients association is not defined", relDfn); - - // create cmis:item within test folder - PropertiesImpl properties = new PropertiesImpl(); - properties.addProperty(new PropertyIdImpl(PropertyIds.OBJECT_TYPE_ID, tpdfn.getId())); - properties.addProperty(new PropertyStringImpl(PropertyIds.NAME, CLIENT_NAME)); - properties.addProperty(new PropertyStringImpl("sctst:clientId", "id" + GUID.generate())); - properties.addProperty(new PropertyStringImpl("sctst:clientName", CLIENT_NAME)); - - ObjectData folderData = cmisService.getObjectByPath(repositoryId, "/" + FOLDER_NAME, null, null, null, null, null, null, null); - - cmisService.createItem(repositoryId, properties, folderData.getId(), null, null, null, null); - - ObjectData contentData = cmisService.getObjectByPath(repositoryId, "/" + FOLDER_NAME + "/" + DOCUMENT_NAME, null, null, null, null, null, null, null); - - // add test aspect sctst:clientRelated to document - Properties props = cmisService.getProperties(repositoryId, contentData.getId(), null, null); - - PropertyData propAspects = props.getProperties().get(PropertyIds.SECONDARY_OBJECT_TYPE_IDS); - - @SuppressWarnings("rawtypes") - List aspects = propAspects.getValues(); - aspects.add("P:sctst:clientRelated"); - - properties = new PropertiesImpl(); - properties.addProperty(new PropertyStringImpl(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, aspects)); - cmisService.updateProperties(repositoryId, new Holder(contentData.getId()), null, properties, null); - // ensure document has sctst:clientRelated aspect applied - aspects = cmisService.getProperties(repositoryId, contentData.getId(), null, null).getProperties().get(PropertyIds.SECONDARY_OBJECT_TYPE_IDS).getValues(); - assertTrue("P:sctst:clientRelated excpected", aspects.contains("P:sctst:clientRelated")); - - ObjectData itemData = cmisService.getObjectByPath(repositoryId, "/" + FOLDER_NAME + "/" + CLIENT_NAME, null, null, null, null, null, null, null); - // create relationship between cmis:document and cmis:item - properties = new PropertiesImpl(); - properties.addProperty(new PropertyIdImpl(PropertyIds.OBJECT_TYPE_ID, "R:sctst:relatedClients")); - properties.addProperty(new PropertyIdImpl(PropertyIds.SOURCE_ID, contentData.getId())); - properties.addProperty(new PropertyIdImpl(PropertyIds.TARGET_ID, itemData.getId())); - cmisService.createRelationship(repositoryId, properties, null, null, null, null); - - return ""; - - }; - }, CmisVersion.CMIS_1_1); - } - finally - { - AuthenticationUtil.popAuthentication(); - } - } @Test public void testMNT10529() throws Exception diff --git a/source/test-resources/opencmis/testcmis_item_model.xml b/source/test-resources/opencmis/testcmis_item_model.xml deleted file mode 100644 index d7e7ab3453..0000000000 --- a/source/test-resources/opencmis/testcmis_item_model.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - Test CMIS Item relations model - SSergey - 1.0 - - - - - - - - - - - - - - - - Someco Test Client - sys:base - - - d:text - - - d:text - - - - - - - - Someco Test Client Related - - - Related Clients - - false - true - - - sctst:client - false - true - - - - - - - diff --git a/source/test-resources/test-cmisinteger_modell-context.xml b/source/test-resources/test-cmisinteger_modell-context.xml index 96048b38a1..3ddd89ada2 100644 --- a/source/test-resources/test-cmisinteger_modell-context.xml +++ b/source/test-resources/test-cmisinteger_modell-context.xml @@ -7,7 +7,6 @@ opencmis/testcmisinteger_model.xml - opencmis/testcmis_item_model.xml tenant/exampleModel.xml