Merged CMIS063 to HEAD

16930: MOB-1330: Upgrade Web Services Repository to 0.7

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17243 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2009-10-29 18:40:59 +00:00
parent 93346e262e
commit d6b8ce91a5
203 changed files with 10223 additions and 6060 deletions

View File

@@ -171,13 +171,13 @@ public abstract class AbstractServiceTest extends TestCase
private String getPropertyName(CmisProperty property)
{
String propertyName = (null != property) ? (property.getPdid()) : (null);
String propertyName = (null != property) ? (property.getPropertyDefinitionId()) : (null);
if (null == propertyName)
{
propertyName = property.getLocalname();
propertyName = property.getLocalName();
if (null == propertyName)
{
propertyName = property.getDisplayname();
propertyName = property.getDisplayName();
}
}
return propertyName;
@@ -193,10 +193,9 @@ public abstract class AbstractServiceTest extends TestCase
{
String property = null;
if (response != null && response.getObject() != null)
if (response != null && response.getProperties() != null)
{
CmisObjectType object = response.getObject();
CmisPropertiesType properties = object.getProperties();
CmisPropertiesType properties = response.getProperties();
property = getIdProperty(properties, CMISDictionaryModel.PROP_OBJECT_ID);
}
else
@@ -206,18 +205,40 @@ public abstract class AbstractServiceTest extends TestCase
return property;
}
public void validateResponse(List<CmisObjectType> objects)
protected void validateResponse(List<CmisObjectType> objects)
{
for (CmisObjectType object : objects)
{
CmisPropertiesType properties = object.getProperties();
String name = null;
name = getStringProperty(properties, CMISDictionaryModel.PROP_NAME);
assertNotNull(name);
validateCmisObjectType(object);
}
}
protected void validateCmisObjectType(CmisObjectType object)
{
assertNotNull(object);
assertNotNull(object.getProperties());
assertNotNull(object.getProperties().getProperty());
assertFalse(object.getProperties().getProperty().isEmpty());
CmisPropertiesType properties = object.getProperties();
String name = getStringProperty(properties, CMISDictionaryModel.PROP_NAME);
assertNotNull(name);
}
protected void validateResponse(List<CmisObjectInFolderContainerType> objects, boolean validateChildrent)
{
for (CmisObjectInFolderContainerType object : objects)
{
assertNotNull(object);
assertNotNull(object.getObjectInFolder());
validateCmisObjectType(object.getObjectInFolder().getObject());
if (validateChildrent && (null != object.getChildren()))
{
validateResponse(object.getChildren(), validateChildrent);
}
}
}
public boolean isExistItemWithProperty(List<CmisObjectType> objects, String propertyName, String propertyValue)
{
boolean isFound = false;

View File

@@ -25,8 +25,6 @@
package org.alfresco.repo.cmis.ws;
import java.math.BigInteger;
import java.util.LinkedList;
import java.util.List;
import javax.activation.DataHandler;
import javax.xml.ws.Holder;
@@ -56,20 +54,23 @@ public class CMISCustomTypeTest extends TestCase
private static DiscoveryServicePort discoveryServicePort;
private static NavigationServicePort navigationServicePort;
private static PropertyUtil propertiesUtil;
private ObjectFactory cmisObjectFactory = new ObjectFactory();
@Override
protected void setUp() throws Exception
{
if (null == applicationContext)
{
applicationContext = new ClassPathXmlApplicationContext(new String[] {"classpath:alfresco/application-context.xml", "classpath:alfresco/cmis-ws-context.xml", "classpath:cmis/cmis-test-context.xml"});
applicationContext = new ClassPathXmlApplicationContext(new String[] { "classpath:alfresco/application-context.xml", "classpath:alfresco/cmis-ws-context.xml",
"classpath:cmis/cmis-test-context.xml" });
ServiceRegistry serviceRegistry = (ServiceRegistry) applicationContext.getBean(ServiceRegistry.SERVICE_REGISTRY);
authenticationService = serviceRegistry.getAuthenticationService();
}
authenticationService.authenticate(USERNAME, PASSWORD.toCharArray());
if(null == propertiesUtil) {
if (null == propertiesUtil)
{
propertiesUtil = (PropertyUtil) applicationContext.getBean("propertiesUtils");
}
if (repositoryServicePort == null)
@@ -88,21 +89,25 @@ public class CMISCustomTypeTest extends TestCase
{
discoveryServicePort = (DiscoveryServicePort) applicationContext.getBean("dmDiscoveryService");
}
repositoryId = repositoryId == null ? repositoryServicePort.getRepositories().get(0).getId() : repositoryId;
repositoryId = repositoryId == null ? repositoryServicePort.getRepositories(null).get(0).getRepositoryId() : repositoryId;
if (folderId == null)
{
String rootFolderId = repositoryServicePort.getRepositoryInfo(repositoryId).getRootFolderId();
Holder<List<CmisObjectType>> response = new Holder<List<CmisObjectType>>(new LinkedList<CmisObjectType>());
Holder<Boolean> hasMoreItems = new Holder<Boolean>();
navigationServicePort.getChildren(repositoryId, folderId, "*", false, EnumIncludeRelationships.NONE, false, false, BigInteger.ZERO, BigInteger.ZERO, "", response, hasMoreItems);
String rootFolderId = repositoryServicePort.getRepositoryInfo(repositoryId, null).getRootFolderId();
// TODO: orderBy
// TODO: renditionFilter
CmisObjectInFolderListType response = navigationServicePort.getChildren(repositoryId, folderId, "*", "", false, EnumIncludeRelationships.NONE, "", false,
BigInteger.ZERO, BigInteger.ZERO, null);
assertNotNull(response);
assertNotNull(response.value);
for (CmisObjectType cmisObjectType : response.value)
assertNotNull(response.getObjects());
for (CmisObjectInFolderType cmisObjectType : response.getObjects())
{
CmisPropertyString propertyString = (CmisPropertyString) getCmisProperty(cmisObjectType.getProperties(), "Name");
assertNotNull(cmisObjectType);
assertNotNull(cmisObjectType.getObject());
assertNotNull(cmisObjectType.getObject().getProperties());
CmisPropertyString propertyString = (CmisPropertyString) getCmisProperty(cmisObjectType.getObject().getProperties(), "Name");
if (propertyString != null && propertyString.getValue() != null && propertyString.getValue().size() > 0 && "CMIS Tests".equals(propertyString.getValue().get(0)))
{
folderId = ((CmisPropertyId) getCmisProperty(cmisObjectType.getProperties(), "ObjectId")).getValue().get(0);
folderId = ((CmisPropertyId) getCmisProperty(cmisObjectType.getObject().getProperties(), "ObjectId")).getValue().get(0);
break;
}
}
@@ -125,11 +130,11 @@ public class CMISCustomTypeTest extends TestCase
String folderId1 = createTestFolder(repositoryId, "testCreateCustomFolder" + System.currentTimeMillis(), folderId, true);
assertNotNull(folderId1);
CmisObjectType propertiesObject = objectServicePort.getProperties(repositoryId, folderId1, "*", false, EnumIncludeRelationships.NONE, false);
CmisPropertiesType propertiesObject = objectServicePort.getProperties(repositoryId, folderId1, "*", null);
assertNotNull(propertiesObject);
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesObject.getProperties(), "ObjectTypeId");
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesObject, "ObjectTypeId");
assertTrue(objectTypeId != null && objectTypeId.getValue() != null && objectTypeId.getValue().size() == 1 && "F/cmiscustom_folder".equals(objectTypeId.getValue().get(0)));
CmisPropertyString customProp = (CmisPropertyString) getCmisProperty(propertiesObject.getProperties(), "cmiscustom_folderprop_string");
CmisPropertyString customProp = (CmisPropertyString) getCmisProperty(propertiesObject, "cmiscustom_folderprop_string");
assertTrue(customProp != null && customProp.getValue() != null && customProp.getValue().size() == 1 && "custom string".equals(customProp.getValue().get(0)));
}
@@ -138,16 +143,17 @@ public class CMISCustomTypeTest extends TestCase
String documentId = createTestDocument(repositoryId, "testCreateCustomDocument" + System.currentTimeMillis(), folderId, true);
assertNotNull(documentId);
CmisObjectType propertiesObject = objectServicePort.getProperties(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE, false);
CmisPropertiesType propertiesObject = objectServicePort.getProperties(repositoryId, documentId, "*", null);
assertNotNull(propertiesObject);
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesObject.getProperties(), "ObjectTypeId");
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesObject, "ObjectTypeId");
assertTrue(objectTypeId != null && objectTypeId.getValue() != null && objectTypeId.getValue().size() == 1 && "D/cmiscustom_document".equals(objectTypeId.getValue().get(0)));
CmisPropertyString customProp = (CmisPropertyString) getCmisProperty(propertiesObject.getProperties(), "cmiscustom_docprop_string");
CmisPropertyString customProp = (CmisPropertyString) getCmisProperty(propertiesObject, "cmiscustom_docprop_string");
assertTrue(customProp != null && customProp.getValue() != null && customProp.getValue().size() == 1 && "custom string".equals(customProp.getValue().get(0)));
CmisPropertyBoolean propertyMulti = (CmisPropertyBoolean) getCmisProperty(propertiesObject.getProperties(), "cmiscustom_docprop_boolean_multi");
assertTrue(propertyMulti != null && propertyMulti.getValue() != null && propertyMulti.getValue().size() == 2 && propertyMulti.getValue().get(0) && !propertyMulti.getValue().get(1));
CmisPropertyBoolean propertyMulti = (CmisPropertyBoolean) getCmisProperty(propertiesObject, "cmiscustom_docprop_boolean_multi");
assertTrue(propertyMulti != null && propertyMulti.getValue() != null && propertyMulti.getValue().size() == 2 && propertyMulti.getValue().get(0)
&& !propertyMulti.getValue().get(1));
}
public void testUpdate() throws Exception
@@ -160,42 +166,41 @@ public class CMISCustomTypeTest extends TestCase
String newName = "Updated Title " + System.currentTimeMillis();
String customProp = "custom " + System.currentTimeMillis();
CmisPropertyString cmisPropertyString = new CmisPropertyString();
cmisPropertyString.setPdid("Name");
cmisPropertyString.setPropertyDefinitionId("Name");
cmisPropertyString.getValue().add(newName);
properties.getProperty().add(cmisPropertyString);
cmisPropertyString = new CmisPropertyString();
cmisPropertyString.setPdid("cmiscustom_docprop_string");
cmisPropertyString.setPropertyDefinitionId("cmiscustom_docprop_string");
cmisPropertyString.getValue().add(customProp);
properties.getProperty().add(cmisPropertyString);
CmisPropertyBoolean cmisPropertymulti = new CmisPropertyBoolean();
cmisPropertymulti.setPdid("cmiscustom_docprop_boolean_multi");
cmisPropertymulti.setPropertyDefinitionId("cmiscustom_docprop_boolean_multi");
cmisPropertymulti.getValue().add(false);
cmisPropertymulti.getValue().add(true);
properties.getProperty().add(cmisPropertymulti);
objectServicePort.updateProperties(repositoryId, holder, null, properties);
objectServicePort.updateProperties(repositoryId, holder, null, properties, null);
CmisObjectType propertiesObject = objectServicePort.getProperties(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE, false);
CmisPropertiesType propertiesObject = objectServicePort.getProperties(repositoryId, documentId, "*", null);
assertNotNull(propertiesObject);
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesObject.getProperties(), "ObjectTypeId");
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesObject, "ObjectTypeId");
assertTrue(objectTypeId != null && objectTypeId.getValue() != null && objectTypeId.getValue().size() == 1 && "D/cmiscustom_document".equals(objectTypeId.getValue().get(0)));
CmisPropertyString propertyString = (CmisPropertyString) getCmisProperty(propertiesObject.getProperties(), "Name");
CmisPropertyString propertyString = (CmisPropertyString) getCmisProperty(propertiesObject, "Name");
assertTrue(propertyString != null && propertyString.getValue() != null && propertyString.getValue().size() == 1 && newName.equals(propertyString.getValue().get(0)));
propertyString = (CmisPropertyString) getCmisProperty(propertiesObject.getProperties(), "cmiscustom_docprop_string");
propertyString = (CmisPropertyString) getCmisProperty(propertiesObject, "cmiscustom_docprop_string");
assertTrue(propertyString != null && propertyString.getValue() != null && propertyString.getValue().size() == 1 && customProp.equals(propertyString.getValue().get(0)));
CmisPropertyBoolean propertyMulti = (CmisPropertyBoolean) getCmisProperty(propertiesObject.getProperties(), "cmiscustom_docprop_boolean_multi");
assertTrue(propertyMulti != null && propertyMulti.getValue() != null && propertyMulti.getValue().size() == 2 && !propertyMulti.getValue().get(0) && propertyMulti.getValue().get(1));
CmisPropertyBoolean propertyMulti = (CmisPropertyBoolean) getCmisProperty(propertiesObject, "cmiscustom_docprop_boolean_multi");
assertTrue(propertyMulti != null && propertyMulti.getValue() != null && propertyMulti.getValue().size() == 2 && !propertyMulti.getValue().get(0)
&& propertyMulti.getValue().get(1));
}
public void testDelete() throws Exception
{
String documentId = createTestDocument(repositoryId, "testDeleteCustomDocument" + System.currentTimeMillis(), folderId, true);
assertNotNull(documentId);
assertTrue(isObjectInFolder(repositoryId, documentId, folderId));
objectServicePort.deleteObject(repositoryId, documentId, true);
Holder<CmisExtensionType> extensions = new Holder<CmisExtensionType>();
objectServicePort.deleteObject(repositoryId, documentId, true, extensions);
assertFalse(isObjectInFolder(repositoryId, documentId, folderId));
}
@@ -210,31 +215,32 @@ public class CMISCustomTypeTest extends TestCase
String documentId3 = createTestDocument(repositoryId, "banana1", folderId1, true);
assertNotNull(documentId3);
String query = "SELECT ObjectId, Name, ObjectTypeId, cmiscustom_docprop_string, cmiscustom_docprop_boolean_multi FROM cmiscustom_document " +
"WHERE IN_FOLDER('" + folderId1 + "') " +
"AND cmiscustom_docprop_string = 'custom string' ";
String query = "SELECT ObjectId, Name, ObjectTypeId, cmiscustom_docprop_string, cmiscustom_docprop_boolean_multi FROM cmiscustom_document " + "WHERE IN_FOLDER('"
+ folderId1 + "') " + "AND cmiscustom_docprop_string = 'custom string' ";
Query queryType = new Query();
queryType.setRepositoryId(repositoryId);
queryType.setStatement(query);
queryType.setSkipCount(BigInteger.valueOf(0));
queryType.setMaxItems(BigInteger.valueOf(5));
queryType.setSkipCount(cmisObjectFactory.createQuerySkipCount(BigInteger.valueOf(3)));
queryType.setMaxItems(cmisObjectFactory.createQueryMaxItems(BigInteger.valueOf(5)));
QueryResponse response = discoveryServicePort.query(queryType);
assertNotNull(response);
assertEquals(2, response.getObject().size());
assertNotNull(response.getObjects());
assertNotNull(response.getObjects().getObjects());
assertEquals(2, response.getObjects().getObjects().size());
CmisObjectType objectType1 = null;
CmisObjectType objectType2 = null;
for (int i = 0; i < 2; i++)
{
CmisPropertyId cmisPropertyId = (CmisPropertyId) getCmisProperty(response.getObject().get(i).getProperties(), "ObjectId");
CmisPropertyId cmisPropertyId = (CmisPropertyId) getCmisProperty(response.getObjects().getObjects().get(i).getProperties(), "ObjectId");
if (documentId2.equals(cmisPropertyId.getValue().get(0)))
{
objectType1 = response.getObject().get(i);
objectType1 = response.getObjects().getObjects().get(i);
}
else if (documentId3.equals(cmisPropertyId.getValue().get(0)))
{
objectType2 = response.getObject().get(i);
objectType2 = response.getObjects().getObjects().get(i);
}
}
assertNotNull(objectType1);
@@ -277,14 +283,18 @@ public class CMISCustomTypeTest extends TestCase
private boolean isObjectInFolder(String repositoryId, String objectId, String folderId) throws CmisException
{
Holder<List<CmisObjectType>> response = new Holder<List<CmisObjectType>>(new LinkedList<CmisObjectType>());
Holder<Boolean> hasMoreItems = new Holder<Boolean>();
navigationServicePort.getChildren(repositoryId, folderId, "*", false, EnumIncludeRelationships.NONE, false, false, BigInteger.ZERO, BigInteger.ZERO, "", response, hasMoreItems);
// TODO: orderBy
// TODO: renditionsFilter
CmisObjectInFolderListType response = navigationServicePort.getChildren(repositoryId, folderId, "*", "", false, EnumIncludeRelationships.NONE, "", false, BigInteger.ZERO,
BigInteger.ZERO, null);
assertNotNull(response);
assertNotNull(response.value);
for (CmisObjectType cmisObjectType : response.value)
assertNotNull(response.getObjects());
for (CmisObjectInFolderType cmisObjectType : response.getObjects())
{
CmisPropertyId propertyId = (CmisPropertyId) getCmisProperty(cmisObjectType.getProperties(), "ObjectId");
assertNotNull(cmisObjectType);
assertNotNull(cmisObjectType.getObject());
assertNotNull(cmisObjectType.getObject().getProperties());
CmisPropertyId propertyId = (CmisPropertyId) getCmisProperty(cmisObjectType.getObject().getProperties(), "ObjectId");
if (propertyId != null && propertyId.getValue() != null && propertyId.getValue().size() > 0 && objectId.equals(propertyId.getValue().get(0)))
{
return true;
@@ -297,23 +307,23 @@ public class CMISCustomTypeTest extends TestCase
{
CmisPropertiesType properties = new CmisPropertiesType();
CmisPropertyString cmisPropertyString = new CmisPropertyString();
cmisPropertyString.setPdid("Name");
cmisPropertyString.setPropertyDefinitionId("Name");
cmisPropertyString.getValue().add(name);
properties.getProperty().add(cmisPropertyString);
if (custom)
{
cmisPropertyString = new CmisPropertyString();
cmisPropertyString.setPdid("cmiscustom_docprop_string");
cmisPropertyString.setPropertyDefinitionId("cmiscustom_docprop_string");
cmisPropertyString.getValue().add("custom string");
properties.getProperty().add(cmisPropertyString);
CmisPropertyBoolean cmisPropertyBoolean = new CmisPropertyBoolean();
cmisPropertyBoolean.setPdid("cmiscustom_docprop_boolean_multi");
cmisPropertyBoolean.setPropertyDefinitionId("cmiscustom_docprop_boolean_multi");
cmisPropertyBoolean.getValue().add(true);
cmisPropertyBoolean.getValue().add(false);
properties.getProperty().add(cmisPropertyBoolean);
}
CmisPropertyId idProperty = new CmisPropertyId();
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.getValue().add(custom ? "D/cmiscustom_document" : "document");
properties.getProperty().add(idProperty);
@@ -321,28 +331,33 @@ public class CMISCustomTypeTest extends TestCase
cmisStream.setFilename(name);
cmisStream.setMimeType(MimetypeMap.MIMETYPE_TEXT_PLAIN);
cmisStream.setStream(new DataHandler(name, MimetypeMap.MIMETYPE_TEXT_PLAIN));
return objectServicePort.createDocument(repositoryId, properties, folderId, cmisStream, null, null, null, null);
Holder<CmisExtensionType> extentionHolder = new Holder<CmisExtensionType>();
Holder<String> result = new Holder<String>();
objectServicePort.createDocument(repositoryId, properties, folderId, cmisStream, null, null, null, null, extentionHolder, result);
return result.value;
}
private String createTestFolder(String repositoryId, String name, String folderId, boolean custom) throws CmisException
{
CmisPropertiesType properties = new CmisPropertiesType();
CmisPropertyString cmisPropertyString = new CmisPropertyString();
cmisPropertyString.setPdid("Name");
cmisPropertyString.setPropertyDefinitionId("Name");
cmisPropertyString.getValue().add(name);
properties.getProperty().add(cmisPropertyString);
if (custom)
{
cmisPropertyString = new CmisPropertyString();
cmisPropertyString.setPdid("cmiscustom_folderprop_string");
cmisPropertyString.setPropertyDefinitionId("cmiscustom_folderprop_string");
cmisPropertyString.getValue().add("custom string");
properties.getProperty().add(cmisPropertyString);
}
CmisPropertyId idProperty = new CmisPropertyId();
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.getValue().add(custom ? "F/cmiscustom_folder" : "folder");
properties.getProperty().add(idProperty);
return objectServicePort.createFolder(repositoryId, properties, folderId, null, null, null);
Holder<CmisExtensionType> extensions = new Holder<CmisExtensionType>();
Holder<String> result = new Holder<String>();
objectServicePort.createFolder(repositoryId, properties, folderId, null, null, null, extensions, result);
return result.value;
}
}

View File

@@ -29,7 +29,6 @@ import java.math.BigInteger;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -196,10 +195,10 @@ public class CmisServiceTestHelper extends TestCase
CmisPropertiesType properties = new CmisPropertiesType();
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
cmisProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_NAME);
cmisProperty.getValue().add(name);
CmisPropertyId idProperty = new CmisPropertyId();
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.getValue().add(CMISDictionaryModel.DOCUMENT_TYPE_ID.getId());
propertiesList.add(cmisProperty);
@@ -212,11 +211,13 @@ public class CmisServiceTestHelper extends TestCase
DataHandler dataHandler = new DataHandler(content, MimetypeMap.MIMETYPE_TEXT_PLAIN);
cmisStream.setStream(dataHandler);
Holder<CmisExtensionType> extensions = new Holder<CmisExtensionType>();
Holder<String> idHolder = new Holder<String>();
// public String createDocument(String repositoryId, String typeId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream,
// EnumVersioningState versioningState)
String objectId = objectServicePort.createDocument(repositoryId, properties, parentFolderId, cmisStream, EnumVersioningState.MAJOR, null, null, null);
objectServicePort.createDocument(repositoryId, properties, parentFolderId, cmisStream, EnumVersioningState.MAJOR, null, null, null, extensions, idHolder);
// assertNotNull(objectId);
return objectId;
return idHolder.value;
}
public String createDocument(String name, String parentFolderId, CMISTypeId typeId, EnumVersioningState enumVersioningState) throws Exception
@@ -226,10 +227,10 @@ public class CmisServiceTestHelper extends TestCase
CmisPropertiesType properties = new CmisPropertiesType();
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
cmisProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_NAME);
cmisProperty.getValue().add(name);
CmisPropertyId idProperty = new CmisPropertyId();
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.getValue().add(typeId.getId());
propertiesList.add(cmisProperty);
@@ -242,11 +243,13 @@ public class CmisServiceTestHelper extends TestCase
DataHandler dataHandler = new DataHandler(content, MimetypeMap.MIMETYPE_TEXT_PLAIN);
cmisStream.setStream(dataHandler);
Holder<CmisExtensionType> extensions = new Holder<CmisExtensionType>();
Holder<String> idHolder = new Holder<String>();
// public String createDocument(String repositoryId, String typeId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream,
// EnumVersioningState versioningState)
String objectId = objectServicePort.createDocument(repositoryId, properties, parentFolderId, cmisStream, enumVersioningState, null, null, null);
objectServicePort.createDocument(repositoryId, properties, parentFolderId, cmisStream, enumVersioningState, null, null, null, extensions, idHolder);
// assertNotNull(objectId);
return objectId;
return idHolder.value;
}
public String createDocumentImage(String name, String parentFolderId) throws Exception
@@ -262,20 +265,22 @@ public class CmisServiceTestHelper extends TestCase
CmisPropertiesType properties = new CmisPropertiesType();
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
cmisProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_NAME);
cmisProperty.getValue().add(name + dataSource.getName());
CmisPropertyId idProperty = new CmisPropertyId();
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.getValue().add(CMISDictionaryModel.DOCUMENT_TYPE_ID.getId());
propertiesList.add(cmisProperty);
propertiesList.add(idProperty);
Holder<CmisExtensionType> extensions = new Holder<CmisExtensionType>();
Holder<String> idHolder = new Holder<String>();
// public String createDocument(String repositoryId, String typeId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream,
// EnumVersioningState versioningState)
String objectId = objectServicePort.createDocument(repositoryId, properties, parentFolderId, cmisStream, EnumVersioningState.MAJOR, null, null, null);
objectServicePort.createDocument(repositoryId, properties, parentFolderId, cmisStream, EnumVersioningState.MAJOR, null, null, null, extensions, idHolder);
// assertNotNull(objectId);
return objectId;
return idHolder.value;
}
@@ -291,19 +296,21 @@ public class CmisServiceTestHelper extends TestCase
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
cmisProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_NAME);
cmisProperty.getValue().add(name);
CmisPropertyId idProperty = new CmisPropertyId();
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.getValue().add(CMISDictionaryModel.FOLDER_TYPE_ID.getId());
propertiesList.add(cmisProperty);
propertiesList.add(idProperty);
Holder<CmisExtensionType> extensions = new Holder<CmisExtensionType>();
Holder<String> idHolder = new Holder<String>();
// public String createFolder(String repositoryId, String typeId, CmisPropertiesType properties, String folderId)
String objectId = objectServicePort.createFolder(repositoryId, properties, parentFolderId, null, null, null);
objectServicePort.createFolder(repositoryId, properties, parentFolderId, null, null, null, extensions, idHolder);
// assertNotNull(objectId);
return objectId;
return idHolder.value;
}
public String createFolder(String name, String parentFolderId, CMISTypeId cmisTypeId) throws Exception
@@ -313,58 +320,53 @@ public class CmisServiceTestHelper extends TestCase
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
cmisProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_NAME);
cmisProperty.getValue().add(name);
CmisPropertyId idProperty = new CmisPropertyId();
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.setPropertyDefinitionId(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.getValue().add(cmisTypeId.getId());
propertiesList.add(cmisProperty);
propertiesList.add(idProperty);
Holder<CmisExtensionType> extensions = new Holder<CmisExtensionType>();
Holder<String> idHolder = new Holder<String>();
// public String createFolder(String repositoryId, String typeId, CmisPropertiesType properties, String folderId)
String objectId = objectServicePort.createFolder(repositoryId, properties, parentFolderId, null, null, null);
objectServicePort.createFolder(repositoryId, properties, parentFolderId, null, null, null, extensions, idHolder);
// assertNotNull(objectId);
return objectId;
return idHolder.value;
}
public void deleteDocument(String documentId) throws Exception
{
objectServicePort.deleteObject(repositoryId, documentId, true);
objectServicePort.deleteObject(repositoryId, documentId, true, null);
assertNull("Document has not been deleted", getObjectProperties(documentId));
}
public void deleteFolder(String folderId) throws Exception
{
objectServicePort.deleteTree(repositoryId, folderId, EnumUnfileObject.DELETE, true);
objectServicePort.deleteTree(repositoryId, folderId, true, EnumUnfileObject.DELETE, true, null);
}
public CmisObjectType getObjectProperties(String objectId)
{
CmisObjectType response = null;
try
{
response = objectServicePort.getProperties(repositoryId, objectId, "*", true, EnumIncludeRelationships.BOTH, false);
}
catch (Exception e)
{
}
return response;
return getObjectProperties(objectId, "*");
}
public CmisObjectType getObjectProperties(String objectId, String filter)
{
CmisObjectType response = null;
CmisPropertiesType response = null;
try
{
response = objectServicePort.getProperties(repositoryId, objectId, filter, true, EnumIncludeRelationships.BOTH, false);
response = objectServicePort.getProperties(repositoryId, objectId, filter, null);
}
catch (Exception e)
{
fail(e.getMessage());
}
return response;
CmisObjectType result = new CmisObjectType();
result.setProperties(response);
return result;
}
/**
@@ -379,7 +381,7 @@ public class CmisServiceTestHelper extends TestCase
String rootFolder = null;
try
{
rootFolder = repositoryServicePort.getRepositoryInfo(repositoryId).getRootFolderId();
rootFolder = repositoryServicePort.getRepositoryInfo(repositoryId, null).getRootFolderId();
}
catch (Exception e)
{
@@ -394,16 +396,19 @@ public class CmisServiceTestHelper extends TestCase
PropertyUtil propertiesUtil = new PropertyUtil();
try
{
List<CmisObjectType> response = getChildren(companyHomeId, 0, "*");
for (CmisObjectType object : response)
List<CmisObjectInFolderType> response = getChildren(companyHomeId, 0, "*");
for (CmisObjectInFolderType object : response)
{
if (propertiesUtil.getCmisPropertyValue(object.getProperties(), CMISDictionaryModel.PROP_NAME, null).equals("User Homes"))
assertNotNull(object);
assertNotNull(object.getObject());
assertNotNull(object.getObject().getProperties());
if (propertiesUtil.getCmisPropertyValue(object.getObject().getProperties(), CMISDictionaryModel.PROP_NAME, null).equals("User Homes"))
{
return (String) propertiesUtil.getCmisPropertyValue(object.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID, null);
return (String) propertiesUtil.getCmisPropertyValue(object.getObject().getProperties(), CMISDictionaryModel.PROP_OBJECT_ID, null);
}
}
userHomeFolder = repositoryServicePort.getRepositoryInfo(repositoryId).getRootFolderId();
userHomeFolder = repositoryServicePort.getRepositoryInfo(repositoryId, null).getRootFolderId();
}
catch (Exception e)
{
@@ -413,7 +418,7 @@ public class CmisServiceTestHelper extends TestCase
}
public final static String REPOSITORY_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/RepositoryService?wsdl";
public final static QName REPOSITORY_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "RepositoryService");
public final static QName REPOSITORY_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200908/", "RepositoryService");
protected RepositoryServicePort getRepositoryServicePort()
{
@@ -434,7 +439,7 @@ public class CmisServiceTestHelper extends TestCase
}
public final static String OBJECT_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/ObjectService?wsdl";
public final static QName OBJECT_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "ObjectService");
public final static QName OBJECT_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200908/", "ObjectService");
protected ObjectServicePort getObjectServicePort()
{
@@ -455,7 +460,7 @@ public class CmisServiceTestHelper extends TestCase
}
public final static String VERSIONING_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/VersioningService?wsdl";
public final static QName VERSIONING_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "VersioningService");
public final static QName VERSIONING_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200908/", "VersioningService");
protected VersioningServicePort getVersioningServicePort()
{
@@ -474,7 +479,7 @@ public class CmisServiceTestHelper extends TestCase
}
public final static String MULTIFILING_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/MultiFilingService?wsdl";
public final static QName MULTIFILING_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "MultiFilingService");
public final static QName MULTIFILING_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200908/", "MultiFilingService");
protected MultiFilingServicePort getMultiFilingServicePort()
{
@@ -493,7 +498,7 @@ public class CmisServiceTestHelper extends TestCase
}
public final static String NAVIGATION_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/NavigationService?wsdl";
public final static QName NAVIGATION_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "NavigationService");
public final static QName NAVIGATION_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200908/", "NavigationService");
protected NavigationServicePort getNavigationServicePort()
{
@@ -518,7 +523,7 @@ public class CmisServiceTestHelper extends TestCase
{
try
{
return repositoryServicePort.getRepositories().get(0).getId();
return repositoryServicePort.getRepositories(null).get(0).getRepositoryId();
}
catch (Exception e)
{
@@ -535,7 +540,7 @@ public class CmisServiceTestHelper extends TestCase
contentStream.setMimeType(MimetypeMap.MIMETYPE_TEXT_PLAIN);
DataHandler dataHandler = new DataHandler("Test content string :" + System.currentTimeMillis(), MimetypeMap.MIMETYPE_TEXT_PLAIN);
contentStream.setStream(dataHandler);
versioningServicePort.checkIn(repositoryId, documentId, isMajor, properties, contentStream, checkinComment, null, null, null);
versioningServicePort.checkIn(repositoryId, documentId, isMajor, properties, contentStream, checkinComment, null, null, null, null);
}
catch (Throwable e)
{
@@ -548,7 +553,7 @@ public class CmisServiceTestHelper extends TestCase
{
try
{
versioningServicePort.checkOut(repositoryId, documentId, contentCopied);
versioningServicePort.checkOut(repositoryId, documentId, null, contentCopied);
}
catch (Throwable e)
{
@@ -562,7 +567,7 @@ public class CmisServiceTestHelper extends TestCase
List<CmisObjectType> response = null;
try
{
response = versioningServicePort.getAllVersions(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE);
response = versioningServicePort.getAllVersions(repositoryId, documentId, "*", false, null);
assertNotNull(response);
assertFalse(response.isEmpty());
}
@@ -576,27 +581,38 @@ public class CmisServiceTestHelper extends TestCase
public String createRelationship(String name, String folderId, String documentId) throws Exception
{
String objectId = null;
CmisPropertiesType properties = new CmisPropertiesType();
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
cmisProperty.getValue().add(name);
CmisPropertyId idProperty = new CmisPropertyId();
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
idProperty.getValue().add(CMISDictionaryModel.RELATIONSHIP_TYPE_ID.getId());
propertiesList.add(cmisProperty);
propertiesList.add(idProperty);
propertiesList.add(createCmisPropertyString(CMISDictionaryModel.PROP_NAME, name));
propertiesList.add(createCmisPropertyId(CMISDictionaryModel.PROP_SOURCE_ID, folderId));
propertiesList.add(createCmisPropertyId(CMISDictionaryModel.PROP_TARGET_ID, documentId));
propertiesList.add(createCmisPropertyId(CMISDictionaryModel.PROP_OBJECT_TYPE_ID, CMISDictionaryModel.RELATIONSHIP_TYPE_ID.getId()));
// TODO: it need reimplementation according to valid Relationship type searching
// createRelationship(String repositoryId, String typeId, CmisPropertiesType properties, String sourceObjectId, String targetObjectId)
objectId = objectServicePort.createRelationship(repositoryId, properties, documentId, folderId, null, null, null);
assertNotNull(objectId);
Holder<String> idHolder = new Holder<String>();
objectServicePort.createRelationship(repositoryId, properties, null, null, null, null, idHolder);
assertNotNull(idHolder.value);
return idHolder.value;
}
return objectId;
private CmisProperty createCmisPropertyId(String propertyName, String propertyValue)
{
CmisPropertyId result = new CmisPropertyId();
result.setPropertyDefinitionId(propertyName);
result.setLocalName(propertyName);
result.setDisplayName(propertyName);
result.getValue().add(propertyValue);
return result;
}
private CmisProperty createCmisPropertyString(String propertyName, String propertyValue)
{
CmisPropertyString result = new CmisPropertyString();
result.setPropertyDefinitionId(propertyName);
result.setLocalName(propertyName);
result.setDisplayName(propertyName);
result.getValue().add(propertyValue);
return result;
}
public String updateProperty(String documentId, String propName, String propValue) throws Exception
@@ -606,14 +622,14 @@ public class CmisServiceTestHelper extends TestCase
CmisPropertiesType properties = new CmisPropertiesType();
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setPdid(propName);
cmisProperty.setPropertyDefinitionId(propName);
cmisProperty.getValue().add(propValue);
propertiesList.add(cmisProperty);
Holder<String> documentIdHolder = new Holder<String>(documentId);
Holder<String> changeToken = new Holder<String>("");
// public void updateProperties(String repositoryId, Holder<String> objectId, String changeToken, CmisPropertiesType properties)
objectServicePort.updateProperties(repositoryId, documentIdHolder, changeToken, properties);
objectServicePort.updateProperties(repositoryId, documentIdHolder, changeToken, properties, null);
assertEquals(documentId, documentIdHolder.value);
return documentIdHolder.value;
@@ -623,7 +639,7 @@ public class CmisServiceTestHelper extends TestCase
{
try
{
multiFilingServicePort.addObjectToFolder(repositoryId, documentId, anotherFolderId);
multiFilingServicePort.addObjectToFolder(repositoryId, documentId, anotherFolderId, false, null);
}
catch (Throwable e)
{
@@ -635,7 +651,7 @@ public class CmisServiceTestHelper extends TestCase
{
try
{
multiFilingServicePort.removeObjectFromFolder(repositoryId, documentId, folderId);
multiFilingServicePort.removeObjectFromFolder(repositoryId, documentId, folderId, null);
}
catch (Exception e)
{
@@ -643,12 +659,12 @@ public class CmisServiceTestHelper extends TestCase
}
}
public List<CmisObjectType> getObjectParents(String objectId, String filter) throws Exception
public List<CmisObjectParentsType> getObjectParents(String objectId, String filter) throws Exception
{
List<CmisObjectType> response = null;
List<CmisObjectParentsType> response = null;
try
{
response = navigationServicePort.getObjectParents(repositoryId, objectId, filter);
response = navigationServicePort.getObjectParents(repositoryId, objectId, filter, false, null, null, false, null);
}
catch (Exception e)
{
@@ -657,9 +673,9 @@ public class CmisServiceTestHelper extends TestCase
return response;
}
public List<CmisObjectType> getObjectParents(String objectId) throws Exception
public List<CmisObjectParentsType> getObjectParents(String objectId) throws Exception
{
return navigationServicePort.getObjectParents(repositoryId, objectId, "");
return navigationServicePort.getObjectParents(repositoryId, objectId, "", false, null, null, false, null);
}
public void setTextContentStream(String documentId, String newContent) throws Exception
@@ -674,30 +690,32 @@ public class CmisServiceTestHelper extends TestCase
Holder<String> documentIdHolder = new Holder<String>(documentId);
// public void setContentStream(String repositoryId, Holder<String> documentId, Boolean overwriteFlag, CmisContentStreamType contentStream)
objectServicePort.setContentStream(repositoryId, documentIdHolder, true, "", contentStream);
// TODO: changeToken
objectServicePort.setContentStream(repositoryId, documentIdHolder, true, null, contentStream, null);
}
public CmisContentStreamType getContentStream(String documentId) throws Exception
public CmisContentStreamType getContentStream(String documentId, long offset, long length) throws Exception
{
CmisContentStreamType result = null;
result = objectServicePort.getContentStream(repositoryId, documentId, "");
result = objectServicePort.getContentStream(repositoryId, documentId, "", BigInteger.valueOf(offset), BigInteger.valueOf(length), null);
return result;
}
public List<CmisObjectType> getChildren(String folderId, long maxItems, String filter) throws Exception
public List<CmisObjectInFolderType> getChildren(String folderId, long maxItems, String filter) throws Exception
{
Holder<List<CmisObjectType>> response = new Holder<List<CmisObjectType>>(new LinkedList<CmisObjectType>());
Holder<Boolean> hasMoreItems = new Holder<Boolean>();
CmisObjectInFolderListType response = null;
try
{
navigationServicePort.getChildren(repositoryId, folderId, filter, false, EnumIncludeRelationships.NONE, false, false, BigInteger.valueOf(maxItems), BigInteger.ZERO,
null, response, hasMoreItems);
// TODO: orderBy
// TODO: renditionFilter
response = navigationServicePort.getChildren(repositoryId, folderId, filter, "", false, EnumIncludeRelationships.NONE, "", false, BigInteger.valueOf(maxItems),
BigInteger.ZERO, null);
}
catch (Exception e)
{
fail(e.getMessage());
}
return response.value;
return response.getObjects();
}
}

View File

@@ -24,9 +24,9 @@
*/
package org.alfresco.repo.cmis.ws;
import java.math.BigInteger;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.ws.Holder;
@@ -72,11 +72,12 @@ public class DMDiscoveryServiceTest extends AbstractServiceTest
QueryResponse response = ((DiscoveryServicePort) servicePort).query(request);
assertNotNull(response);
assertNotNull(response.getObject());
assertNotNull(response.getObjects());
assertNotNull(response.getObjects().getObjects());
if (!response.getObject().isEmpty())
if (!response.getObjects().getObjects().isEmpty())
{
for (CmisObjectType object : response.getObject())
for (CmisObjectType object : response.getObjects().getObjects())
{
assertNotNull(object.getProperties());
}
@@ -92,7 +93,11 @@ public class DMDiscoveryServiceTest extends AbstractServiceTest
{
try
{
((DiscoveryServicePort) servicePort).getContentChanges(repositoryId, null, null, null, null, null, new Holder<List<CmisObjectType>>());
Holder<String> changeLogToken = new Holder<String>();
Holder<CmisObjectListType> resultHolder = new Holder<CmisObjectListType>();
// TODO: includeACL
// TODO: includePolicyIds
((DiscoveryServicePort) servicePort).getContentChanges(repositoryId, changeLogToken, false, "", false, false, BigInteger.ZERO, null, resultHolder);
}
catch (CmisException e)
{

View File

@@ -77,11 +77,14 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest
public void testAddObjectToFolder() throws Exception
{
((MultiFilingServicePort) servicePort).addObjectToFolder(repositoryId, documentId, anotherFolderId);
((MultiFilingServicePort) servicePort).addObjectToFolder(repositoryId, documentId, anotherFolderId, false, null);
boolean found = false;
for (CmisObjectType cmisObjectType : helper.getChildren(anotherFolderId, 0, CMISDictionaryModel.PROP_OBJECT_ID))
for (CmisObjectInFolderType cmisObjectType : helper.getChildren(anotherFolderId, 0, CMISDictionaryModel.PROP_OBJECT_ID))
{
if ((found = documentId.equals(getIdProperty(cmisObjectType.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID))))
assertNotNull(cmisObjectType);
assertNotNull(cmisObjectType.getObject());
assertNotNull(cmisObjectType.getObject().getProperties());
if ((found = documentId.equals(getIdProperty(cmisObjectType.getObject().getProperties(), CMISDictionaryModel.PROP_OBJECT_ID))))
{
break;
}
@@ -97,7 +100,7 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest
try
{
// remove object from all folders expects Exception
((MultiFilingServicePort) servicePort).removeObjectFromFolder(repositoryId, documentId, null);
((MultiFilingServicePort) servicePort).removeObjectFromFolder(repositoryId, documentId, null, null);
fail("Expects exception");
}
catch (CmisException e)
@@ -110,7 +113,7 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest
try
{
// remove object from folder where it is not situated expects Exception
((MultiFilingServicePort) servicePort).removeObjectFromFolder(repositoryId, documentId, folderId);
((MultiFilingServicePort) servicePort).removeObjectFromFolder(repositoryId, documentId, folderId, null);
fail("Expected exception");
}
catch (CmisException e)
@@ -121,7 +124,7 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest
try
{
// remove object from last folder expects Exception
((MultiFilingServicePort) servicePort).removeObjectFromFolder(repositoryId, documentId, companyHomeId);
((MultiFilingServicePort) servicePort).removeObjectFromFolder(repositoryId, documentId, companyHomeId, null);
fail("Expected exception");
}
catch (CmisException e)

View File

@@ -34,7 +34,6 @@ import org.alfresco.cmis.CMISDictionaryModel;
/**
* @author Alexander Tsvetkov
*
*/
public class DMNavigationServiceTest extends AbstractServiceTest
@@ -73,14 +72,14 @@ public class DMNavigationServiceTest extends AbstractServiceTest
// check out
Holder<String> documentIdHolder = new Holder<String>(documentId);
Holder<Boolean> contentCopied = new Holder<Boolean>();
helper.versioningServicePort.checkOut(repositoryId, documentIdHolder, contentCopied);
helper.versioningServicePort.checkOut(repositoryId, documentIdHolder, null, contentCopied);
assertTrue(contentCopied.value);
String documentName1 = "Test cmis document (" + System.currentTimeMillis() + ")";
String documentId1 = helper.createDocument(documentName1, folderId);
Holder<String> documentIdHolder1 = new Holder<String>(documentId1);
contentCopied = new Holder<Boolean>();
helper.versioningServicePort.checkOut(repositoryId, documentIdHolder1, contentCopied);
helper.versioningServicePort.checkOut(repositoryId, documentIdHolder1, null, contentCopied);
assertTrue(contentCopied.value);
List<CmisObjectType> result = getCheckedoutDocs(null, 0, 0);
@@ -88,7 +87,7 @@ public class DMNavigationServiceTest extends AbstractServiceTest
if (result == null || result.size() < 2)
{
// check in
helper.versioningServicePort.checkIn(repositoryId, documentIdHolder, null, null, null, null, null, null, null);
helper.versioningServicePort.checkIn(repositoryId, documentIdHolder, false, null, null, null, null, null, null, null);
fail("Not all checkout docs have been found");
}
validateResponse(result);
@@ -98,7 +97,7 @@ public class DMNavigationServiceTest extends AbstractServiceTest
assertTrue(result.size() == 1);
// check in
helper.versioningServicePort.checkIn(repositoryId, documentIdHolder, null, null, null, null, null, null, null);
helper.versioningServicePort.checkIn(repositoryId, documentIdHolder, false, null, null, null, null, null, null, null);
result = getCheckedoutDocs(companyHomeId, 0, 0);
assertFalse("Wrong results", isExistItemWithProperty(result, CMISDictionaryModel.PROP_NAME, documentName));
@@ -142,12 +141,11 @@ public class DMNavigationServiceTest extends AbstractServiceTest
public void testGetDescendants() throws Exception
{
List<CmisObjectType> response = getDescendants(companyHomeId, BigInteger.valueOf(5));
List<CmisObjectInFolderContainerType> response = getDescendants(companyHomeId, BigInteger.valueOf(5));
if ((response != null))
{
validateResponse(response);
validateResponse(response, true);
}
else
{
@@ -162,12 +160,12 @@ public class DMNavigationServiceTest extends AbstractServiceTest
response = getDescendants(folderId1, null);
assertTrue(response.size() == 1);
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(documentName));
assertTrue(getStringProperty(response.get(0).getObjectInFolder().getObject().getProperties(), CMISDictionaryModel.PROP_NAME).equals(documentName));
// test with out option parameters
response = getDescendants(folderId1, BigInteger.TEN);
assertTrue(response.size() == 1);
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(documentName));
assertTrue(getStringProperty(response.get(0).getObjectInFolder().getObject().getProperties(), CMISDictionaryModel.PROP_NAME).equals(documentName));
// TODO: not implemented
// assertNotNull(response.getObject().get(0).getAllowableActions());
@@ -178,12 +176,11 @@ public class DMNavigationServiceTest extends AbstractServiceTest
public void testGetFolderTree() throws Exception
{
List<CmisObjectType> response = getFolderTree(companyHomeId, BigInteger.valueOf(5));
List<CmisObjectInFolderContainerType> response = getFolderTree(companyHomeId, BigInteger.valueOf(5));
if ((response != null))
{
validateResponse(response);
validateResponse(response, false);
}
else
{
@@ -198,7 +195,7 @@ public class DMNavigationServiceTest extends AbstractServiceTest
response = getFolderTree(folderId, null);
assertTrue(response.size() == 1);
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName));
assertTrue(getStringProperty(response.get(0).getObjectInFolder().getObject().getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName));
// TODO: not implemented
// assertNotNull(response.getObject().get(0).getAllowableActions());
@@ -237,11 +234,15 @@ public class DMNavigationServiceTest extends AbstractServiceTest
public void testGetObjectParents() throws Exception
{
List<CmisObjectType> response = helper.getObjectParents(documentId, "*");
List<CmisObjectParentsType> response = helper.getObjectParents(documentId, "*");
if ((response != null))
{
validateResponse(response);
for (CmisObjectParentsType object : response)
{
assertNotNull(object);
validateCmisObjectType(object.getObject());
}
}
else
{
@@ -258,31 +259,30 @@ public class DMNavigationServiceTest extends AbstractServiceTest
response = helper.getObjectParents(documentId1, "*");
assertTrue(response.size() == 1);
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName1));
assertTrue(getStringProperty(response.get(0).getObject().getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName1));
response = helper.getObjectParents(documentId1);
assertTrue(response.size() == 1);
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName1));
assertTrue(getStringProperty(response.get(0).getObject().getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName1));
}
private List<CmisObjectType> getDescendants(String folderId, BigInteger depth) throws Exception
private List<CmisObjectInFolderContainerType> getDescendants(String folderId, BigInteger depth) throws Exception
{
List<CmisObjectType> result = ((NavigationServicePort) servicePort).getDescendants(repositoryId, folderId, depth, "*", null, null, null, null);
List<CmisObjectInFolderContainerType> result = ((NavigationServicePort) servicePort).getDescendants(repositoryId, folderId, depth, "*", false, null, "", false, null);
return result;
}
private List<CmisObjectType> getFolderTree(String folderId, BigInteger depth) throws Exception
private List<CmisObjectInFolderContainerType> getFolderTree(String folderId, BigInteger depth) throws Exception
{
List<CmisObjectType> result = ((NavigationServicePort) servicePort).getFolderTree(repositoryId, folderId, "*", depth, null, null);
List<CmisObjectInFolderContainerType> result = ((NavigationServicePort) servicePort).getFolderTree(repositoryId, folderId, depth, "*", false, null, "", false, null);
return result;
}
private List<CmisObjectType> getChildren(String folderId, int maxItems) throws Exception
{
Holder<List<CmisObjectType>> resultHolder = new Holder<List<CmisObjectType>>();
((NavigationServicePort) servicePort).getChildren(repositoryId, folderId, "*", false, null, null, null, BigInteger.valueOf(maxItems), BigInteger.valueOf(0), null,
resultHolder, new Holder<Boolean>());
((NavigationServicePort) servicePort).getChildren(repositoryId, folderId, "*", "", false, null, "", false, BigInteger.valueOf(maxItems), BigInteger.valueOf(0), null);
return resultHolder.value;
}
@@ -291,7 +291,7 @@ public class DMNavigationServiceTest extends AbstractServiceTest
CmisObjectType response = null;
try
{
response = ((NavigationServicePort) servicePort).getFolderParent(repositoryId, folderId, "*");
response = ((NavigationServicePort) servicePort).getFolderParent(repositoryId, folderId, "*", null);
}
catch (Exception e)
{
@@ -302,15 +302,15 @@ public class DMNavigationServiceTest extends AbstractServiceTest
public CmisObjectType getFolderParent(String folderId) throws Exception
{
CmisObjectType response = ((NavigationServicePort) servicePort).getFolderParent(repositoryId, folderId, "*");
CmisObjectType response = ((NavigationServicePort) servicePort).getFolderParent(repositoryId, folderId, "*", null);
return response;
}
private List<CmisObjectType> getCheckedoutDocs(String folderId, long maxItems, long skipCount) throws Exception
{
Holder<List<CmisObjectType>> resultHolder = new Holder<List<CmisObjectType>>();
((NavigationServicePort) servicePort).getCheckedOutDocs(repositoryId, folderId, "*", null, false, null, BigInteger.valueOf(maxItems), BigInteger.valueOf(skipCount),
resultHolder, new Holder<Boolean>());
return resultHolder.value;
CmisObjectListType result = ((NavigationServicePort) servicePort).getCheckedOutDocs(repositoryId, folderId, "*", null, false, null, "", BigInteger.valueOf(maxItems),
BigInteger.valueOf(skipCount), null);
assertNotNull(result);
return result.getObjects();
}
}

View File

@@ -24,6 +24,7 @@
*/
package org.alfresco.repo.cmis.ws;
import java.math.BigInteger;
import java.util.List;
import javax.activation.DataHandler;
@@ -79,7 +80,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
CmisPropertiesType properties = new CmisPropertiesType();
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setLocalname(CMISDictionaryModel.PROP_NAME);
cmisProperty.setLocalName(CMISDictionaryModel.PROP_NAME);
cmisProperty.getValue().add(documentName);
propertiesList.add(cmisProperty);
@@ -261,7 +262,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
request.setRepositoryId("invalid OID");
try
{
((ObjectServicePort) servicePort).getProperties("invalid OID", "invalid OID", "*", null, null, null);
((ObjectServicePort) servicePort).getProperties("invalid OID", "invalid OID", "*", null);
}
catch (CmisException e)
{
@@ -272,19 +273,19 @@ public class DMObjectServiceTest extends AbstractServiceTest
public void testGetContentStream() throws Exception
{
GetContentStream contStream = new GetContentStream();
contStream.setDocumentId(documentId);
contStream.setObjectId(documentId);
contStream.setRepositoryId(repositoryId);
CmisContentStreamType result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId, null);
CmisContentStreamType result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId, null, BigInteger.ZERO, BigInteger.ZERO, null);
if (result.getLength().intValue() == 0)
{
fail();
}
try
{
contStream.setDocumentId(documentId + "s");
contStream.setObjectId(documentId + "s");
{
result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId, null);
result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId, null, BigInteger.ZERO, BigInteger.ZERO, null);
}
}
catch (Throwable e)
@@ -300,7 +301,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
helper.checkOut(documentIdHolder, contentCopied);
result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentIdHolder.value, null);
result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentIdHolder.value, null, BigInteger.ZERO, BigInteger.ZERO, null);
if (result.getLength().intValue() == 0)
{
fail();
@@ -336,14 +337,14 @@ public class DMObjectServiceTest extends AbstractServiceTest
public void testDeleteContentStream() throws Exception
{
// public void deleteContentStream(String repositoryId, String documentId)
((ObjectServicePort) servicePort).deleteContentStream(repositoryId, new Holder<String>(documentId), null);
((ObjectServicePort) servicePort).deleteContentStream(repositoryId, new Holder<String>(documentId), null, null);
try
{
String filter = cmisObjectFactory.createGetPropertiesOfLatestVersionFilter("*").getValue();
CmisObjectType object = helper.versioningServicePort.getPropertiesOfLatestVersion(repositoryId, documentId, false, filter, null);
documentId = getIdProperty(object.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID);
((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId, null);
CmisPropertiesType object = helper.getVersioningServicePort().getPropertiesOfLatestVersion(repositoryId, documentId, false, filter, null);
documentId = getIdProperty(object, CMISDictionaryModel.PROP_OBJECT_ID);
((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId, null, BigInteger.ZERO, BigInteger.ZERO, null);
fail("Content stream was not deleted");
}
catch (Exception e)
@@ -361,7 +362,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
public void testDeleteObject() throws Exception
{
// public void deleteObject(String repositoryId, String objectId)
((ObjectServicePort) servicePort).deleteObject(repositoryId, documentId, Boolean.TRUE);
((ObjectServicePort) servicePort).deleteObject(repositoryId, documentId, true, null);
assertNull(helper.getObjectProperties(documentId));
}
@@ -377,7 +378,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
// Try to delete folder with child
try
{
((ObjectServicePort) servicePort).deleteObject(repositoryId, folderId, Boolean.TRUE);
((ObjectServicePort) servicePort).deleteObject(repositoryId, folderId, true, null);
fail("Try to delere folder with child");
}
catch (CmisException e)
@@ -388,7 +389,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
// Try to delete root folder
try
{
((ObjectServicePort) servicePort).deleteObject(repositoryId, helper.getCompanyHomeId(repositoryId), Boolean.TRUE);
((ObjectServicePort) servicePort).deleteObject(repositoryId, helper.getCompanyHomeId(repositoryId), true, null);
fail("Try to delere root folder");
}
catch (CmisException e)
@@ -415,8 +416,8 @@ public class DMObjectServiceTest extends AbstractServiceTest
documentId2 = helper.createDocument(documentName, folderId2);
// public FailedToDelete deleteTree(String repositoryId, String folderId, EnumUnfileNonfolderObjects unfileNonfolderObjects, Boolean continueOnFailure)
DeleteTreeResponse.FailedToDelete response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId1, EnumUnfileObject.DELETE, true);
assertTrue("All objects should be deleted", response.getObjectId().size() == 0);
DeleteTreeResponse.FailedToDelete response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId1, true, EnumUnfileObject.DELETE, true, null);
assertTrue("All objects should be deleted", response.getObjectIds().size() == 0);
assertNull("DELETE", helper.getObjectProperties(folderId1));
assertNull("DELETE", helper.getObjectProperties(folderId2));
@@ -432,9 +433,9 @@ public class DMObjectServiceTest extends AbstractServiceTest
documentName = "Test cmis document (" + System.currentTimeMillis() + ")";
documentId2 = helper.createDocument(documentName, folderId2);
response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId1, EnumUnfileObject.DELETESINGLEFILED, true);
response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId1, true, EnumUnfileObject.DELETESINGLEFILED, true, null);
// assertNotNull("DELETESINGLEFILED", response);
assertTrue("All objects should not be deleted", response.getObjectId().size() != 0);
assertTrue("All objects should not be deleted", response.getObjectIds().size() != 0);
assertNotNull("DELETESINGLEFILED", helper.getObjectProperties(folderId1));
assertNotNull("DELETESINGLEFILED", helper.getObjectProperties(folderId2));
assertNotNull("DELETESINGLEFILED", helper.getObjectProperties(documentId2));
@@ -460,8 +461,8 @@ public class DMObjectServiceTest extends AbstractServiceTest
try
{
@SuppressWarnings("unused")
DeleteTreeResponse.FailedToDelete response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, helper.getCompanyHomeId(repositoryId), EnumUnfileObject.DELETE,
true);
DeleteTreeResponse.FailedToDelete response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, helper.getCompanyHomeId(repositoryId), true,
EnumUnfileObject.DELETE, true, null);
fail("Try to delere root folder");
}
catch (CmisException e)
@@ -475,12 +476,12 @@ public class DMObjectServiceTest extends AbstractServiceTest
{
CmisAllowableActionsType response;
// CmisAllowableActionsType getAllowableActions(String repositoryId, String objectId)
response = ((ObjectServicePort) servicePort).getAllowableActions(repositoryId, documentId);
response = ((ObjectServicePort) servicePort).getAllowableActions(repositoryId, documentId, null);
assertNotNull(response);
assertTrue(response.canGetProperties);
assertTrue(response.canCheckOut);
response = ((ObjectServicePort) servicePort).getAllowableActions(repositoryId, folderId);
response = ((ObjectServicePort) servicePort).getAllowableActions(repositoryId, folderId, null);
assertNotNull(response);
assertTrue(response.canGetProperties);
assertNull(response.canCheckOut);
@@ -489,7 +490,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
public void testMoveObject() throws Exception
{
// public void moveObject(String repositoryId, String objectId, String targetFolderId, String sourceFolderId)
((ObjectServicePort) servicePort).moveObject(repositoryId, new Holder<String>(documentId), folderId, companyHomeId);
((ObjectServicePort) servicePort).moveObject(repositoryId, new Holder<String>(documentId), folderId, companyHomeId, null);
CmisObjectType response = helper.getObjectProperties(documentId);
assertObjectPropertiesNotNull(response);
@@ -497,11 +498,13 @@ public class DMObjectServiceTest extends AbstractServiceTest
assertNotNull(response);
assertNotNull(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_NAME));
List<CmisObjectType> parentsResponse = helper.getObjectParents(documentId, "*");
List<CmisObjectParentsType> parentsResponse = helper.getObjectParents(documentId, "*");
assertNotNull(parentsResponse);
assertNotNull(parentsResponse.get(0));
assertNotNull(parentsResponse.get(0).getObject());
assertNotNull(parentsResponse.get(0).getObject().getProperties());
assertTrue(parentsResponse.size() == 1);
assertTrue(getStringProperty(parentsResponse.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName));
assertTrue(getStringProperty(parentsResponse.get(0).getObject().getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName));
}
// The moveObject() method must throw InvalidArgumentException for null SourceFolderId only if specified Object (Folder or Document) has SEVERAL parents.
@@ -515,7 +518,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
try
{
((ObjectServicePort) servicePort).moveObject(repositoryId, new Holder<String>(documentId), folderId, null);
((ObjectServicePort) servicePort).moveObject(repositoryId, new Holder<String>(documentId), folderId, null, null);
fail("sourceFolderId is not specified - should throw InvalidArgumentException");
}
catch (CmisException e)
@@ -541,9 +544,9 @@ public class DMObjectServiceTest extends AbstractServiceTest
Holder<String> documentIdHolder = new Holder<String>(documentId);
// public void setContentStream(String repositoryId, Holder<String> documentId, Boolean overwriteFlag, CmisContentStreamType contentStream)
((ObjectServicePort) servicePort).setContentStream(repositoryId, documentIdHolder, true, null, contentStream);
((ObjectServicePort) servicePort).setContentStream(repositoryId, documentIdHolder, true, null, contentStream, null);
CmisContentStreamType result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentIdHolder.value, null);
CmisContentStreamType result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentIdHolder.value, null, BigInteger.ZERO, BigInteger.ZERO, null);
if (result.getLength().intValue() == 0)
{
fail("Content Stream is empty");
@@ -580,7 +583,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
try
{
// public void setContentStream(String repositoryId, Holder<String> documentId, Boolean overwriteFlag, CmisContentStreamType contentStream)
((ObjectServicePort) servicePort).setContentStream(repositoryId, holder, false, null, contentStream);
((ObjectServicePort) servicePort).setContentStream(repositoryId, holder, false, null, contentStream, null);
fail("ContentAlreadyExists should be thrown");
}
catch (CmisException e)
@@ -594,7 +597,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
try
{
// public void setContentStream(String repositoryId, Holder<String> documentId, Boolean overwriteFlag, CmisContentStreamType contentStream)
((ObjectServicePort) servicePort).setContentStream(repositoryId, holder, true, null, null);
((ObjectServicePort) servicePort).setContentStream(repositoryId, holder, true, null, null, null);
fail("'storage' Exception should be thrown");
}
catch (CmisException e)
@@ -605,23 +608,23 @@ public class DMObjectServiceTest extends AbstractServiceTest
public void testFolderByPathReceiving() throws Exception
{
CmisObjectType actualObject = ((ObjectServicePort) servicePort).getProperties(repositoryId, folderId, CMISDictionaryModel.PROP_NAME, false, EnumIncludeRelationships.NONE,
false);
CmisPropertiesType actualObject = ((ObjectServicePort) servicePort).getProperties(repositoryId, folderId, CMISDictionaryModel.PROP_NAME, null);
assertPropertiesObject(actualObject);
String nameProperty = getStringProperty(actualObject.getProperties(), CMISDictionaryModel.PROP_NAME);
String nameProperty = getStringProperty(actualObject, CMISDictionaryModel.PROP_NAME);
assertNotNull(nameProperty);
assertNotSame("", nameProperty);
CmisObjectType response = ((ObjectServicePort) servicePort).getFolderByPath(repositoryId, ("/" + nameProperty), "*", false, EnumIncludeRelationships.NONE, false);
assertPropertiesObject(response);
CmisObjectType response = ((ObjectServicePort) servicePort).getObjectByPath(repositoryId, ("/" + nameProperty), "*", false, EnumIncludeRelationships.NONE, "", false,
false, null);
assertNotNull(response);
assertPropertiesObject(response.getProperties());
assertEquals(nameProperty, getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_NAME));
}
private void assertPropertiesObject(CmisObjectType actualObject)
private void assertPropertiesObject(CmisPropertiesType actualObject)
{
assertNotNull(actualObject);
assertNotNull(actualObject.getProperties());
assertNotNull(actualObject.getProperties().getProperty());
assertFalse(actualObject.getProperties().getProperty().isEmpty());
assertNotNull(actualObject.getProperty());
assertFalse(actualObject.getProperty().isEmpty());
}
public void testUpdateProperties() throws Exception
@@ -633,13 +636,13 @@ public class DMObjectServiceTest extends AbstractServiceTest
CmisPropertiesType properties = new CmisPropertiesType();
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setLocalname(CMISDictionaryModel.PROP_NAME);
cmisProperty.setLocalName(CMISDictionaryModel.PROP_NAME);
cmisProperty.getValue().add(newName);
propertiesList.add(cmisProperty);
// public void updateProperties(String repositoryId, Holder<String> objectId, String changeToken, CmisPropertiesType properties)
Holder<String> changeToken = new Holder<String>();
((ObjectServicePort) servicePort).updateProperties(repositoryId, new Holder<String>(documentId), changeToken, properties);
((ObjectServicePort) servicePort).updateProperties(repositoryId, new Holder<String>(documentId), changeToken, properties, null);
@SuppressWarnings("unused")
CmisObjectType response = helper.getObjectProperties(documentId);
@@ -656,7 +659,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
properties = new CmisPropertiesType();
List<CmisProperty> propertiesList = properties.getProperty();
CmisPropertyString cmisProperty = new CmisPropertyString();
cmisProperty.setLocalname(CMISDictionaryModel.PROP_OBJECT_ID);
cmisProperty.setLocalName(CMISDictionaryModel.PROP_OBJECT_ID);
cmisProperty.getValue().add("new id value");
propertiesList.add(cmisProperty);
try
@@ -664,13 +667,13 @@ public class DMObjectServiceTest extends AbstractServiceTest
Holder<String> holder = new Holder<String>(documentId);
// public void updateProperties(String repositoryId, Holder<String> objectId, String changeToken, CmisPropertiesType properties)
Holder<String> changeToken = new Holder<String>();
((ObjectServicePort) servicePort).updateProperties(repositoryId, holder, changeToken, properties);
((ObjectServicePort) servicePort).updateProperties(repositoryId, holder, changeToken, properties, null);
documentId = holder.value;
GetProperties getProperties = new GetProperties();
getProperties.setRepositoryId(repositoryId);
getProperties.setObjectId(holder.value);
CmisObjectType object = ((ObjectServicePort) servicePort).getProperties(repositoryId, holder.value, null, null, null, null);
String documentIdAfterUpdate = getIdProperty(object.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID);
CmisPropertiesType object = ((ObjectServicePort) servicePort).getProperties(repositoryId, holder.value, null, null);
String documentIdAfterUpdate = getIdProperty(object, CMISDictionaryModel.PROP_OBJECT_ID);
assertTrue("should not update read only propery", !"new id value".equals(documentIdAfterUpdate) && documentId.equals(documentIdAfterUpdate));
}
catch (CmisException e)

View File

@@ -69,7 +69,7 @@ public class DMPolicyServiceTest extends AbstractServiceTest
{
try
{
((PolicyServicePort) servicePort).applyPolicy(repositoryId, "policyId", documentId);
((PolicyServicePort) servicePort).applyPolicy(repositoryId, "policyId", documentId, null);
}
catch (CmisException e)
{
@@ -82,7 +82,7 @@ public class DMPolicyServiceTest extends AbstractServiceTest
try
{
@SuppressWarnings("unused")
List<CmisObjectType> response = ((PolicyServicePort) servicePort).getAppliedPolicies(repositoryId, documentId, "");
List<CmisObjectType> response = ((PolicyServicePort) servicePort).getAppliedPolicies(repositoryId, documentId, "", null);
}
catch (CmisException e)
{
@@ -94,7 +94,7 @@ public class DMPolicyServiceTest extends AbstractServiceTest
{
try
{
((PolicyServicePort) servicePort).removePolicy(repositoryId, "policyId", documentId); // TODO policyId
((PolicyServicePort) servicePort).removePolicy(repositoryId, "policyId", documentId, null); // TODO policyId
}
catch (CmisException e)
{

View File

@@ -27,8 +27,6 @@ package org.alfresco.repo.cmis.ws;
import java.math.BigInteger;
import java.util.List;
import javax.xml.ws.Holder;
public class DMRepositoryServiceTest extends AbstractServiceTest
{
public final static String TYPE_ID = "F/wca:webfolder";
@@ -50,23 +48,23 @@ public class DMRepositoryServiceTest extends AbstractServiceTest
public void testGetRepositories() throws Exception
{
List<CmisRepositoryEntryType> repositories = ((RepositoryServicePort) servicePort).getRepositories();
List<CmisRepositoryEntryType> repositories = ((RepositoryServicePort) servicePort).getRepositories(null);
assertTrue(repositories.size() == 1);
assertFalse(repositories.get(0).getId() == null);
assertFalse(repositories.get(0).getName() == null);
assertFalse(repositories.get(0).getRepositoryId() == null);
assertFalse(repositories.get(0).getRepositoryName() == null);
}
public void testGetRepositoryInfo() throws Exception
{
List<CmisRepositoryEntryType> repositories = ((RepositoryServicePort) servicePort).getRepositories();
List<CmisRepositoryEntryType> repositories = ((RepositoryServicePort) servicePort).getRepositories(null);
GetRepositoryInfo parameters = new GetRepositoryInfo();
parameters.setRepositoryId(repositories.get(0).getId());
CmisRepositoryInfoType cmisRepositoryInfoType = ((RepositoryServicePort) servicePort).getRepositoryInfo(repositoryId);
parameters.setRepositoryId(repositories.get(0).getRepositoryId());
CmisRepositoryInfoType cmisRepositoryInfoType = ((RepositoryServicePort) servicePort).getRepositoryInfo(repositoryId, null);
assertTrue(cmisRepositoryInfoType.getRepositoryId().equals(repositories.get(0).getId()));
assertTrue(cmisRepositoryInfoType.getRepositoryName().equals(repositories.get(0).getName()));
assertTrue(cmisRepositoryInfoType.getRepositoryId().equals(repositories.get(0).getRepositoryId()));
assertTrue(cmisRepositoryInfoType.getRepositoryName().equals(repositories.get(0).getRepositoryName()));
CmisRepositoryCapabilitiesType capabilities = cmisRepositoryInfoType.getCapabilities();
assertTrue(capabilities.isCapabilityMultifiling() && capabilities.isCapabilityPWCUpdateable());
assertTrue(capabilities.isCapabilityMultifiling() && capabilities.isCapabilityPWCUpdatable());
assertFalse(capabilities.isCapabilityUnfiling() && capabilities.isCapabilityVersionSpecificFiling());
}
@@ -74,27 +72,26 @@ public class DMRepositoryServiceTest extends AbstractServiceTest
{
BigInteger maxItems = BigInteger.valueOf(0);
BigInteger skipItems = BigInteger.valueOf(0);
Holder<List<CmisTypeDefinitionType>> typeHolder = new Holder<List<CmisTypeDefinitionType>>();
Holder<Boolean> hasMoreElementsHolder = new Holder<Boolean>();
((RepositoryServicePort) servicePort).getTypeChildren(repositoryId, "", Boolean.FALSE, maxItems, skipItems, typeHolder, hasMoreElementsHolder);
assertNotNull(typeHolder.value);
assertFalse(typeHolder.value.isEmpty());
CmisTypeDefinitionType element = typeHolder.value.get(0);
CmisTypeDefinitionListType response = ((RepositoryServicePort) servicePort).getTypeChildren(repositoryId, "", false, maxItems, skipItems, null);
assertNotNull(response);
assertNotNull(response.getTypes());
assertFalse(response.getTypes().isEmpty());
CmisTypeDefinitionType element = response.getTypes().get(0);
assertNotNull(element);
}
public void testGetTypeDescedants() throws Exception
{
List<CmisTypeContainer> result = ((RepositoryServicePort) servicePort).getTypeDescendants(repositoryId, "", null, true);
List<CmisTypeContainer> result = ((RepositoryServicePort) servicePort).getTypeDescendants(repositoryId, "", null, true, null);
assertNotNull(result);
assertFalse(result.isEmpty());
CmisTypeContainer element = result.get(0);
assertNotNull(element);
result = ((RepositoryServicePort) servicePort).getTypeDescendants(repositoryId, "", BigInteger.valueOf(1), true);
result = ((RepositoryServicePort) servicePort).getTypeDescendants(repositoryId, "", BigInteger.valueOf(1), true, null);
assertNotNull(result);
assertFalse(result.isEmpty());
assertNotNull(result.get(0));
result = ((RepositoryServicePort) servicePort).getTypeDescendants(repositoryId, TYPE_ID, null, false);
result = ((RepositoryServicePort) servicePort).getTypeDescendants(repositoryId, TYPE_ID, null, false, null);
assertNotNull(result);
assertTrue(result.size() == 1);
assertNotNull(result.get(0));
@@ -102,7 +99,7 @@ public class DMRepositoryServiceTest extends AbstractServiceTest
public void testGetTypeDefinition() throws Exception
{
CmisTypeDefinitionType type = ((RepositoryServicePort) servicePort).getTypeDefinition(repositoryId, TYPE_ID);
CmisTypeDefinitionType type = ((RepositoryServicePort) servicePort).getTypeDefinition(repositoryId, TYPE_ID, null);
assertNotNull(type);
}
}

View File

@@ -70,7 +70,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest
// check out
Holder<String> documentIdHolder = new Holder<String>(documentId);
Holder<Boolean> contentCopied = new Holder<Boolean>();
((VersioningServicePort) servicePort).checkOut(repositoryId, documentIdHolder, contentCopied);
((VersioningServicePort) servicePort).checkOut(repositoryId, documentIdHolder, null, contentCopied);
assertTrue(contentCopied.value);
assertFalse(documentId.equals(documentIdHolder.value));
@@ -81,7 +81,10 @@ public class DMVersioningServiceTest extends AbstractServiceTest
DataHandler dataHandler = new DataHandler("Test content string: " + System.currentTimeMillis(), MimetypeMap.MIMETYPE_TEXT_PLAIN);
contentStream.setStream(dataHandler);
String checkinComment = "Test checkin" + System.currentTimeMillis();
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, Boolean.TRUE, properties, contentStream, checkinComment, null, null, null);
// TODO: policies
// TODO: addACEs
// TODO: removeACEs
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, true, properties, contentStream, checkinComment, null, null, null, null);
assertEquals(checkinComment, getStringProperty(helper.getObjectProperties(documentIdHolder.value).getProperties(), CMISDictionaryModel.PROP_CHECKIN_COMMENT));
}
@@ -91,12 +94,12 @@ public class DMVersioningServiceTest extends AbstractServiceTest
// check out
Holder<String> documentIdHolder = new Holder<String>(documentId);
Holder<Boolean> contentCopied = new Holder<Boolean>();
((VersioningServicePort) servicePort).checkOut(repositoryId, documentIdHolder, contentCopied);
((VersioningServicePort) servicePort).checkOut(repositoryId, documentIdHolder, null, contentCopied);
assertTrue(contentCopied.value);
assertFalse(documentId.equals(documentIdHolder.value));
// check in
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, null, null, null, null, null, null, null);
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, false, null, null, null, null, null, null, null);
}
public void testCheckOutCancelCheckOut() throws Exception
@@ -104,12 +107,12 @@ public class DMVersioningServiceTest extends AbstractServiceTest
// check out
Holder<String> documentIdHolder = new Holder<String>(documentId);
Holder<Boolean> contentCopied = new Holder<Boolean>();
((VersioningServicePort) servicePort).checkOut(repositoryId, documentIdHolder, contentCopied);
((VersioningServicePort) servicePort).checkOut(repositoryId, documentIdHolder, null, contentCopied);
assertTrue(contentCopied.value);
assertFalse(documentId.equals(documentIdHolder.value));
// Cancel check out
((VersioningServicePort) servicePort).cancelCheckOut(repositoryId, documentIdHolder.value);
((VersioningServicePort) servicePort).cancelCheckOut(repositoryId, documentIdHolder.value, null);
assertFalse(getBooleanProperty(helper.getObjectProperties(documentId).getProperties(), CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
}
@@ -124,7 +127,10 @@ public class DMVersioningServiceTest extends AbstractServiceTest
DataHandler dataHandler = new DataHandler("Test content string: " + System.currentTimeMillis(), MimetypeMap.MIMETYPE_TEXT_PLAIN);
contentStream.setStream(dataHandler);
String checkinComment = "Test checkin";
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, Boolean.TRUE, properties, contentStream, checkinComment, null, null, null);
// TODO: policies
// TODO: addACEs
// TODO: removeACEs
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, true, properties, contentStream, checkinComment, null, null, null, null);
fail("Expects exception");
}
@@ -139,7 +145,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest
try
{
Holder<String> documentIdHolder = new Holder<String>(documentId);
((VersioningServicePort) servicePort).cancelCheckOut(repositoryId, documentIdHolder.value);
((VersioningServicePort) servicePort).cancelCheckOut(repositoryId, documentIdHolder.value, null);
fail("Expects exception");
}
@@ -151,18 +157,16 @@ public class DMVersioningServiceTest extends AbstractServiceTest
public void testGetPropertiesOfLatestVersion() throws Exception
{
CmisObjectType objectType = ((VersioningServicePort) servicePort).getPropertiesOfLatestVersion(repositoryId, documentId, true, "*", false);
CmisPropertiesType objectType = ((VersioningServicePort) servicePort).getPropertiesOfLatestVersion(repositoryId, documentId, true, "*", null);
assertNotNull(objectType);
assertNotNull(objectType.getProperties());
assertTrue(getBooleanProperty(objectType.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION));
assertTrue(getBooleanProperty(objectType, CMISDictionaryModel.PROP_IS_LATEST_VERSION));
}
public void testGetPropertiesOfLatestVersionDefault() throws Exception
{
CmisObjectType cmisObjectType = ((VersioningServicePort) servicePort).getPropertiesOfLatestVersion(repositoryId, documentId, true, "", null);
CmisPropertiesType cmisObjectType = ((VersioningServicePort) servicePort).getPropertiesOfLatestVersion(repositoryId, documentId, true, "", null);
assertNotNull(cmisObjectType);
assertNotNull(cmisObjectType.getProperties());
assertTrue(getBooleanProperty(cmisObjectType.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION));
assertTrue(getBooleanProperty(cmisObjectType, CMISDictionaryModel.PROP_IS_LATEST_VERSION));
}
public void testGetAllVersionsDefault() throws Exception
@@ -191,7 +195,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest
helper.checkOut(documentIdHolder, contentCopied);
helper.checkIn(documentIdHolder, checkinComment, true);
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE);
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "*", false, null);
assertNotNull(response);
assertFalse(response.isEmpty());
CmisObjectType firstElement = response.iterator().next();
@@ -201,7 +205,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest
public void testGetAllVersionsForNoVersionHistory() throws Exception
{
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE);
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "*", false, null);
assertNotNull(response);
}
@@ -215,7 +219,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest
{
helper.checkOut(documentIdHolder, contentCopied);
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE);
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "*", false, null);
assertNotNull(response);
for (CmisObjectType cmisObjectType : response)
{
@@ -233,13 +237,62 @@ public class DMVersioningServiceTest extends AbstractServiceTest
}
finally
{
helper.checkIn(documentIdHolder, "Hello", true);
helper.checkIn(documentIdHolder, "Test Check In Comment", true);
}
}
public void testDeleteAllVersions() throws Exception
public void testObjectOfLatestVersionReceiving() throws Exception
{
// TODO: Schema bug. It possible should be returned
// ((VersioningServicePort) servicePort).deleteAllVersions(repositoryId, documentId);
CmisObjectType result = null;
try
{
result = helper.getVersioningServicePort().getObjectOfLatestVersion(repositoryId, documentId, false, null, false, null, null, false, false, null);
}
catch (Exception e)
{
fail(e.toString());
}
assertNotNull(result);
assertNotNull(result.getProperties());
assertNotNull(result.getProperties().getProperty());
assertFalse(result.getProperties().getProperty().isEmpty());
}
public void testObjectOfLatestMajorVersionReceiving() throws Exception
{
CmisObjectType result = null;
try
{
result = helper.getVersioningServicePort().getObjectOfLatestVersion(repositoryId, documentId, true, null, false, null, null, false, false, null);
}
catch (Exception e)
{
fail(e.toString());
}
assertNotNull(result);
assertNotNull(result.getProperties());
assertNotNull(result.getProperties().getProperty());
assertFalse(result.getProperties().getProperty().isEmpty());
assertTrue(getBooleanProperty(result.getProperties(), CMISDictionaryModel.PROP_IS_MAJOR_VERSION));
}
public void testObjectOfLatestVersionReceivingWithAllowableActions() throws Exception
{
CmisObjectType result = null;
try
{
result = helper.getVersioningServicePort().getObjectOfLatestVersion(repositoryId, documentId, false, null, true, null, null, false, false, null);
}
catch (Exception e)
{
fail(e.toString());
}
assertNotNull(result);
assertNotNull(result.getProperties());
assertNotNull(result.getProperties().getProperty());
assertFalse(result.getProperties().getProperty().isEmpty());
assertNotNull(result.getAllowableActions());
assertTrue(result.getAllowableActions().isCanGetProperties());
assertTrue(result.getAllowableActions().isCanDeleteObject());
}
}

View File

@@ -127,7 +127,7 @@ public class MultiThreadsServiceTest extends AbstractServiceTest
if (isRunning == false)
{
CmisContentStreamType result;
result = helper.getContentStream(documentId);
result = helper.getContentStream(documentId, 0, 0);
if (result.getLength().intValue() == 0)
{
fail("Content Stream is empty");