mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged CMIS063 to HEAD
15463: Fixed MOB-1100: Update Web Services to 0.62 final git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17232 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -29,14 +29,11 @@ import java.util.List;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.alfresco.cmis.CMISDictionaryModel;
|
||||
import org.alfresco.repo.cmis.ws.utils.PropertyUtil;
|
||||
|
||||
/**
|
||||
* @author Michael Shavnev
|
||||
* @author Alexander Tsvetkov
|
||||
*
|
||||
*/
|
||||
|
||||
public abstract class AbstractServiceTest extends TestCase
|
||||
{
|
||||
// protected ServiceRegistry serviceRegistry;
|
||||
@@ -53,7 +50,6 @@ public abstract class AbstractServiceTest extends TestCase
|
||||
|
||||
protected Object servicePort = null;
|
||||
protected CmisServiceTestHelper helper;
|
||||
protected PropertyUtil propertiesUtil = new PropertyUtil();
|
||||
|
||||
private static boolean testAsUser = false;
|
||||
|
||||
@@ -103,15 +99,14 @@ public abstract class AbstractServiceTest extends TestCase
|
||||
|
||||
}
|
||||
|
||||
public String getObjectName(GetPropertiesResponse response)
|
||||
public String getObjectName(CmisObjectType response)
|
||||
{
|
||||
String property = null;
|
||||
|
||||
if (response != null && response.getObject() != null)
|
||||
if (response != null)
|
||||
{
|
||||
CmisObjectType object = response.getObject();
|
||||
CmisPropertiesType properties = object.getProperties();
|
||||
property = (String) propertiesUtil.getCmisPropertyValue(properties, CMISDictionaryModel.PROP_NAME, null);
|
||||
CmisPropertiesType properties = response.getProperties();
|
||||
property = getStringProperty(properties, CMISDictionaryModel.PROP_NAME);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -120,44 +115,78 @@ public abstract class AbstractServiceTest extends TestCase
|
||||
return property;
|
||||
}
|
||||
|
||||
public String getPropertyValue(GetPropertiesResponse response, String propertyName)
|
||||
protected String getIdProperty(CmisPropertiesType properties, String propertyName)
|
||||
{
|
||||
String property = null;
|
||||
|
||||
if (response != null && response.getObject() != null)
|
||||
if (null == propertyName)
|
||||
{
|
||||
CmisObjectType object = response.getObject();
|
||||
CmisPropertiesType properties = object.getProperties();
|
||||
if (propertiesUtil.getCmisPropertyValue(properties, propertyName, null) != null)
|
||||
return null;
|
||||
}
|
||||
|
||||
for (CmisProperty property : properties.getProperty())
|
||||
{
|
||||
if ((property instanceof CmisPropertyId) && propertyName.equals(getPropertyName(property)))
|
||||
{
|
||||
property = (String) propertiesUtil.getCmisPropertyValue(properties, propertyName, null);
|
||||
return ((CmisPropertyId) property).getValue().iterator().next();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fail("Response has no results.");
|
||||
}
|
||||
return property;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public Boolean getPropertyBooleanValue(GetPropertiesResponse response, String propertyName)
|
||||
protected String getStringProperty(CmisPropertiesType properties, String propertyName)
|
||||
{
|
||||
Boolean property = null;
|
||||
|
||||
if (response != null && response.getObject() != null)
|
||||
if (null == propertyName)
|
||||
{
|
||||
CmisObjectType object = response.getObject();
|
||||
CmisPropertiesType properties = object.getProperties();
|
||||
if (propertiesUtil.getCmisPropertyValue(properties, propertyName, null) != null)
|
||||
return null;
|
||||
}
|
||||
|
||||
for (CmisProperty property : properties.getProperty())
|
||||
{
|
||||
if ((property instanceof CmisPropertyString) && propertyName.equals(getPropertyName(property)))
|
||||
{
|
||||
property = (Boolean) propertiesUtil.getCmisPropertyValue(properties, propertyName, null);
|
||||
return ((CmisPropertyString) property).getValue().iterator().next();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected Boolean getBooleanProperty(CmisPropertiesType properties, String propertyName)
|
||||
{
|
||||
if (null == propertyName)
|
||||
{
|
||||
fail("Response has no results.");
|
||||
return null;
|
||||
}
|
||||
return property;
|
||||
|
||||
for (CmisProperty property : properties.getProperty())
|
||||
{
|
||||
if ((property instanceof CmisPropertyBoolean) && propertyName.equals(getPropertyName(property)))
|
||||
{
|
||||
return ((CmisPropertyBoolean) property).getValue().iterator().next();
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private String getPropertyName(CmisProperty property)
|
||||
{
|
||||
String propertyName = (null != property) ? (property.getPdid()) : (null);
|
||||
if (null == propertyName)
|
||||
{
|
||||
propertyName = property.getLocalname();
|
||||
if (null == propertyName)
|
||||
{
|
||||
propertyName = property.getDisplayname();
|
||||
}
|
||||
}
|
||||
return propertyName;
|
||||
}
|
||||
|
||||
protected void assertObjectPropertiesNotNull(CmisObjectType propertiesObject)
|
||||
{
|
||||
assertNotNull(propertiesObject);
|
||||
assertNotNull(propertiesObject.getProperties());
|
||||
}
|
||||
|
||||
public String getObjectId(GetPropertiesResponse response)
|
||||
@@ -168,7 +197,7 @@ public abstract class AbstractServiceTest extends TestCase
|
||||
{
|
||||
CmisObjectType object = response.getObject();
|
||||
CmisPropertiesType properties = object.getProperties();
|
||||
property = (String) propertiesUtil.getCmisPropertyValue(properties, CMISDictionaryModel.PROP_OBJECT_ID, null);
|
||||
property = getIdProperty(properties, CMISDictionaryModel.PROP_OBJECT_ID);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -182,7 +211,8 @@ public abstract class AbstractServiceTest extends TestCase
|
||||
for (CmisObjectType object : objects)
|
||||
{
|
||||
CmisPropertiesType properties = object.getProperties();
|
||||
String name = (String) propertiesUtil.getCmisPropertyValue(properties, CMISDictionaryModel.PROP_NAME, null);
|
||||
String name = null;
|
||||
name = getStringProperty(properties, CMISDictionaryModel.PROP_NAME);
|
||||
assertNotNull(name);
|
||||
}
|
||||
|
||||
@@ -194,7 +224,8 @@ public abstract class AbstractServiceTest extends TestCase
|
||||
for (CmisObjectType object : objects)
|
||||
{
|
||||
CmisPropertiesType properties = object.getProperties();
|
||||
String property = (String) propertiesUtil.getCmisPropertyValue(properties, propertyName, null);
|
||||
String property = null;
|
||||
property = getStringProperty(properties, propertyName);
|
||||
if (property.equals(propertyValue))
|
||||
{
|
||||
isFound = true;
|
||||
|
@@ -25,12 +25,16 @@
|
||||
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;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.alfresco.cmis.CMISDictionaryModel;
|
||||
import org.alfresco.repo.cmis.ws.utils.PropertyUtil;
|
||||
import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.alfresco.service.ServiceRegistry;
|
||||
import org.alfresco.service.cmr.security.AuthenticationService;
|
||||
@@ -51,6 +55,7 @@ public class CMISCustomTypeTest extends TestCase
|
||||
private static ObjectServicePort objectServicePort;
|
||||
private static DiscoveryServicePort discoveryServicePort;
|
||||
private static NavigationServicePort navigationServicePort;
|
||||
private static PropertyUtil propertiesUtil;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception
|
||||
@@ -64,6 +69,9 @@ public class CMISCustomTypeTest extends TestCase
|
||||
|
||||
authenticationService.authenticate(USERNAME, PASSWORD.toCharArray());
|
||||
|
||||
if(null == propertiesUtil) {
|
||||
propertiesUtil = (PropertyUtil) applicationContext.getBean("propertiesUtils");
|
||||
}
|
||||
if (repositoryServicePort == null)
|
||||
{
|
||||
repositoryServicePort = (RepositoryServicePort) applicationContext.getBean("dmRepositoryService");
|
||||
@@ -80,17 +88,16 @@ public class CMISCustomTypeTest extends TestCase
|
||||
{
|
||||
discoveryServicePort = (DiscoveryServicePort) applicationContext.getBean("dmDiscoveryService");
|
||||
}
|
||||
repositoryId = repositoryId == null ? repositoryServicePort.getRepositories().get(0).getRepositoryId() : repositoryId;
|
||||
repositoryId = repositoryId == null ? repositoryServicePort.getRepositories().get(0).getId() : repositoryId;
|
||||
if (folderId == null)
|
||||
{
|
||||
String rootFolderId = repositoryServicePort.getRepositoryInfo(repositoryId).getRootFolderId();
|
||||
GetChildren getChildren = new GetChildren();
|
||||
getChildren.setRepositoryId(repositoryId);
|
||||
getChildren.setFolderId(rootFolderId);
|
||||
GetChildrenResponse response = navigationServicePort.getChildren(getChildren);
|
||||
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);
|
||||
assertNotNull(response);
|
||||
assertNotNull(response.getObject());
|
||||
for (CmisObjectType cmisObjectType : response.getObject())
|
||||
assertNotNull(response.value);
|
||||
for (CmisObjectType cmisObjectType : response.value)
|
||||
{
|
||||
CmisPropertyString propertyString = (CmisPropertyString) getCmisProperty(cmisObjectType.getProperties(), "Name");
|
||||
if (propertyString != null && propertyString.getValue() != null && propertyString.getValue().size() > 0 && "CMIS Tests".equals(propertyString.getValue().get(0)))
|
||||
@@ -118,14 +125,11 @@ public class CMISCustomTypeTest extends TestCase
|
||||
String folderId1 = createTestFolder(repositoryId, "testCreateCustomFolder" + System.currentTimeMillis(), folderId, true);
|
||||
assertNotNull(folderId1);
|
||||
|
||||
GetProperties getProperties = new GetProperties();
|
||||
getProperties.setRepositoryId(repositoryId);
|
||||
getProperties.setObjectId(folderId1);
|
||||
GetPropertiesResponse propertiesResponse = objectServicePort.getProperties(getProperties);
|
||||
assertNotNull(propertiesResponse);
|
||||
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesResponse.getObject().getProperties(), "ObjectTypeId");
|
||||
CmisObjectType propertiesObject = objectServicePort.getProperties(repositoryId, folderId1, "*", false, EnumIncludeRelationships.NONE, false);
|
||||
assertNotNull(propertiesObject);
|
||||
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesObject.getProperties(), "ObjectTypeId");
|
||||
assertTrue(objectTypeId != null && objectTypeId.getValue() != null && objectTypeId.getValue().size() == 1 && "F/cmiscustom_folder".equals(objectTypeId.getValue().get(0)));
|
||||
CmisPropertyString customProp = (CmisPropertyString) getCmisProperty(propertiesResponse.getObject().getProperties(), "cmiscustom_folderprop_string");
|
||||
CmisPropertyString customProp = (CmisPropertyString) getCmisProperty(propertiesObject.getProperties(), "cmiscustom_folderprop_string");
|
||||
assertTrue(customProp != null && customProp.getValue() != null && customProp.getValue().size() == 1 && "custom string".equals(customProp.getValue().get(0)));
|
||||
}
|
||||
|
||||
@@ -134,18 +138,15 @@ public class CMISCustomTypeTest extends TestCase
|
||||
String documentId = createTestDocument(repositoryId, "testCreateCustomDocument" + System.currentTimeMillis(), folderId, true);
|
||||
assertNotNull(documentId);
|
||||
|
||||
GetProperties getProperties = new GetProperties();
|
||||
getProperties.setRepositoryId(repositoryId);
|
||||
getProperties.setObjectId(documentId);
|
||||
GetPropertiesResponse propertiesResponse = objectServicePort.getProperties(getProperties);
|
||||
assertNotNull(propertiesResponse);
|
||||
CmisObjectType propertiesObject = objectServicePort.getProperties(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE, false);
|
||||
assertNotNull(propertiesObject);
|
||||
|
||||
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesResponse.getObject().getProperties(), "ObjectTypeId");
|
||||
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesObject.getProperties(), "ObjectTypeId");
|
||||
assertTrue(objectTypeId != null && objectTypeId.getValue() != null && objectTypeId.getValue().size() == 1 && "D/cmiscustom_document".equals(objectTypeId.getValue().get(0)));
|
||||
CmisPropertyString customProp = (CmisPropertyString) getCmisProperty(propertiesResponse.getObject().getProperties(), "cmiscustom_docprop_string");
|
||||
CmisPropertyString customProp = (CmisPropertyString) getCmisProperty(propertiesObject.getProperties(), "cmiscustom_docprop_string");
|
||||
assertTrue(customProp != null && customProp.getValue() != null && customProp.getValue().size() == 1 && "custom string".equals(customProp.getValue().get(0)));
|
||||
|
||||
CmisPropertyBoolean propertyMulti = (CmisPropertyBoolean) getCmisProperty(propertiesResponse.getObject().getProperties(), "cmiscustom_docprop_boolean_multi");
|
||||
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));
|
||||
}
|
||||
|
||||
@@ -159,33 +160,30 @@ public class CMISCustomTypeTest extends TestCase
|
||||
String newName = "Updated Title " + System.currentTimeMillis();
|
||||
String customProp = "custom " + System.currentTimeMillis();
|
||||
CmisPropertyString cmisPropertyString = new CmisPropertyString();
|
||||
cmisPropertyString.setName("Name");
|
||||
cmisPropertyString.setPdid("Name");
|
||||
cmisPropertyString.getValue().add(newName);
|
||||
properties.getProperty().add(cmisPropertyString);
|
||||
cmisPropertyString = new CmisPropertyString();
|
||||
cmisPropertyString.setName("cmiscustom_docprop_string");
|
||||
cmisPropertyString.setPdid("cmiscustom_docprop_string");
|
||||
cmisPropertyString.getValue().add(customProp);
|
||||
properties.getProperty().add(cmisPropertyString);
|
||||
CmisPropertyBoolean cmisPropertymulti = new CmisPropertyBoolean();
|
||||
cmisPropertymulti.setName("cmiscustom_docprop_boolean_multi");
|
||||
cmisPropertymulti.setPdid("cmiscustom_docprop_boolean_multi");
|
||||
cmisPropertymulti.getValue().add(false);
|
||||
cmisPropertymulti.getValue().add(true);
|
||||
properties.getProperty().add(cmisPropertymulti);
|
||||
objectServicePort.updateProperties(repositoryId, holder, null, properties);
|
||||
|
||||
GetProperties getProperties = new GetProperties();
|
||||
getProperties.setRepositoryId(repositoryId);
|
||||
getProperties.setObjectId(documentId);
|
||||
GetPropertiesResponse propertiesResponse = objectServicePort.getProperties(getProperties);
|
||||
assertNotNull(propertiesResponse);
|
||||
CmisObjectType propertiesObject = objectServicePort.getProperties(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE, false);
|
||||
assertNotNull(propertiesObject);
|
||||
|
||||
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesResponse.getObject().getProperties(), "ObjectTypeId");
|
||||
CmisPropertyId objectTypeId = (CmisPropertyId) getCmisProperty(propertiesObject.getProperties(), "ObjectTypeId");
|
||||
assertTrue(objectTypeId != null && objectTypeId.getValue() != null && objectTypeId.getValue().size() == 1 && "D/cmiscustom_document".equals(objectTypeId.getValue().get(0)));
|
||||
CmisPropertyString propertyString = (CmisPropertyString) getCmisProperty(propertiesResponse.getObject().getProperties(), "Name");
|
||||
CmisPropertyString propertyString = (CmisPropertyString) getCmisProperty(propertiesObject.getProperties(), "Name");
|
||||
assertTrue(propertyString != null && propertyString.getValue() != null && propertyString.getValue().size() == 1 && newName.equals(propertyString.getValue().get(0)));
|
||||
propertyString = (CmisPropertyString) getCmisProperty(propertiesResponse.getObject().getProperties(), "cmiscustom_docprop_string");
|
||||
propertyString = (CmisPropertyString) getCmisProperty(propertiesObject.getProperties(), "cmiscustom_docprop_string");
|
||||
assertTrue(propertyString != null && propertyString.getValue() != null && propertyString.getValue().size() == 1 && customProp.equals(propertyString.getValue().get(0)));
|
||||
CmisPropertyBoolean propertyMulti = (CmisPropertyBoolean) getCmisProperty(propertiesResponse.getObject().getProperties(), "cmiscustom_docprop_boolean_multi");
|
||||
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));
|
||||
}
|
||||
|
||||
@@ -196,7 +194,7 @@ public class CMISCustomTypeTest extends TestCase
|
||||
|
||||
assertTrue(isObjectInFolder(repositoryId, documentId, folderId));
|
||||
|
||||
objectServicePort.deleteObject(repositoryId, documentId);
|
||||
objectServicePort.deleteObject(repositoryId, documentId, true);
|
||||
|
||||
assertFalse(isObjectInFolder(repositoryId, documentId, folderId));
|
||||
}
|
||||
@@ -215,11 +213,11 @@ public class CMISCustomTypeTest extends TestCase
|
||||
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' ";
|
||||
CmisQueryType queryType = new CmisQueryType();
|
||||
Query queryType = new Query();
|
||||
queryType.setRepositoryId(repositoryId);
|
||||
queryType.setStatement(query);
|
||||
queryType.setSkipCount(BigInteger.valueOf(0));
|
||||
queryType.setPageSize(BigInteger.valueOf(5));
|
||||
queryType.setMaxItems(BigInteger.valueOf(5));
|
||||
|
||||
QueryResponse response = discoveryServicePort.query(queryType);
|
||||
assertNotNull(response);
|
||||
@@ -269,7 +267,7 @@ public class CMISCustomTypeTest extends TestCase
|
||||
{
|
||||
for (CmisProperty property : cmisPropertiesType.getProperty())
|
||||
{
|
||||
if (property.getName().equals(propertyName))
|
||||
if (propertiesUtil.getPropertyName(property).equals(propertyName))
|
||||
{
|
||||
return property;
|
||||
}
|
||||
@@ -279,13 +277,12 @@ public class CMISCustomTypeTest extends TestCase
|
||||
|
||||
private boolean isObjectInFolder(String repositoryId, String objectId, String folderId) throws CmisException
|
||||
{
|
||||
GetChildren getChildren = new GetChildren();
|
||||
getChildren.setRepositoryId(repositoryId);
|
||||
getChildren.setFolderId(folderId);
|
||||
GetChildrenResponse response = navigationServicePort.getChildren(getChildren);
|
||||
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);
|
||||
assertNotNull(response);
|
||||
assertNotNull(response.getObject());
|
||||
for (CmisObjectType cmisObjectType : response.getObject())
|
||||
assertNotNull(response.value);
|
||||
for (CmisObjectType cmisObjectType : response.value)
|
||||
{
|
||||
CmisPropertyId propertyId = (CmisPropertyId) getCmisProperty(cmisObjectType.getProperties(), "ObjectId");
|
||||
if (propertyId != null && propertyId.getValue() != null && propertyId.getValue().size() > 0 && objectId.equals(propertyId.getValue().get(0)))
|
||||
@@ -300,42 +297,52 @@ public class CMISCustomTypeTest extends TestCase
|
||||
{
|
||||
CmisPropertiesType properties = new CmisPropertiesType();
|
||||
CmisPropertyString cmisPropertyString = new CmisPropertyString();
|
||||
cmisPropertyString.setName("Name");
|
||||
cmisPropertyString.setPdid("Name");
|
||||
cmisPropertyString.getValue().add(name);
|
||||
properties.getProperty().add(cmisPropertyString);
|
||||
if (custom)
|
||||
{
|
||||
cmisPropertyString = new CmisPropertyString();
|
||||
cmisPropertyString.setName("cmiscustom_docprop_string");
|
||||
cmisPropertyString.setPdid("cmiscustom_docprop_string");
|
||||
cmisPropertyString.getValue().add("custom string");
|
||||
properties.getProperty().add(cmisPropertyString);
|
||||
CmisPropertyBoolean cmisPropertyBoolean = new CmisPropertyBoolean();
|
||||
cmisPropertyBoolean.setName("cmiscustom_docprop_boolean_multi");
|
||||
cmisPropertyBoolean.setPdid("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.getValue().add(custom ? "D/cmiscustom_document" : "document");
|
||||
properties.getProperty().add(idProperty);
|
||||
|
||||
CmisContentStreamType cmisStream = new CmisContentStreamType();
|
||||
cmisStream.setFilename(name);
|
||||
cmisStream.setMimeType(MimetypeMap.MIMETYPE_TEXT_PLAIN);
|
||||
cmisStream.setStream(new DataHandler(name, MimetypeMap.MIMETYPE_TEXT_PLAIN));
|
||||
return objectServicePort.createDocument(repositoryId, custom ? "D/cmiscustom_document" : "document", properties, folderId, cmisStream, null);
|
||||
return objectServicePort.createDocument(repositoryId, properties, folderId, cmisStream, null, null, null, null);
|
||||
}
|
||||
|
||||
private String createTestFolder(String repositoryId, String name, String folderId, boolean custom) throws CmisException
|
||||
{
|
||||
CmisPropertiesType properties = new CmisPropertiesType();
|
||||
CmisPropertyString cmisPropertyString = new CmisPropertyString();
|
||||
cmisPropertyString.setName("Name");
|
||||
cmisPropertyString.setPdid("Name");
|
||||
cmisPropertyString.getValue().add(name);
|
||||
properties.getProperty().add(cmisPropertyString);
|
||||
if (custom)
|
||||
{
|
||||
cmisPropertyString = new CmisPropertyString();
|
||||
cmisPropertyString.setName("cmiscustom_folderprop_string");
|
||||
cmisPropertyString.setPdid("cmiscustom_folderprop_string");
|
||||
cmisPropertyString.getValue().add("custom string");
|
||||
properties.getProperty().add(cmisPropertyString);
|
||||
}
|
||||
return objectServicePort.createFolder(repositoryId, custom ? "F/cmiscustom_folder" : "folder", properties, folderId);
|
||||
CmisPropertyId idProperty = new CmisPropertyId();
|
||||
idProperty.setPdid(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);
|
||||
}
|
||||
}
|
||||
|
@@ -29,6 +29,7 @@ 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;
|
||||
|
||||
@@ -195,9 +196,14 @@ public class CmisServiceTestHelper extends TestCase
|
||||
CmisPropertiesType properties = new CmisPropertiesType();
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.getValue().add(name);
|
||||
CmisPropertyId idProperty = new CmisPropertyId();
|
||||
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
|
||||
idProperty.getValue().add(CMISDictionaryModel.DOCUMENT_TYPE_ID.getId());
|
||||
|
||||
propertiesList.add(cmisProperty);
|
||||
propertiesList.add(idProperty);
|
||||
|
||||
CmisContentStreamType cmisStream = new CmisContentStreamType();
|
||||
cmisStream.setFilename(name);
|
||||
@@ -208,8 +214,7 @@ public class CmisServiceTestHelper extends TestCase
|
||||
|
||||
// public String createDocument(String repositoryId, String typeId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream,
|
||||
// EnumVersioningState versioningState)
|
||||
String objectId = objectServicePort.createDocument(repositoryId, CMISDictionaryModel.DOCUMENT_TYPE_ID.getId(), properties, parentFolderId, cmisStream,
|
||||
EnumVersioningState.MAJOR);
|
||||
String objectId = objectServicePort.createDocument(repositoryId, properties, parentFolderId, cmisStream, EnumVersioningState.MAJOR, null, null, null);
|
||||
// assertNotNull(objectId);
|
||||
return objectId;
|
||||
}
|
||||
@@ -221,9 +226,14 @@ public class CmisServiceTestHelper extends TestCase
|
||||
CmisPropertiesType properties = new CmisPropertiesType();
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.getValue().add(name);
|
||||
CmisPropertyId idProperty = new CmisPropertyId();
|
||||
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
|
||||
idProperty.getValue().add(typeId.getId());
|
||||
|
||||
propertiesList.add(cmisProperty);
|
||||
propertiesList.add(idProperty);
|
||||
|
||||
CmisContentStreamType cmisStream = new CmisContentStreamType();
|
||||
cmisStream.setFilename(name);
|
||||
@@ -234,7 +244,7 @@ public class CmisServiceTestHelper extends TestCase
|
||||
|
||||
// public String createDocument(String repositoryId, String typeId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream,
|
||||
// EnumVersioningState versioningState)
|
||||
String objectId = objectServicePort.createDocument(repositoryId, typeId.getId(), properties, parentFolderId, cmisStream, enumVersioningState);
|
||||
String objectId = objectServicePort.createDocument(repositoryId, properties, parentFolderId, cmisStream, enumVersioningState, null, null, null);
|
||||
// assertNotNull(objectId);
|
||||
return objectId;
|
||||
}
|
||||
@@ -252,14 +262,18 @@ public class CmisServiceTestHelper extends TestCase
|
||||
CmisPropertiesType properties = new CmisPropertiesType();
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.getValue().add(name + dataSource.getName());
|
||||
CmisPropertyId idProperty = new CmisPropertyId();
|
||||
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
|
||||
idProperty.getValue().add(CMISDictionaryModel.DOCUMENT_TYPE_ID.getId());
|
||||
|
||||
propertiesList.add(cmisProperty);
|
||||
propertiesList.add(idProperty);
|
||||
|
||||
// public String createDocument(String repositoryId, String typeId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream,
|
||||
// EnumVersioningState versioningState)
|
||||
String objectId = objectServicePort.createDocument(repositoryId, CMISDictionaryModel.DOCUMENT_TYPE_ID.getId(), properties, parentFolderId, cmisStream,
|
||||
EnumVersioningState.MAJOR);
|
||||
String objectId = objectServicePort.createDocument(repositoryId, properties, parentFolderId, cmisStream, EnumVersioningState.MAJOR, null, null, null);
|
||||
// assertNotNull(objectId);
|
||||
return objectId;
|
||||
|
||||
@@ -277,12 +291,17 @@ public class CmisServiceTestHelper extends TestCase
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.getValue().add(name);
|
||||
CmisPropertyId idProperty = new CmisPropertyId();
|
||||
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
|
||||
idProperty.getValue().add(CMISDictionaryModel.FOLDER_TYPE_ID.getId());
|
||||
|
||||
propertiesList.add(cmisProperty);
|
||||
propertiesList.add(idProperty);
|
||||
|
||||
// public String createFolder(String repositoryId, String typeId, CmisPropertiesType properties, String folderId)
|
||||
String objectId = objectServicePort.createFolder(repositoryId, CMISDictionaryModel.FOLDER_TYPE_ID.getId(), properties, parentFolderId);
|
||||
String objectId = objectServicePort.createFolder(repositoryId, properties, parentFolderId, null, null, null);
|
||||
// assertNotNull(objectId);
|
||||
return objectId;
|
||||
}
|
||||
@@ -294,43 +313,38 @@ public class CmisServiceTestHelper extends TestCase
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.getValue().add(name);
|
||||
CmisPropertyId idProperty = new CmisPropertyId();
|
||||
idProperty.setPdid(CMISDictionaryModel.PROP_OBJECT_TYPE_ID);
|
||||
idProperty.getValue().add(cmisTypeId.getId());
|
||||
|
||||
propertiesList.add(cmisProperty);
|
||||
propertiesList.add(idProperty);
|
||||
|
||||
// public String createFolder(String repositoryId, String typeId, CmisPropertiesType properties, String folderId)
|
||||
String objectId = objectServicePort.createFolder(repositoryId, cmisTypeId.getId(), properties, parentFolderId);
|
||||
String objectId = objectServicePort.createFolder(repositoryId, properties, parentFolderId, null, null, null);
|
||||
// assertNotNull(objectId);
|
||||
return objectId;
|
||||
}
|
||||
|
||||
public void deleteDocument(String documentId) throws Exception
|
||||
{
|
||||
objectServicePort.deleteObject(repositoryId, documentId);
|
||||
objectServicePort.deleteObject(repositoryId, documentId, true);
|
||||
assertNull("Document has not been deleted", getObjectProperties(documentId));
|
||||
}
|
||||
|
||||
public void deleteFolder(String folderId) throws Exception
|
||||
{
|
||||
objectServicePort.deleteTree(repositoryId, folderId, EnumUnfileNonfolderObjects.DELETE, true);
|
||||
objectServicePort.deleteTree(repositoryId, folderId, EnumUnfileObject.DELETE, true);
|
||||
}
|
||||
|
||||
public GetPropertiesResponse getObjectProperties(String objectId)
|
||||
public CmisObjectType getObjectProperties(String objectId)
|
||||
{
|
||||
GetProperties request = new GetProperties();
|
||||
request.setRepositoryId(repositoryId);
|
||||
|
||||
request.setObjectId(objectId);
|
||||
request.setReturnVersion(cmisObjectFactory.createGetPropertiesReturnVersion(EnumReturnVersion.LATEST));
|
||||
request.setFilter(cmisObjectFactory.createGetPropertiesFilter("*"));
|
||||
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetPropertiesIncludeAllowableActions(true));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetPropertiesIncludeRelationships(EnumIncludeRelationships.BOTH));
|
||||
|
||||
GetPropertiesResponse response = null;
|
||||
CmisObjectType response = null;
|
||||
try
|
||||
{
|
||||
response = objectServicePort.getProperties(request);
|
||||
response = objectServicePort.getProperties(repositoryId, objectId, "*", true, EnumIncludeRelationships.BOTH, false);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -339,22 +353,12 @@ public class CmisServiceTestHelper extends TestCase
|
||||
return response;
|
||||
}
|
||||
|
||||
public GetPropertiesResponse getObjectProperties(String objectId, String filter)
|
||||
public CmisObjectType getObjectProperties(String objectId, String filter)
|
||||
{
|
||||
GetProperties request = new GetProperties();
|
||||
request.setRepositoryId(repositoryId);
|
||||
|
||||
request.setObjectId(objectId);
|
||||
request.setReturnVersion(cmisObjectFactory.createGetPropertiesReturnVersion(EnumReturnVersion.LATEST));
|
||||
request.setFilter(cmisObjectFactory.createGetPropertiesFilter(filter));
|
||||
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetPropertiesIncludeAllowableActions(true));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetPropertiesIncludeRelationships(EnumIncludeRelationships.BOTH));
|
||||
|
||||
GetPropertiesResponse response = null;
|
||||
CmisObjectType response = null;
|
||||
try
|
||||
{
|
||||
response = objectServicePort.getProperties(request);
|
||||
response = objectServicePort.getProperties(repositoryId, objectId, filter, true, EnumIncludeRelationships.BOTH, false);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -390,8 +394,8 @@ public class CmisServiceTestHelper extends TestCase
|
||||
PropertyUtil propertiesUtil = new PropertyUtil();
|
||||
try
|
||||
{
|
||||
GetChildrenResponse response = getChildren(companyHomeId, EnumTypesOfFileableObjects.FOLDERS, 0, "*");
|
||||
for (CmisObjectType object : response.getObject())
|
||||
List<CmisObjectType> response = getChildren(companyHomeId, 0, "*");
|
||||
for (CmisObjectType object : response)
|
||||
{
|
||||
if (propertiesUtil.getCmisPropertyValue(object.getProperties(), CMISDictionaryModel.PROP_NAME, null).equals("User Homes"))
|
||||
{
|
||||
@@ -514,7 +518,7 @@ public class CmisServiceTestHelper extends TestCase
|
||||
{
|
||||
try
|
||||
{
|
||||
return repositoryServicePort.getRepositories().get(0).getRepositoryId();
|
||||
return repositoryServicePort.getRepositories().get(0).getId();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -531,7 +535,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);
|
||||
versioningServicePort.checkIn(repositoryId, documentId, isMajor, properties, contentStream, checkinComment, null, null, null);
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
@@ -553,20 +557,14 @@ public class CmisServiceTestHelper extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
public GetAllVersionsResponse getAllVersions(String documentId)
|
||||
public List<CmisObjectType> getAllVersions(String documentId)
|
||||
{
|
||||
GetAllVersionsResponse response = null;
|
||||
List<CmisObjectType> response = null;
|
||||
try
|
||||
{
|
||||
GetAllVersions request = new GetAllVersions();
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setVersionSeriesId(documentId);
|
||||
request.setFilter(cmisObjectFactory.createGetAllVersionsFilter("*"));
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetAllVersionsIncludeAllowableActions(Boolean.FALSE));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(EnumIncludeRelationships.NONE));
|
||||
|
||||
response = versioningServicePort.getAllVersions(request);
|
||||
assertNotNull(response.getObject());
|
||||
response = versioningServicePort.getAllVersions(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE);
|
||||
assertNotNull(response);
|
||||
assertFalse(response.isEmpty());
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
@@ -583,12 +581,18 @@ public class CmisServiceTestHelper extends TestCase
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.setPdid(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.getValue().add(name);
|
||||
propertiesList.add(cmisProperty);
|
||||
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);
|
||||
|
||||
// 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, CMISDictionaryModel.RELATIONSHIP_TYPE_ID.getId(), properties, documentId, folderId);
|
||||
objectId = objectServicePort.createRelationship(repositoryId, properties, documentId, folderId, null, null, null);
|
||||
assertNotNull(objectId);
|
||||
|
||||
return objectId;
|
||||
@@ -602,13 +606,14 @@ public class CmisServiceTestHelper extends TestCase
|
||||
CmisPropertiesType properties = new CmisPropertiesType();
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(propName);
|
||||
cmisProperty.setPdid(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, new String(""), properties);
|
||||
objectServicePort.updateProperties(repositoryId, documentIdHolder, changeToken, properties);
|
||||
assertEquals(documentId, documentIdHolder.value);
|
||||
|
||||
return documentIdHolder.value;
|
||||
@@ -638,21 +643,12 @@ public class CmisServiceTestHelper extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
public GetObjectParentsResponse getObjectParents(String objectId, String filter) throws Exception
|
||||
public List<CmisObjectType> getObjectParents(String objectId, String filter) throws Exception
|
||||
{
|
||||
|
||||
GetObjectParents request = cmisObjectFactory.createGetObjectParents();
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setObjectId(objectId);
|
||||
request.setFilter("*");
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetObjectParentsIncludeAllowableActions(true));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetObjectParentsIncludeRelationships(EnumIncludeRelationships.BOTH));
|
||||
|
||||
GetObjectParentsResponse response = null;
|
||||
|
||||
List<CmisObjectType> response = null;
|
||||
try
|
||||
{
|
||||
response = navigationServicePort.getObjectParents(request);
|
||||
response = navigationServicePort.getObjectParents(repositoryId, objectId, filter);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -661,17 +657,9 @@ public class CmisServiceTestHelper extends TestCase
|
||||
return response;
|
||||
}
|
||||
|
||||
public GetObjectParentsResponse getObjectParents(String objectId) throws Exception
|
||||
public List<CmisObjectType> getObjectParents(String objectId) throws Exception
|
||||
{
|
||||
|
||||
GetObjectParents request = cmisObjectFactory.createGetObjectParents();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setObjectId(objectId);
|
||||
|
||||
GetObjectParentsResponse response = navigationServicePort.getObjectParents(request);
|
||||
|
||||
return response;
|
||||
return navigationServicePort.getObjectParents(repositoryId, objectId, "");
|
||||
}
|
||||
|
||||
public void setTextContentStream(String documentId, String newContent) throws Exception
|
||||
@@ -686,41 +674,30 @@ 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);
|
||||
objectServicePort.setContentStream(repositoryId, documentIdHolder, true, "", contentStream);
|
||||
}
|
||||
|
||||
public CmisContentStreamType getContentStream(String documentId) throws Exception
|
||||
{
|
||||
CmisContentStreamType result = null;
|
||||
result = objectServicePort.getContentStream(repositoryId, documentId);
|
||||
result = objectServicePort.getContentStream(repositoryId, documentId, "");
|
||||
return result;
|
||||
}
|
||||
|
||||
public GetChildrenResponse getChildren(String folderId, EnumTypesOfFileableObjects type, long maxItems, String filter) throws Exception
|
||||
public List<CmisObjectType> getChildren(String folderId, long maxItems, String filter) throws Exception
|
||||
{
|
||||
GetChildren request = cmisObjectFactory.createGetChildren();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setFolderId(folderId);
|
||||
|
||||
request.setFilter(cmisObjectFactory.createGetChildrenFilter(filter));
|
||||
request.setMaxItems(cmisObjectFactory.createGetChildrenMaxItems(BigInteger.valueOf(maxItems)));
|
||||
request.setSkipCount(cmisObjectFactory.createGetChildrenMaxItems(BigInteger.valueOf(0)));
|
||||
request.setType(cmisObjectFactory.createGetChildrenType(type));
|
||||
|
||||
GetChildrenResponse response = null;
|
||||
|
||||
Holder<List<CmisObjectType>> response = new Holder<List<CmisObjectType>>(new LinkedList<CmisObjectType>());
|
||||
Holder<Boolean> hasMoreItems = new Holder<Boolean>();
|
||||
try
|
||||
{
|
||||
response = navigationServicePort.getChildren(request);
|
||||
navigationServicePort.getChildren(repositoryId, folderId, filter, false, EnumIncludeRelationships.NONE, false, false, BigInteger.valueOf(maxItems), BigInteger.ZERO,
|
||||
null, response, hasMoreItems);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
fail(e.getMessage());
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
return response.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -26,16 +26,17 @@ package org.alfresco.repo.cmis.ws;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.ws.Holder;
|
||||
import javax.xml.ws.Service;
|
||||
|
||||
public class DMDiscoveryServiceTest extends AbstractServiceTest
|
||||
{
|
||||
|
||||
public final static String SERVICE_WSDL_LOCATION = CmisServiceTestHelper.ALFRESCO_URL + "/cmis/DiscoveryService?wsdl";
|
||||
public final static QName SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "DiscoveryService");
|
||||
public final static String STATEMENT = "SELECT * FROM Document";
|
||||
public final static String STATEMENT = "SELECT * FROM cmis:document";
|
||||
|
||||
public DMDiscoveryServiceTest()
|
||||
{
|
||||
@@ -65,7 +66,7 @@ public class DMDiscoveryServiceTest extends AbstractServiceTest
|
||||
|
||||
public void testQuery() throws Exception
|
||||
{
|
||||
CmisQueryType request = new CmisQueryType();
|
||||
Query request = new Query();
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setStatement(STATEMENT);
|
||||
QueryResponse response = ((DiscoveryServicePort) servicePort).query(request);
|
||||
@@ -86,4 +87,16 @@ public class DMDiscoveryServiceTest extends AbstractServiceTest
|
||||
fail("The query returned no results");
|
||||
}
|
||||
}
|
||||
|
||||
public void testGetContentChanges() throws Exception
|
||||
{
|
||||
try
|
||||
{
|
||||
((DiscoveryServicePort) servicePort).getContentChanges(repositoryId, null, null, null, null, null, new Holder<List<CmisObjectType>>());
|
||||
}
|
||||
catch (CmisException e)
|
||||
{
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.RUNTIME));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -79,9 +79,9 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest
|
||||
{
|
||||
((MultiFilingServicePort) servicePort).addObjectToFolder(repositoryId, documentId, anotherFolderId);
|
||||
boolean found = false;
|
||||
for (CmisObjectType cmisObjectType : helper.getChildren(anotherFolderId, EnumTypesOfFileableObjects.DOCUMENTS, 0, CMISDictionaryModel.PROP_OBJECT_ID).getObject())
|
||||
for (CmisObjectType cmisObjectType : helper.getChildren(anotherFolderId, 0, CMISDictionaryModel.PROP_OBJECT_ID))
|
||||
{
|
||||
if ((found = propertiesUtil.getCmisPropertyValue(cmisObjectType.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID, null).equals(documentId)))
|
||||
if ((found = documentId.equals(getIdProperty(cmisObjectType.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID))))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
@@ -25,6 +25,8 @@
|
||||
package org.alfresco.repo.cmis.ws;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.ws.Holder;
|
||||
|
||||
@@ -81,40 +83,35 @@ public class DMNavigationServiceTest extends AbstractServiceTest
|
||||
helper.versioningServicePort.checkOut(repositoryId, documentIdHolder1, contentCopied);
|
||||
assertTrue(contentCopied.value);
|
||||
|
||||
GetCheckedoutDocsResponse response;
|
||||
response = getCheckedoutDocs(null, 0, 0);
|
||||
List<CmisObjectType> result = getCheckedoutDocs(null, 0, 0);
|
||||
|
||||
if (response.getObject().size() < 2)
|
||||
if (result == null || result.size() < 2)
|
||||
{
|
||||
// check in
|
||||
helper.versioningServicePort.checkIn(repositoryId, documentIdHolder, null, null, null, null);
|
||||
helper.versioningServicePort.checkIn(repositoryId, documentIdHolder, null, null, null, null, null, null, null);
|
||||
fail("Not all checkout docs have been found");
|
||||
}
|
||||
validateResponse(response.getObject());
|
||||
validateResponse(result);
|
||||
|
||||
// assertTrue("Checked out document has not been found ", isExistItemWithProperty(response.getObject(), CMISMapping.PROP_OBJECT_ID, documentId));
|
||||
// assertTrue("Checked out document has not been found ", isExistItemWithProperty(response.getObject(), CMISMapping.PROP_OBJECT_ID, documentId1));
|
||||
|
||||
response = getCheckedoutDocs(null, 1, 0);
|
||||
assertTrue(response.getObject().size() == 1);
|
||||
assertTrue(response.hasMoreItems);
|
||||
result = getCheckedoutDocs(null, 1, 0);
|
||||
assertNotNull(result);
|
||||
assertTrue(result.size() == 1);
|
||||
|
||||
// check in
|
||||
helper.versioningServicePort.checkIn(repositoryId, documentIdHolder, null, null, null, null);
|
||||
helper.versioningServicePort.checkIn(repositoryId, documentIdHolder, null, null, null, null, null, null, null);
|
||||
|
||||
response = getCheckedoutDocs(companyHomeId, 0, 0);
|
||||
assertFalse("Wrong results", isExistItemWithProperty(response.getObject(), CMISDictionaryModel.PROP_NAME, documentName));
|
||||
result = getCheckedoutDocs(companyHomeId, 0, 0);
|
||||
assertFalse("Wrong results", isExistItemWithProperty(result, CMISDictionaryModel.PROP_NAME, documentName));
|
||||
|
||||
}
|
||||
|
||||
public void testGetChildren() throws Exception
|
||||
{
|
||||
GetChildrenResponse response;
|
||||
response = getChildren(companyHomeId, EnumTypesOfFileableObjects.ANY, 0);
|
||||
List<CmisObjectType> response = getChildren(companyHomeId, 100);
|
||||
|
||||
if ((response != null) && (response.getObject() != null))
|
||||
if ((response != null))
|
||||
{
|
||||
validateResponse(response.getObject());
|
||||
validateResponse(response);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -128,29 +125,10 @@ public class DMNavigationServiceTest extends AbstractServiceTest
|
||||
@SuppressWarnings("unused")
|
||||
String documentId1 = helper.createDocument(documentName1, folderId, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.MAJOR);
|
||||
|
||||
response = getChildren(folderId, EnumTypesOfFileableObjects.ANY, 0);
|
||||
assertEquals(2, response.getObject().size());
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName1));
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(1).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(documentName1));
|
||||
|
||||
response = getChildren(folderId, EnumTypesOfFileableObjects.FOLDERS, 0);
|
||||
assertTrue(response.getObject().size() == 1);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName1));
|
||||
|
||||
response = getChildren(folderId, EnumTypesOfFileableObjects.DOCUMENTS, 0);
|
||||
assertTrue(response.getObject().size() == 1);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(documentName1));
|
||||
|
||||
// FIXME: bug • If maxItems > 0, Bool hasMoreItems
|
||||
// Should return 1 item
|
||||
response = getChildren(folderId, EnumTypesOfFileableObjects.ANY, 1);
|
||||
assertTrue("Actual size is: " + response.getObject().size(), response.getObject().size() == 1);
|
||||
assertTrue(response.hasMoreItems);
|
||||
|
||||
// • If “includeAllowableActions” is TRUE, the repository will return the allowable actions for the current user for each child object as part of the output.
|
||||
// • "IncludeRelationships" indicates whether relationships are also returned for each returned object. If it is set to "source" or "target", relationships for which the
|
||||
// returned object is a source, or respectively a target, will also be returned. If it is set to "both", relationships for which the returned object is either a source or a
|
||||
// target will be returned. If it is set to "none", relationships are not returned.
|
||||
response = getChildren(folderId, 2);
|
||||
assertEquals(2, response.size());
|
||||
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName1));
|
||||
assertTrue(getStringProperty(response.get(1).getProperties(), CMISDictionaryModel.PROP_NAME).equals(documentName1));
|
||||
|
||||
// TODO: not implemented
|
||||
// assertNotNull(response.getObject().get(0).getAllowableActions());
|
||||
@@ -160,19 +138,16 @@ public class DMNavigationServiceTest extends AbstractServiceTest
|
||||
// response = getChildren(folderId, EnumTypesOfFileableObjects.DOCUMENTS, 0, CMISMapping.PROP_NAME);
|
||||
// assertNotNull(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISMapping.PROP_NAME));
|
||||
|
||||
response = getChildren(folderId);
|
||||
assertTrue(response.getObject().size() == 2);
|
||||
|
||||
}
|
||||
|
||||
public void testGetDescendants() throws Exception
|
||||
{
|
||||
|
||||
GetDescendantsResponse response = getDescendants(companyHomeId, EnumTypesOfFileableObjects.DOCUMENTS, 10);
|
||||
List<CmisObjectType> response = getDescendants(companyHomeId, BigInteger.valueOf(5));
|
||||
|
||||
if ((response != null) && (response.getObject() != null))
|
||||
if ((response != null))
|
||||
{
|
||||
validateResponse(response.getObject());
|
||||
validateResponse(response);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -185,48 +160,60 @@ public class DMNavigationServiceTest extends AbstractServiceTest
|
||||
@SuppressWarnings("unused")
|
||||
String documentId1 = helper.createDocument(documentName, folderId1, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.MAJOR);
|
||||
|
||||
response = getDescendants(folderId, EnumTypesOfFileableObjects.FOLDERS, 1);
|
||||
assertTrue(response.getObject().size() == 1);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName));
|
||||
|
||||
response = getDescendants(folderId, EnumTypesOfFileableObjects.DOCUMENTS, 2);
|
||||
assertTrue(response.getObject().size() == 1);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(documentName));
|
||||
|
||||
response = getDescendants(folderId, EnumTypesOfFileableObjects.ANY, 2);
|
||||
assertTrue(response.getObject().size() == 2);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName));
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(1).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(documentName));
|
||||
|
||||
response = getDescendants(folderId, EnumTypesOfFileableObjects.ANY, -1);
|
||||
assertTrue(response.getObject().size() == 2);
|
||||
response = getDescendants(folderId1, null);
|
||||
assertTrue(response.size() == 1);
|
||||
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(documentName));
|
||||
|
||||
// test with out option parameters
|
||||
response = getDescendants(folderId);
|
||||
assertTrue(response.getObject().size() == 1);
|
||||
response = getDescendants(folderId1, BigInteger.TEN);
|
||||
assertTrue(response.size() == 1);
|
||||
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(documentName));
|
||||
|
||||
response = getDescendants(folderId, EnumTypesOfFileableObjects.DOCUMENTS, 2);
|
||||
// TODO: not implemented
|
||||
// assertNotNull(response.getObject().get(0).getAllowableActions());
|
||||
// assertNotNull(response.getObject().get(0).getRelationship());
|
||||
|
||||
// Filter test
|
||||
// response = getDescendants(folderId, EnumTypesOfFileableObjects.DOCUMENTS, 2, CMISMapping.PROP_NAME);
|
||||
// assertTrue(response.getObject().size() == 1);
|
||||
// assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISMapping.PROP_NAME).equals(documentName));
|
||||
helper.deleteFolder(folderId1);
|
||||
}
|
||||
|
||||
public void testGetFolderTree() throws Exception
|
||||
{
|
||||
|
||||
List<CmisObjectType> response = getFolderTree(companyHomeId, BigInteger.valueOf(5));
|
||||
|
||||
if ((response != null))
|
||||
{
|
||||
validateResponse(response);
|
||||
}
|
||||
else
|
||||
{
|
||||
fail("response is null");
|
||||
}
|
||||
|
||||
folderName = "Test Cmis Folder (" + System.currentTimeMillis() + ")";
|
||||
String folderId1 = helper.createFolder(folderName, folderId);
|
||||
documentName = "Test cmis document (" + System.currentTimeMillis() + ")";
|
||||
@SuppressWarnings("unused")
|
||||
String documentId1 = helper.createDocument(documentName, folderId1, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.MAJOR);
|
||||
|
||||
response = getFolderTree(folderId, null);
|
||||
assertTrue(response.size() == 1);
|
||||
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName));
|
||||
|
||||
// TODO: not implemented
|
||||
// assertNotNull(response.getObject().get(0).getAllowableActions());
|
||||
// assertNotNull(response.getObject().get(0).getRelationship());
|
||||
|
||||
helper.deleteFolder(folderId1);
|
||||
|
||||
}
|
||||
|
||||
public void testGetFolderParent() throws Exception
|
||||
{
|
||||
GetFolderParentResponse response;
|
||||
response = getFolderParent(folderId, false);
|
||||
CmisObjectType response = getFolderParent(folderId);
|
||||
|
||||
if ((response != null) && (response.getObject() != null))
|
||||
if ((response != null))
|
||||
{
|
||||
validateResponse(response.getObject());
|
||||
validateResponse(Collections.singletonList(response));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -238,26 +225,23 @@ public class DMNavigationServiceTest extends AbstractServiceTest
|
||||
String folderName1 = "Test Cmis Folder (" + System.currentTimeMillis() + ")";
|
||||
folderId1 = helper.createFolder(folderName1, folderId);
|
||||
|
||||
response = getFolderParent(folderId1, false);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName));
|
||||
response = getFolderParent(folderId1);
|
||||
assertTrue(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName));
|
||||
|
||||
String folderName2 = "Test Cmis Folder (" + System.currentTimeMillis() + ")";
|
||||
String folderId2 = helper.createFolder(folderName2, folderId1);
|
||||
|
||||
response = getFolderParent(folderId2, true);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName1));
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(1).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName));
|
||||
assertTrue(response.getObject().size() >= 3);
|
||||
|
||||
response = getFolderParent(folderId2, CMISDictionaryModel.PROP_NAME);
|
||||
assertTrue(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName1));
|
||||
}
|
||||
|
||||
public void testGetObjectParents() throws Exception
|
||||
{
|
||||
GetObjectParentsResponse response = helper.getObjectParents(documentId, "*");
|
||||
List<CmisObjectType> response = helper.getObjectParents(documentId, "*");
|
||||
|
||||
if ((response != null) && (response.getObject() != null))
|
||||
if ((response != null))
|
||||
{
|
||||
validateResponse(response.getObject());
|
||||
validateResponse(response);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -273,118 +257,41 @@ public class DMNavigationServiceTest extends AbstractServiceTest
|
||||
documentId1 = helper.createDocument(documentName1, folderId1, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.MAJOR);
|
||||
|
||||
response = helper.getObjectParents(documentId1, "*");
|
||||
assertTrue(response.getObject().size() == 1);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName1));
|
||||
|
||||
// TODO: not implemented
|
||||
// assertNotNull(response.getObject().get(0).getAllowableActions());
|
||||
// assertNotNull(response.getObject().get(0).getRelationship());
|
||||
|
||||
// filters
|
||||
// response = getObjectParents(documentId1, CMISMapping.PROP_NAME);
|
||||
// assertTrue(response.getObject().size() >= 2);
|
||||
// assertNotNull(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISMapping.PROP_NAME));
|
||||
assertTrue(response.size() == 1);
|
||||
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName1));
|
||||
|
||||
response = helper.getObjectParents(documentId1);
|
||||
assertTrue(response.getObject().size() == 1);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName1));
|
||||
// assertTrue(propertiesUtil.getCmisPropertyValue(response.getObject().get(1).getProperties(), CMISMapping.PROP_NAME).equals(folderName));
|
||||
assertTrue(response.size() == 1);
|
||||
assertTrue(getStringProperty(response.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName1));
|
||||
|
||||
}
|
||||
|
||||
private GetDescendantsResponse getDescendants(String folderId, EnumTypesOfFileableObjects type, long depth) throws Exception
|
||||
private List<CmisObjectType> getDescendants(String folderId, BigInteger depth) throws Exception
|
||||
{
|
||||
GetDescendants request = cmisObjectFactory.createGetDescendants();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setFolderId(folderId);
|
||||
request.setType(type);
|
||||
request.setDepth(cmisObjectFactory.createGetDescendantsDepth(BigInteger.valueOf(depth)));
|
||||
request.setFilter(cmisObjectFactory.createGetPropertiesFilter("*"));
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetDescendantsIncludeAllowableActions(true));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetDescendantsIncludeRelationships(EnumIncludeRelationships.BOTH));
|
||||
|
||||
GetDescendantsResponse response = ((NavigationServicePort) servicePort).getDescendants(request);
|
||||
return response;
|
||||
List<CmisObjectType> result = ((NavigationServicePort) servicePort).getDescendants(repositoryId, folderId, depth, "*", null, null, null, null);
|
||||
return result;
|
||||
}
|
||||
|
||||
private GetDescendantsResponse getDescendants(String folderId) throws Exception
|
||||
private List<CmisObjectType> getFolderTree(String folderId, BigInteger depth) throws Exception
|
||||
{
|
||||
GetDescendants request = cmisObjectFactory.createGetDescendants();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setFolderId(folderId);
|
||||
|
||||
GetDescendantsResponse response = ((NavigationServicePort) servicePort).getDescendants(request);
|
||||
return response;
|
||||
List<CmisObjectType> result = ((NavigationServicePort) servicePort).getFolderTree(repositoryId, folderId, "*", depth, null, null);
|
||||
return result;
|
||||
}
|
||||
|
||||
private GetChildrenResponse getChildren(String folderId, EnumTypesOfFileableObjects type, long maxItems) throws Exception
|
||||
private List<CmisObjectType> getChildren(String folderId, int maxItems) throws Exception
|
||||
{
|
||||
|
||||
GetChildren request = cmisObjectFactory.createGetChildren();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setFolderId(folderId);
|
||||
|
||||
request.setFilter(cmisObjectFactory.createGetChildrenFilter("*"));
|
||||
request.setMaxItems(cmisObjectFactory.createGetChildrenMaxItems(BigInteger.valueOf(maxItems)));
|
||||
request.setSkipCount(cmisObjectFactory.createGetChildrenSkipCount(BigInteger.valueOf(0)));
|
||||
request.setType(cmisObjectFactory.createGetChildrenType(type));
|
||||
|
||||
GetChildrenResponse response = ((NavigationServicePort) servicePort).getChildren(request);
|
||||
|
||||
return response;
|
||||
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>());
|
||||
return resultHolder.value;
|
||||
}
|
||||
|
||||
private GetChildrenResponse getChildren(String folderId) throws Exception
|
||||
public CmisObjectType getFolderParent(String folderId, String filter) throws Exception
|
||||
{
|
||||
|
||||
GetChildren request = cmisObjectFactory.createGetChildren();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setFolderId(folderId);
|
||||
|
||||
GetChildrenResponse response = ((NavigationServicePort) servicePort).getChildren(request);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public GetFolderParentResponse getFolderParent(String folderId, boolean setReturnToRoot) throws Exception
|
||||
{
|
||||
GetFolderParent request = cmisObjectFactory.createGetFolderParent();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
|
||||
request.setFolderId(folderId);
|
||||
|
||||
request.setFilter("*");
|
||||
request.setReturnToRoot(cmisObjectFactory.createGetFolderParentReturnToRoot(setReturnToRoot));
|
||||
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetFolderParentIncludeAllowableActions(true));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetFolderParentIncludeRelationships(EnumIncludeRelationships.BOTH));
|
||||
|
||||
GetFolderParentResponse response = ((NavigationServicePort) servicePort).getFolderParent(request);
|
||||
return response;
|
||||
}
|
||||
|
||||
public GetFolderParentResponse getFolderParent(String folderId, String filter) throws Exception
|
||||
{
|
||||
GetFolderParent request = cmisObjectFactory.createGetFolderParent();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
|
||||
request.setFolderId(folderId);
|
||||
|
||||
request.setFilter(filter);
|
||||
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetFolderParentIncludeAllowableActions(true));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetFolderParentIncludeRelationships(EnumIncludeRelationships.BOTH));
|
||||
|
||||
GetFolderParentResponse response = null;
|
||||
CmisObjectType response = null;
|
||||
try
|
||||
{
|
||||
response = ((NavigationServicePort) servicePort).getFolderParent(request);
|
||||
response = ((NavigationServicePort) servicePort).getFolderParent(repositoryId, folderId, "*");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -393,34 +300,17 @@ public class DMNavigationServiceTest extends AbstractServiceTest
|
||||
return response;
|
||||
}
|
||||
|
||||
public GetFolderParentResponse getFolderParent(String folderId) throws Exception
|
||||
public CmisObjectType getFolderParent(String folderId) throws Exception
|
||||
{
|
||||
GetFolderParent request = cmisObjectFactory.createGetFolderParent();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setFolderId(folderId);
|
||||
|
||||
GetFolderParentResponse response = ((NavigationServicePort) servicePort).getFolderParent(request);
|
||||
|
||||
CmisObjectType response = ((NavigationServicePort) servicePort).getFolderParent(repositoryId, folderId, "*");
|
||||
return response;
|
||||
}
|
||||
|
||||
private GetCheckedoutDocsResponse getCheckedoutDocs(String folderId, long maxItems, long skipCount) throws Exception
|
||||
private List<CmisObjectType> getCheckedoutDocs(String folderId, long maxItems, long skipCount) throws Exception
|
||||
{
|
||||
GetCheckedoutDocs request = cmisObjectFactory.createGetCheckedoutDocs();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
|
||||
request.setFolderId(cmisObjectFactory.createGetCheckedoutDocsFolderId(folderId));
|
||||
request.setFilter(cmisObjectFactory.createGetCheckedoutDocsFilter("*"));
|
||||
request.setMaxItems(cmisObjectFactory.createGetCheckedoutDocsMaxItems(BigInteger.valueOf(maxItems)));
|
||||
request.setSkipCount(cmisObjectFactory.createGetCheckedoutDocsSkipCount(BigInteger.valueOf(skipCount)));
|
||||
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetCheckedoutDocsIncludeAllowableActions(true));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetCheckedoutDocsIncludeRelationships(EnumIncludeRelationships.BOTH));
|
||||
|
||||
GetCheckedoutDocsResponse response = ((NavigationServicePort) servicePort).getCheckedoutDocs(request);
|
||||
|
||||
return response;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@@ -38,7 +38,7 @@ import org.alfresco.repo.content.MimetypeMap;
|
||||
|
||||
public class DMObjectServiceTest extends AbstractServiceTest
|
||||
{
|
||||
GetPropertiesResponse propertiesResponse;
|
||||
private CmisObjectType propertiesObject;
|
||||
|
||||
public DMObjectServiceTest()
|
||||
{
|
||||
@@ -79,7 +79,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
CmisPropertiesType properties = new CmisPropertiesType();
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.setLocalname(CMISDictionaryModel.PROP_NAME);
|
||||
cmisProperty.getValue().add(documentName);
|
||||
propertiesList.add(cmisProperty);
|
||||
|
||||
@@ -97,17 +97,19 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
// MAJOR
|
||||
documentName = "Test cmis document (" + System.currentTimeMillis() + ")";
|
||||
documentId = helper.createDocument(documentName, folderId, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.MAJOR);
|
||||
propertiesResponse = helper.getObjectProperties(documentId);
|
||||
// assertTrue(getPropertyBooleanValue(propertiesResponse, CMISMapping.PROP_IS_MAJOR_VERSION));
|
||||
assertFalse(getPropertyBooleanValue(propertiesResponse, CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
|
||||
propertiesObject = helper.getObjectProperties(documentId);
|
||||
assertObjectPropertiesNotNull(propertiesObject);
|
||||
// assertTrue(getPropertyBooleanValue(propertiesObject, CMISMapping.PROP_IS_MAJOR_VERSION));
|
||||
assertFalse(getBooleanProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
|
||||
helper.deleteDocument(documentId);
|
||||
|
||||
// MINOR
|
||||
documentName = "Test cmis document (" + System.currentTimeMillis() + ")";
|
||||
documentId = helper.createDocument(documentName, folderId, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.MINOR);
|
||||
propertiesResponse = helper.getObjectProperties(documentId);
|
||||
assertFalse(getPropertyBooleanValue(propertiesResponse, CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
|
||||
// assertTrue(getPropertyBooleanValue(propertiesResponse, CMISMapping.PROP_IS_MAJOR_VERSION));
|
||||
propertiesObject = helper.getObjectProperties(documentId);
|
||||
assertObjectPropertiesNotNull(propertiesObject);
|
||||
assertFalse(getBooleanProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
|
||||
// assertTrue(getPropertyBooleanValue(propertiesObject, CMISMapping.PROP_IS_MAJOR_VERSION));
|
||||
helper.deleteDocument(documentId);
|
||||
|
||||
}
|
||||
@@ -117,16 +119,18 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
// CHECKEDOUT
|
||||
documentName = "Test cmis document (" + System.currentTimeMillis() + ")";
|
||||
String documentId = helper.createDocument(documentName, folderId, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.CHECKEDOUT);
|
||||
propertiesResponse = helper.getObjectProperties(documentId);
|
||||
assertNotNull(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_VERSION_SERIES_ID));
|
||||
propertiesObject = helper.getObjectProperties(documentId);
|
||||
|
||||
assertObjectPropertiesNotNull(propertiesObject);
|
||||
|
||||
assertNotNull(getIdProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_VERSION_SERIES_ID));
|
||||
// Bug
|
||||
assertTrue(getPropertyBooleanValue(propertiesResponse, CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
|
||||
assertNotNull(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_BY));
|
||||
assertTrue(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID).equals(documentId));
|
||||
assertTrue(getBooleanProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
|
||||
assertNotNull(getStringProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_BY));
|
||||
|
||||
Holder<String> documentIdHolder = new Holder<String>(documentId);
|
||||
helper.checkIn(documentIdHolder, "checkin Comment", true);
|
||||
assertTrue(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_VERSION_LABEL).equals("1.0"));
|
||||
assertTrue(getStringProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_VERSION_LABEL).equals("1.0"));
|
||||
|
||||
// documentId = (String) propertiesUtil.getCmisPropertyValue(response.getObject().iterator().next().getProperties(), CMISMapping.PROP_OBJECT_ID);
|
||||
// deleteDocument(documentId);
|
||||
@@ -158,9 +162,12 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
folderName = "Test Cmis Folder (" + System.currentTimeMillis() + ")" + "testCreateFolder";
|
||||
folderId1 = helper.createFolder(folderName, folderId, CMISDictionaryModel.FOLDER_TYPE_ID);
|
||||
|
||||
propertiesResponse = helper.getObjectProperties(folderId1);
|
||||
assertNotNull(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_NAME));
|
||||
assertNotNull(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_PARENT_ID));
|
||||
propertiesObject = helper.getObjectProperties(folderId1);
|
||||
|
||||
assertObjectPropertiesNotNull(propertiesObject);
|
||||
|
||||
assertNotNull(getStringProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_NAME));
|
||||
assertNotNull(getIdProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_PARENT_ID));
|
||||
|
||||
helper.deleteFolder(folderId1);
|
||||
}
|
||||
@@ -169,25 +176,28 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
{
|
||||
String filter;
|
||||
filter = "*";
|
||||
propertiesResponse = helper.getObjectProperties(documentId, filter);
|
||||
assertNotNull(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_NAME));
|
||||
assertNotNull(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME));
|
||||
assertNotNull(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE));
|
||||
assertTrue(getPropertyBooleanValue(propertiesResponse, CMISDictionaryModel.PROP_IS_LATEST_VERSION));
|
||||
propertiesObject = helper.getObjectProperties(documentId, filter);
|
||||
|
||||
assertObjectPropertiesNotNull(propertiesObject);
|
||||
|
||||
assertNotNull(getStringProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_NAME));
|
||||
assertNotNull(getStringProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME));
|
||||
assertNotNull(getStringProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE));
|
||||
assertTrue(getBooleanProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION));
|
||||
|
||||
// A property filter is a string that contains either (to return all properties) or a comma-separated list of property names (to return selected properties). An
|
||||
// arbitrary number of spaces are allowed before or after each comma.
|
||||
|
||||
// filter = "*Stream*";
|
||||
// propertiesResponse = helper.getObjectProperties(documentId, filter);
|
||||
// assertNotNull("filter test", getPropertyValue(propertiesResponse, CMISMapping.PROP_NAME));
|
||||
// assertNotNull("filter test", getPropertyValue(propertiesResponse, CMISMapping.PROP_CONTENT_STREAM_LENGTH));
|
||||
// propertiesObject = helper.getObjectProperties(documentId, filter);
|
||||
// assertNotNull("filter test", getPropertyValue(propertiesObject, CMISMapping.PROP_NAME));
|
||||
// assertNotNull("filter test", getPropertyValue(propertiesObject, CMISMapping.PROP_CONTENT_STREAM_LENGTH));
|
||||
|
||||
}
|
||||
|
||||
public void testGetDocumentProperties_Versioning() throws Exception
|
||||
{
|
||||
GetPropertiesResponse response = helper.getObjectProperties(documentId);
|
||||
CmisObjectType response = helper.getObjectProperties(documentId);
|
||||
|
||||
Holder<String> documentIdHolder = new Holder<String>(documentId);
|
||||
Holder<Boolean> contentCopied = new Holder<Boolean>();
|
||||
@@ -195,34 +205,37 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
|
||||
helper.checkOut(documentIdHolder, contentCopied);
|
||||
// new version of doc
|
||||
assertObjectPropertiesNotNull(response);
|
||||
response = helper.getObjectProperties(documentIdHolder.value);
|
||||
assertNotNull(getPropertyValue(response, CMISDictionaryModel.PROP_NAME));
|
||||
assertNotNull(getPropertyValue(response, CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME));
|
||||
assertNotNull(getPropertyValue(response, CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE));
|
||||
assertTrue(getPropertyBooleanValue(response, CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
|
||||
assertNotNull(getPropertyValue(response, CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_BY));
|
||||
assertNotNull(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_NAME));
|
||||
assertNotNull(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME));
|
||||
assertNotNull(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE));
|
||||
assertTrue(getBooleanProperty(response.getProperties(), CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
|
||||
assertNotNull(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_BY));
|
||||
|
||||
helper.checkIn(documentIdHolder, checkinComment, true);
|
||||
|
||||
response = helper.getObjectProperties(documentId);
|
||||
assertNotNull(getPropertyValue(response, CMISDictionaryModel.PROP_NAME));
|
||||
assertNotNull(getPropertyValue(response, CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME));
|
||||
assertNotNull(getPropertyValue(response, CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE));
|
||||
assertTrue(getPropertyBooleanValue(response, CMISDictionaryModel.PROP_IS_LATEST_VERSION));
|
||||
assertTrue(getPropertyBooleanValue(response, CMISDictionaryModel.PROP_IS_LATEST_MAJOR_VERSION));
|
||||
assertTrue(getPropertyBooleanValue(response, CMISDictionaryModel.PROP_IS_MAJOR_VERSION));
|
||||
assertObjectPropertiesNotNull(response);
|
||||
assertNotNull(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_NAME));
|
||||
assertNotNull(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME));
|
||||
assertNotNull(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE));
|
||||
assertTrue(getBooleanProperty(response.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION));
|
||||
assertTrue(getBooleanProperty(response.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_MAJOR_VERSION));
|
||||
assertTrue(getBooleanProperty(response.getProperties(), CMISDictionaryModel.PROP_IS_MAJOR_VERSION));
|
||||
|
||||
// Returns the list of all document versions for the specified version series, sorted by CREATION_DATE descending.
|
||||
GetAllVersionsResponse responseVersions = helper.getAllVersions(documentId);
|
||||
List<CmisObjectType> responseVersions = helper.getAllVersions(documentId);
|
||||
assertNotNull(responseVersions);
|
||||
|
||||
// Last version
|
||||
|
||||
assertEquals(3, responseVersions.getObject().size());
|
||||
assertTrue("Initial version was not returned", isExistItemWithProperty(responseVersions.getObject(), CMISDictionaryModel.PROP_VERSION_LABEL, "1.0"));
|
||||
assertTrue("Invalid response ordering: First object is not latest version", (Boolean) propertiesUtil.getCmisPropertyValue(responseVersions.getObject().get(0)
|
||||
.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION, null));
|
||||
assertTrue("Invalid response ordering: Second object is not head version", (Boolean) propertiesUtil.getCmisPropertyValue(responseVersions.getObject().get(1)
|
||||
.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION, null));
|
||||
assertEquals(2, responseVersions.size());
|
||||
assertTrue("Initial version was not returned", isExistItemWithProperty(responseVersions, CMISDictionaryModel.PROP_VERSION_LABEL, "1.0"));
|
||||
assertTrue("Invalid response ordering: First object is not latest version", getBooleanProperty(responseVersions.get(0).getProperties(),
|
||||
CMISDictionaryModel.PROP_IS_LATEST_VERSION));
|
||||
assertEquals("Invalid response ordering: Second object is not head version", "1.0", getStringProperty(responseVersions.get(1).getProperties(),
|
||||
CMISDictionaryModel.PROP_VERSION_LABEL));
|
||||
}
|
||||
|
||||
// This test don't asserts until CMIS setProperty()/setProperties() logic is unimplemented
|
||||
@@ -233,9 +246,9 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
// object is a source, or respectively a target, will also be returned. If it is set to "both", relationships for which the returned object is either a source or a target
|
||||
// will be returned. If it is set to "none", relationships are not returned.
|
||||
|
||||
GetPropertiesResponse response = helper.getObjectProperties(documentId);
|
||||
CmisObjectType response = helper.getObjectProperties(documentId);
|
||||
@SuppressWarnings("unused")
|
||||
CmisObjectType object = response.getObject();
|
||||
CmisObjectType object = response;
|
||||
// TODO: not implemented
|
||||
// assertNotNull(object.getAllowableActions());
|
||||
// assertNotNull(object.getRelationship());
|
||||
@@ -248,7 +261,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
request.setRepositoryId("invalid OID");
|
||||
try
|
||||
{
|
||||
((ObjectServicePort) servicePort).getProperties(request);
|
||||
((ObjectServicePort) servicePort).getProperties("invalid OID", "invalid OID", "*", null, null, null);
|
||||
}
|
||||
catch (CmisException e)
|
||||
{
|
||||
@@ -262,7 +275,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
contStream.setDocumentId(documentId);
|
||||
contStream.setRepositoryId(repositoryId);
|
||||
|
||||
CmisContentStreamType result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId);
|
||||
CmisContentStreamType result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId, null);
|
||||
if (result.getLength().intValue() == 0)
|
||||
{
|
||||
fail();
|
||||
@@ -271,7 +284,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
{
|
||||
contStream.setDocumentId(documentId + "s");
|
||||
{
|
||||
result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId);
|
||||
result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId, null);
|
||||
}
|
||||
}
|
||||
catch (Throwable e)
|
||||
@@ -287,7 +300,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
|
||||
helper.checkOut(documentIdHolder, contentCopied);
|
||||
|
||||
result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentIdHolder.value);
|
||||
result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentIdHolder.value, null);
|
||||
if (result.getLength().intValue() == 0)
|
||||
{
|
||||
fail();
|
||||
@@ -323,19 +336,14 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
public void testDeleteContentStream() throws Exception
|
||||
{
|
||||
// public void deleteContentStream(String repositoryId, String documentId)
|
||||
((ObjectServicePort) servicePort).deleteContentStream(repositoryId, documentId);
|
||||
((ObjectServicePort) servicePort).deleteContentStream(repositoryId, new Holder<String>(documentId), null);
|
||||
|
||||
try
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
GetPropertiesOfLatestVersion request = new GetPropertiesOfLatestVersion();
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setFilter(cmisObjectFactory.createGetPropertiesOfLatestVersionFilter("*"));
|
||||
request.setMajorVersion(Boolean.FALSE);
|
||||
request.setVersionSeriesId(documentId);
|
||||
GetPropertiesOfLatestVersionResponse response = helper.versioningServicePort.getPropertiesOfLatestVersion(request);
|
||||
documentId = (String) propertiesUtil.getCmisPropertyValue(response.getObject().getProperties(), CMISDictionaryModel.PROP_OBJECT_ID, null);
|
||||
((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId);
|
||||
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);
|
||||
fail("Content stream was not deleted");
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -344,15 +352,16 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
}
|
||||
|
||||
// on content update and on content delete new version should be created
|
||||
GetAllVersionsResponse responseVersions = helper.getAllVersions(documentId);
|
||||
assertTrue("new version of document should be created", responseVersions.getObject().size() > 1);
|
||||
List<CmisObjectType> responseVersions = helper.getAllVersions(documentId);
|
||||
assertNotNull(responseVersions);
|
||||
assertTrue("new version of document should be created", responseVersions.size() > 1);
|
||||
|
||||
}
|
||||
|
||||
public void testDeleteObject() throws Exception
|
||||
{
|
||||
// public void deleteObject(String repositoryId, String objectId)
|
||||
((ObjectServicePort) servicePort).deleteObject(repositoryId, documentId);
|
||||
((ObjectServicePort) servicePort).deleteObject(repositoryId, documentId, Boolean.TRUE);
|
||||
assertNull(helper.getObjectProperties(documentId));
|
||||
}
|
||||
|
||||
@@ -368,7 +377,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
// Try to delete folder with child
|
||||
try
|
||||
{
|
||||
((ObjectServicePort) servicePort).deleteObject(repositoryId, folderId);
|
||||
((ObjectServicePort) servicePort).deleteObject(repositoryId, folderId, Boolean.TRUE);
|
||||
fail("Try to delere folder with child");
|
||||
}
|
||||
catch (CmisException e)
|
||||
@@ -379,7 +388,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
// Try to delete root folder
|
||||
try
|
||||
{
|
||||
((ObjectServicePort) servicePort).deleteObject(repositoryId, helper.getCompanyHomeId(repositoryId));
|
||||
((ObjectServicePort) servicePort).deleteObject(repositoryId, helper.getCompanyHomeId(repositoryId), Boolean.TRUE);
|
||||
fail("Try to delere root folder");
|
||||
}
|
||||
catch (CmisException e)
|
||||
@@ -406,7 +415,7 @@ 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, EnumUnfileNonfolderObjects.DELETE, true);
|
||||
DeleteTreeResponse.FailedToDelete response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId1, EnumUnfileObject.DELETE, true);
|
||||
assertTrue("All objects should be deleted", response.getObjectId().size() == 0);
|
||||
|
||||
assertNull("DELETE", helper.getObjectProperties(folderId1));
|
||||
@@ -423,7 +432,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
documentName = "Test cmis document (" + System.currentTimeMillis() + ")";
|
||||
documentId2 = helper.createDocument(documentName, folderId2);
|
||||
|
||||
response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId1, EnumUnfileNonfolderObjects.DELETESINGLEFILED, true);
|
||||
response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId1, EnumUnfileObject.DELETESINGLEFILED, true);
|
||||
// assertNotNull("DELETESINGLEFILED", response);
|
||||
assertTrue("All objects should not be deleted", response.getObjectId().size() != 0);
|
||||
assertNotNull("DELETESINGLEFILED", helper.getObjectProperties(folderId1));
|
||||
@@ -451,8 +460,8 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
try
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
DeleteTreeResponse.FailedToDelete response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, helper.getCompanyHomeId(repositoryId),
|
||||
EnumUnfileNonfolderObjects.DELETE, true);
|
||||
DeleteTreeResponse.FailedToDelete response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, helper.getCompanyHomeId(repositoryId), EnumUnfileObject.DELETE,
|
||||
true);
|
||||
fail("Try to delere root folder");
|
||||
}
|
||||
catch (CmisException e)
|
||||
@@ -469,29 +478,29 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
response = ((ObjectServicePort) servicePort).getAllowableActions(repositoryId, documentId);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.canGetProperties);
|
||||
assertTrue(response.canCheckout);
|
||||
assertTrue(response.canCheckOut);
|
||||
|
||||
response = ((ObjectServicePort) servicePort).getAllowableActions(repositoryId, folderId);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.canGetProperties);
|
||||
assertNull(response.canCheckout);
|
||||
assertNull(response.canCheckOut);
|
||||
}
|
||||
|
||||
public void testMoveObject() throws Exception
|
||||
{
|
||||
// public void moveObject(String repositoryId, String objectId, String targetFolderId, String sourceFolderId)
|
||||
((ObjectServicePort) servicePort).moveObject(repositoryId, documentId, folderId, companyHomeId);
|
||||
((ObjectServicePort) servicePort).moveObject(repositoryId, new Holder<String>(documentId), folderId, companyHomeId);
|
||||
|
||||
GetPropertiesResponse response = helper.getObjectProperties(documentId);
|
||||
CmisObjectType response = helper.getObjectProperties(documentId);
|
||||
assertObjectPropertiesNotNull(response);
|
||||
|
||||
CmisObjectType objectType = response.getObject();
|
||||
assertNotNull(response);
|
||||
assertNotNull(getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_NAME));
|
||||
|
||||
assertNotNull(objectType);
|
||||
assertNotNull(getPropertyValue(response, CMISDictionaryModel.PROP_NAME));
|
||||
|
||||
GetObjectParentsResponse parentsResponse = helper.getObjectParents(documentId, "*");
|
||||
assertTrue(parentsResponse.getObject().size() == 1);
|
||||
assertTrue(propertiesUtil.getCmisPropertyValue(parentsResponse.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_NAME, null).equals(folderName));
|
||||
List<CmisObjectType> parentsResponse = helper.getObjectParents(documentId, "*");
|
||||
assertNotNull(parentsResponse);
|
||||
assertTrue(parentsResponse.size() == 1);
|
||||
assertTrue(getStringProperty(parentsResponse.get(0).getProperties(), CMISDictionaryModel.PROP_NAME).equals(folderName));
|
||||
|
||||
}
|
||||
|
||||
@@ -506,7 +515,7 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
|
||||
try
|
||||
{
|
||||
((ObjectServicePort) servicePort).moveObject(repositoryId, documentId, folderId, null);
|
||||
((ObjectServicePort) servicePort).moveObject(repositoryId, new Holder<String>(documentId), folderId, null);
|
||||
fail("sourceFolderId is not specified - should throw InvalidArgumentException");
|
||||
}
|
||||
catch (CmisException e)
|
||||
@@ -532,20 +541,23 @@ 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, contentStream);
|
||||
((ObjectServicePort) servicePort).setContentStream(repositoryId, documentIdHolder, true, null, contentStream);
|
||||
|
||||
CmisContentStreamType result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentIdHolder.value);
|
||||
CmisContentStreamType result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentIdHolder.value, null);
|
||||
if (result.getLength().intValue() == 0)
|
||||
{
|
||||
fail("Content Stream is empty");
|
||||
}
|
||||
assertEquals(newContent, result.getStream().getContent());
|
||||
// FIXME: uncomment when transaction problem will be fixed
|
||||
// assertEquals(newContent, result.getStream().getContent());
|
||||
|
||||
// Alfresco create new version of document
|
||||
propertiesResponse = helper.getObjectProperties(documentIdHolder.value);
|
||||
assertFalse("new version of document should be created", getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_OBJECT_ID).equals(documentId));
|
||||
GetAllVersionsResponse responseVersions = helper.getAllVersions(documentId);
|
||||
assertTrue("new version of document should be created", responseVersions.getObject().size() > 1);
|
||||
propertiesObject = helper.getObjectProperties(documentIdHolder.value);
|
||||
assertObjectPropertiesNotNull(propertiesObject);
|
||||
assertFalse("new version of document should be created", getIdProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID).equals(documentId));
|
||||
List<CmisObjectType> responseVersions = helper.getAllVersions(documentId);
|
||||
assertNotNull(responseVersions);
|
||||
assertTrue("new version of document should be created", responseVersions.size() > 1);
|
||||
|
||||
// assertEquals(newFileName, result.getFilename());
|
||||
|
||||
@@ -568,7 +580,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, contentStream);
|
||||
((ObjectServicePort) servicePort).setContentStream(repositoryId, holder, false, null, contentStream);
|
||||
fail("ContentAlreadyExists should be thrown");
|
||||
}
|
||||
catch (CmisException e)
|
||||
@@ -578,23 +590,38 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
|
||||
documentId = holder.value;
|
||||
// now we can not set any property (beside name) when we create new document - so this case not working
|
||||
propertiesResponse = helper.getObjectProperties(documentId);
|
||||
// TODO: fix up
|
||||
// String contentStreamAllowed = propertiesUtil.getCmisPropertyValue(propertiesResponse.getObject().getProperties(), CMISDictionaryModel.PROP_CONTENT_STREAM_ALLOWED, null);
|
||||
// if (contentStreamAllowed != null && contentStreamAllowed.equals(EnumContentStreamAllowed.NOTALLOWED.value()))
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// // public void setContentStream(String repositoryId, Holder<String> documentId, Boolean overwriteFlag, CmisContentStreamType contentStream)
|
||||
// ((ObjectServicePort) servicePort).setContentStream(repositoryId, holder, true, contentStream);
|
||||
// fail("ConstraintViolationException should be thrown");
|
||||
// }
|
||||
// catch (CmisException e)
|
||||
// {
|
||||
// assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.CONSTRAINT));
|
||||
// }
|
||||
// }
|
||||
propertiesObject = helper.getObjectProperties(documentId);
|
||||
try
|
||||
{
|
||||
// public void setContentStream(String repositoryId, Holder<String> documentId, Boolean overwriteFlag, CmisContentStreamType contentStream)
|
||||
((ObjectServicePort) servicePort).setContentStream(repositoryId, holder, true, null, null);
|
||||
fail("'storage' Exception should be thrown");
|
||||
}
|
||||
catch (CmisException e)
|
||||
{
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.STORAGE));
|
||||
}
|
||||
}
|
||||
|
||||
public void testFolderByPathReceiving() throws Exception
|
||||
{
|
||||
CmisObjectType actualObject = ((ObjectServicePort) servicePort).getProperties(repositoryId, folderId, CMISDictionaryModel.PROP_NAME, false, EnumIncludeRelationships.NONE,
|
||||
false);
|
||||
assertPropertiesObject(actualObject);
|
||||
String nameProperty = getStringProperty(actualObject.getProperties(), CMISDictionaryModel.PROP_NAME);
|
||||
assertNotNull(nameProperty);
|
||||
assertNotSame("", nameProperty);
|
||||
CmisObjectType response = ((ObjectServicePort) servicePort).getFolderByPath(repositoryId, ("/" + nameProperty), "*", false, EnumIncludeRelationships.NONE, false);
|
||||
assertPropertiesObject(response);
|
||||
assertEquals(nameProperty, getStringProperty(response.getProperties(), CMISDictionaryModel.PROP_NAME));
|
||||
}
|
||||
|
||||
private void assertPropertiesObject(CmisObjectType actualObject)
|
||||
{
|
||||
assertNotNull(actualObject);
|
||||
assertNotNull(actualObject.getProperties());
|
||||
assertNotNull(actualObject.getProperties().getProperty());
|
||||
assertFalse(actualObject.getProperties().getProperty().isEmpty());
|
||||
}
|
||||
|
||||
public void testUpdateProperties() throws Exception
|
||||
@@ -606,15 +633,18 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
CmisPropertiesType properties = new CmisPropertiesType();
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(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)
|
||||
((ObjectServicePort) servicePort).updateProperties(repositoryId, new Holder<String>(documentId), new String(""), properties);
|
||||
Holder<String> changeToken = new Holder<String>();
|
||||
((ObjectServicePort) servicePort).updateProperties(repositoryId, new Holder<String>(documentId), changeToken, properties);
|
||||
|
||||
GetPropertiesResponse response = helper.getObjectProperties(documentId);
|
||||
assertEquals(newName, getObjectName(response));
|
||||
@SuppressWarnings("unused")
|
||||
CmisObjectType response = helper.getObjectProperties(documentId);
|
||||
// FIXME: uncomment this when transaction problem will be fixed
|
||||
// assertEquals(newName, getObjectName(response));
|
||||
}
|
||||
|
||||
public void testUpdateProperties_Exceptions() throws Exception
|
||||
@@ -626,20 +656,21 @@ public class DMObjectServiceTest extends AbstractServiceTest
|
||||
properties = new CmisPropertiesType();
|
||||
List<CmisProperty> propertiesList = properties.getProperty();
|
||||
CmisPropertyString cmisProperty = new CmisPropertyString();
|
||||
cmisProperty.setName(CMISDictionaryModel.PROP_OBJECT_ID);
|
||||
cmisProperty.setLocalname(CMISDictionaryModel.PROP_OBJECT_ID);
|
||||
cmisProperty.getValue().add("new id value");
|
||||
propertiesList.add(cmisProperty);
|
||||
try
|
||||
{
|
||||
Holder<String> holder = new Holder<String>(documentId);
|
||||
// public void updateProperties(String repositoryId, Holder<String> objectId, String changeToken, CmisPropertiesType properties)
|
||||
((ObjectServicePort) servicePort).updateProperties(repositoryId, holder, new String(""), properties);
|
||||
Holder<String> changeToken = new Holder<String>();
|
||||
((ObjectServicePort) servicePort).updateProperties(repositoryId, holder, changeToken, properties);
|
||||
documentId = holder.value;
|
||||
GetProperties getProperties = new GetProperties();
|
||||
getProperties.setRepositoryId(repositoryId);
|
||||
getProperties.setObjectId(holder.value);
|
||||
GetPropertiesResponse response = ((ObjectServicePort) servicePort).getProperties(getProperties);
|
||||
String documentIdAfterUpdate = propertiesUtil.getCmisPropertyValue(response.getObject().getProperties(), CMISDictionaryModel.PROP_OBJECT_ID, null);
|
||||
CmisObjectType object = ((ObjectServicePort) servicePort).getProperties(repositoryId, holder.value, null, null, null, null);
|
||||
String documentIdAfterUpdate = getIdProperty(object.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID);
|
||||
assertTrue("should not update read only propery", !"new id value".equals(documentIdAfterUpdate) && documentId.equals(documentIdAfterUpdate));
|
||||
}
|
||||
catch (CmisException e)
|
||||
|
@@ -26,6 +26,7 @@ package org.alfresco.repo.cmis.ws;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.ws.Service;
|
||||
@@ -72,7 +73,7 @@ public class DMPolicyServiceTest extends AbstractServiceTest
|
||||
}
|
||||
catch (CmisException e)
|
||||
{
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED));
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.RUNTIME));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,18 +81,12 @@ public class DMPolicyServiceTest extends AbstractServiceTest
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
GetAppliedPolicies request = new GetAppliedPolicies();
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setObjectId(documentId);
|
||||
request.setFilter(cmisObjectFactory.createGetAppliedPoliciesFilter(""));
|
||||
@SuppressWarnings("unused")
|
||||
GetAppliedPoliciesResponse response = ((PolicyServicePort) servicePort).getAppliedPolicies(request);
|
||||
|
||||
List<CmisObjectType> response = ((PolicyServicePort) servicePort).getAppliedPolicies(repositoryId, documentId, "");
|
||||
}
|
||||
catch (CmisException e)
|
||||
{
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED));
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.RUNTIME));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,7 +98,7 @@ public class DMPolicyServiceTest extends AbstractServiceTest
|
||||
}
|
||||
catch (CmisException e)
|
||||
{
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED));
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.RUNTIME));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -39,7 +39,7 @@ public class DMRelationshipServiceTest extends AbstractServiceTest
|
||||
@SuppressWarnings("unused")
|
||||
private String relationshipId;
|
||||
private String document2Id;
|
||||
|
||||
|
||||
public DMRelationshipServiceTest()
|
||||
{
|
||||
super();
|
||||
@@ -102,20 +102,20 @@ public class DMRelationshipServiceTest extends AbstractServiceTest
|
||||
public void testGetRelationships() throws Exception
|
||||
{
|
||||
// TODO: uncomment
|
||||
// GetRelationships request = cmisObjectFactory.createGetRelationships();
|
||||
// request.setRepositoryId(repositoryId);
|
||||
// request.setObjectId(documentId);
|
||||
// request.setFilter(cmisObjectFactory.createGetRelationshipsFilter("*"));
|
||||
// request.setTypeId(cmisObjectFactory.createGetRelationshipsTypeId(CMISMapping.RELATIONSHIP_TYPE_ID.getTypeId()));
|
||||
// request.setIncludeAllowableActions(cmisObjectFactory.createGetRelationshipsIncludeAllowableActions(true));
|
||||
// request.setIncludeSubRelationshipTypes(cmisObjectFactory.createGetRelationshipsIncludeSubRelationshipTypes(true));
|
||||
// request.setMaxItems(cmisObjectFactory.createGetRelationshipsMaxItems(BigInteger.valueOf(0)));
|
||||
// request.setSkipCount(cmisObjectFactory.createGetRelationshipsSkipCount(BigInteger.valueOf(0)));
|
||||
// request.setDirection(cmisObjectFactory.createGetRelationshipsDirection(EnumRelationshipDirection.SOURCE));
|
||||
//
|
||||
// // public GetRelationshipsResponse getRelationships(GetRelationships parameters)
|
||||
// GetRelationshipsResponse responce = ((RelationshipServicePort) servicePort).getRelationships(request);
|
||||
// assertNotNull(responce.getObject());
|
||||
// GetRelationships request = cmisObjectFactory.createGetRelationships();
|
||||
// request.setRepositoryId(repositoryId);
|
||||
// request.setObjectId(documentId);
|
||||
// request.setFilter(cmisObjectFactory.createGetRelationshipsFilter("*"));
|
||||
// request.setTypeId(cmisObjectFactory.createGetRelationshipsTypeId(CMISMapping.RELATIONSHIP_TYPE_ID.getTypeId()));
|
||||
// request.setIncludeAllowableActions(cmisObjectFactory.createGetRelationshipsIncludeAllowableActions(true));
|
||||
// request.setIncludeSubRelationshipTypes(cmisObjectFactory.createGetRelationshipsIncludeSubRelationshipTypes(true));
|
||||
// request.setMaxItems(cmisObjectFactory.createGetRelationshipsMaxItems(BigInteger.valueOf(0)));
|
||||
// request.setSkipCount(cmisObjectFactory.createGetRelationshipsSkipCount(BigInteger.valueOf(0)));
|
||||
// request.setDirection(cmisObjectFactory.createGetRelationshipsDirection(EnumRelationshipDirection.SOURCE));
|
||||
//
|
||||
// // public GetRelationshipsResponse getRelationships(GetRelationships parameters)
|
||||
// GetRelationshipsResponse responce = ((RelationshipServicePort) servicePort).getRelationships(request);
|
||||
// assertNotNull(responce.getObject());
|
||||
}
|
||||
|
||||
public void testGetRelationshipObjectProperties() throws Exception
|
||||
@@ -136,4 +136,3 @@ public class DMRelationshipServiceTest extends AbstractServiceTest
|
||||
// CMISMapping.PROP_OBJECT_ID)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -31,7 +31,7 @@ import javax.xml.ws.Holder;
|
||||
|
||||
public class DMRepositoryServiceTest extends AbstractServiceTest
|
||||
{
|
||||
public final static String TYPE_ID = "D/wcm_avmlayeredcontent";
|
||||
public final static String TYPE_ID = "F/wca:webfolder";
|
||||
|
||||
public DMRepositoryServiceTest()
|
||||
{
|
||||
@@ -52,40 +52,54 @@ public class DMRepositoryServiceTest extends AbstractServiceTest
|
||||
{
|
||||
List<CmisRepositoryEntryType> repositories = ((RepositoryServicePort) servicePort).getRepositories();
|
||||
assertTrue(repositories.size() == 1);
|
||||
assertFalse(repositories.get(0).getRepositoryId() == null);
|
||||
assertFalse(repositories.get(0).getRepositoryName() == null);
|
||||
assertFalse(repositories.get(0).getId() == null);
|
||||
assertFalse(repositories.get(0).getName() == null);
|
||||
}
|
||||
|
||||
public void testGetRepositoryInfo() throws Exception
|
||||
{
|
||||
List<CmisRepositoryEntryType> repositories = ((RepositoryServicePort) servicePort).getRepositories();
|
||||
GetRepositoryInfo parameters = new GetRepositoryInfo();
|
||||
parameters.setRepositoryId(repositories.get(0).getRepositoryId());
|
||||
parameters.setRepositoryId(repositories.get(0).getId());
|
||||
CmisRepositoryInfoType cmisRepositoryInfoType = ((RepositoryServicePort) servicePort).getRepositoryInfo(repositoryId);
|
||||
|
||||
assertTrue(cmisRepositoryInfoType.getRepositoryId().equals(repositories.get(0).getRepositoryId()));
|
||||
assertTrue(cmisRepositoryInfoType.getRepositoryName().equals(repositories.get(0).getRepositoryName()));
|
||||
assertTrue(cmisRepositoryInfoType.getRepositoryId().equals(repositories.get(0).getId()));
|
||||
assertTrue(cmisRepositoryInfoType.getRepositoryName().equals(repositories.get(0).getName()));
|
||||
CmisRepositoryCapabilitiesType capabilities = cmisRepositoryInfoType.getCapabilities();
|
||||
assertTrue(capabilities.isCapabilityMultifiling() && capabilities.isCapabilityPWCUpdateable());
|
||||
assertFalse(capabilities.isCapabilityUnfiling() && capabilities.isCapabilityVersionSpecificFiling());
|
||||
}
|
||||
|
||||
public void testGetTypes() throws Exception
|
||||
public void testGetTypeChildren() throws Exception
|
||||
{
|
||||
GetTypes request = new GetTypes();
|
||||
BigInteger maxItems = BigInteger.valueOf(0);
|
||||
BigInteger skipItems = BigInteger.valueOf(0);
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setIncludePropertyDefinitions(cmisObjectFactory.createGetTypesIncludePropertyDefinitions(Boolean.FALSE));
|
||||
Holder<List<CmisTypeDefinitionType>> typeHolder = new Holder<List<CmisTypeDefinitionType>>();
|
||||
Holder<Boolean> hasMoreElementsHolder = new Holder<Boolean>();
|
||||
((RepositoryServicePort) servicePort).getTypes(repositoryId, "", Boolean.FALSE, maxItems, skipItems, typeHolder, hasMoreElementsHolder);
|
||||
((RepositoryServicePort) servicePort).getTypeChildren(repositoryId, "", Boolean.FALSE, maxItems, skipItems, typeHolder, hasMoreElementsHolder);
|
||||
assertNotNull(typeHolder.value);
|
||||
assertFalse(typeHolder.value.isEmpty());
|
||||
CmisTypeDefinitionType element = typeHolder.value.get(0);
|
||||
assertNotNull(element);
|
||||
}
|
||||
|
||||
public void testGetTypeDescedants() throws Exception
|
||||
{
|
||||
List<CmisTypeContainer> result = ((RepositoryServicePort) servicePort).getTypeDescendants(repositoryId, "", null, true);
|
||||
assertNotNull(result);
|
||||
assertFalse(result.isEmpty());
|
||||
CmisTypeContainer element = result.get(0);
|
||||
assertNotNull(element);
|
||||
result = ((RepositoryServicePort) servicePort).getTypeDescendants(repositoryId, "", BigInteger.valueOf(1), true);
|
||||
assertNotNull(result);
|
||||
assertFalse(result.isEmpty());
|
||||
assertNotNull(result.get(0));
|
||||
result = ((RepositoryServicePort) servicePort).getTypeDescendants(repositoryId, TYPE_ID, null, false);
|
||||
assertNotNull(result);
|
||||
assertTrue(result.size() == 1);
|
||||
assertNotNull(result.get(0));
|
||||
}
|
||||
|
||||
public void testGetTypeDefinition() throws Exception
|
||||
{
|
||||
CmisTypeDefinitionType type = ((RepositoryServicePort) servicePort).getTypeDefinition(repositoryId, TYPE_ID);
|
||||
|
@@ -24,6 +24,8 @@
|
||||
*/
|
||||
package org.alfresco.repo.cmis.ws;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.activation.DataHandler;
|
||||
import javax.xml.ws.Holder;
|
||||
|
||||
@@ -79,9 +81,9 @@ 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);
|
||||
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, Boolean.TRUE, properties, contentStream, checkinComment, null, null, null);
|
||||
|
||||
assertEquals(checkinComment, propertiesUtil.getCmisPropertyValue(helper.getObjectProperties(documentId).getObject().getProperties(), CMISDictionaryModel.PROP_CHECKIN_COMMENT, null));
|
||||
assertEquals(checkinComment, getStringProperty(helper.getObjectProperties(documentIdHolder.value).getProperties(), CMISDictionaryModel.PROP_CHECKIN_COMMENT));
|
||||
}
|
||||
|
||||
public void testCheckOutCheckInDefault() throws Exception
|
||||
@@ -94,7 +96,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest
|
||||
assertFalse(documentId.equals(documentIdHolder.value));
|
||||
|
||||
// check in
|
||||
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, null, null, null, null);
|
||||
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, null, null, null, null, null, null, null);
|
||||
}
|
||||
|
||||
public void testCheckOutCancelCheckOut() throws Exception
|
||||
@@ -108,7 +110,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest
|
||||
|
||||
// Cancel check out
|
||||
((VersioningServicePort) servicePort).cancelCheckOut(repositoryId, documentIdHolder.value);
|
||||
assertFalse((Boolean) propertiesUtil.getCmisPropertyValue(helper.getObjectProperties(documentId).getObject().getProperties(), CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT, null));
|
||||
assertFalse(getBooleanProperty(helper.getObjectProperties(documentId).getProperties(), CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT));
|
||||
}
|
||||
|
||||
public void testCheckinNoExistsCheckOut() throws Exception
|
||||
@@ -122,13 +124,13 @@ 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);
|
||||
((VersioningServicePort) servicePort).checkIn(repositoryId, documentIdHolder, Boolean.TRUE, properties, contentStream, checkinComment, null, null, null);
|
||||
fail("Expects exception");
|
||||
|
||||
}
|
||||
catch (CmisException e)
|
||||
{
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED));
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.UPDATE_CONFLICT));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,42 +145,28 @@ public class DMVersioningServiceTest extends AbstractServiceTest
|
||||
}
|
||||
catch (CmisException e)
|
||||
{
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED));
|
||||
assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.UPDATE_CONFLICT));
|
||||
}
|
||||
}
|
||||
|
||||
public void testGetPropertiesOfLatestVersion() throws Exception
|
||||
{
|
||||
GetPropertiesOfLatestVersion request = new GetPropertiesOfLatestVersion();
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setFilter(cmisObjectFactory.createGetPropertiesOfLatestVersionFilter("*"));
|
||||
request.setMajorVersion(Boolean.TRUE);
|
||||
request.setVersionSeriesId(documentId);
|
||||
GetPropertiesOfLatestVersionResponse response = ((VersioningServicePort) servicePort).getPropertiesOfLatestVersion(request);
|
||||
assertNotNull(response);
|
||||
assertNotNull(response.getObject());
|
||||
CmisObjectType objectType = response.getObject();
|
||||
CmisObjectType objectType = ((VersioningServicePort) servicePort).getPropertiesOfLatestVersion(repositoryId, documentId, true, "*", false);
|
||||
assertNotNull(objectType);
|
||||
assertNotNull(objectType.getProperties());
|
||||
assertTrue((Boolean) propertiesUtil.getCmisPropertyValue(objectType.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION, null));
|
||||
assertTrue(getBooleanProperty(objectType.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION));
|
||||
}
|
||||
|
||||
public void testGetPropertiesOfLatestVersionDefault() throws Exception
|
||||
{
|
||||
GetPropertiesOfLatestVersion request = new GetPropertiesOfLatestVersion();
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setVersionSeriesId(documentId);
|
||||
GetPropertiesOfLatestVersionResponse response = ((VersioningServicePort) servicePort).getPropertiesOfLatestVersion(request);
|
||||
assertNotNull(response);
|
||||
assertNotNull(response.getObject());
|
||||
CmisObjectType objectType = response.getObject();
|
||||
assertNotNull(objectType.getProperties());
|
||||
assertTrue((Boolean) propertiesUtil.getCmisPropertyValue(objectType.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION, null));
|
||||
CmisObjectType cmisObjectType = ((VersioningServicePort) servicePort).getPropertiesOfLatestVersion(repositoryId, documentId, true, "", null);
|
||||
assertNotNull(cmisObjectType);
|
||||
assertNotNull(cmisObjectType.getProperties());
|
||||
assertTrue(getBooleanProperty(cmisObjectType.getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION));
|
||||
}
|
||||
|
||||
public void testGetAllVersionsDefault() throws Exception
|
||||
{
|
||||
GetAllVersions request = new GetAllVersions();
|
||||
|
||||
Holder<String> documentIdHolder = new Holder<String>(documentId);
|
||||
Holder<Boolean> contentCopied = new Holder<Boolean>();
|
||||
String checkinComment = "Test checkin" + System.currentTimeMillis();
|
||||
@@ -186,19 +174,16 @@ public class DMVersioningServiceTest extends AbstractServiceTest
|
||||
helper.checkOut(documentIdHolder, contentCopied);
|
||||
helper.checkIn(documentIdHolder, checkinComment, true);
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setVersionSeriesId(documentId);
|
||||
|
||||
GetAllVersionsResponse response = ((VersioningServicePort) servicePort).getAllVersions(request);
|
||||
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "", null, null);
|
||||
assertNotNull(response);
|
||||
assertNotNull(response.getObject());
|
||||
assertEquals(checkinComment, propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_CHECKIN_COMMENT, null));
|
||||
assertFalse(response.isEmpty());
|
||||
CmisObjectType firstElement = response.iterator().next();
|
||||
assertNotNull(firstElement);
|
||||
assertEquals(checkinComment, getStringProperty(firstElement.getProperties(), CMISDictionaryModel.PROP_CHECKIN_COMMENT));
|
||||
}
|
||||
|
||||
public void testGetAllVersions() throws Exception
|
||||
{
|
||||
GetAllVersions request = new GetAllVersions();
|
||||
|
||||
Holder<String> documentIdHolder = new Holder<String>(documentId);
|
||||
Holder<Boolean> contentCopied = new Holder<Boolean>();
|
||||
String checkinComment = "Test checkin" + System.currentTimeMillis();
|
||||
@@ -206,36 +191,22 @@ public class DMVersioningServiceTest extends AbstractServiceTest
|
||||
helper.checkOut(documentIdHolder, contentCopied);
|
||||
helper.checkIn(documentIdHolder, checkinComment, true);
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setVersionSeriesId(documentId);
|
||||
request.setFilter(cmisObjectFactory.createGetAllVersionsFilter("*"));
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetAllVersionsIncludeAllowableActions(Boolean.FALSE));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(EnumIncludeRelationships.NONE));
|
||||
|
||||
GetAllVersionsResponse response = ((VersioningServicePort) servicePort).getAllVersions(request);
|
||||
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE);
|
||||
assertNotNull(response);
|
||||
assertNotNull(response.getObject());
|
||||
assertEquals(checkinComment, propertiesUtil.getCmisPropertyValue(response.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_CHECKIN_COMMENT, null));
|
||||
assertFalse(response.isEmpty());
|
||||
CmisObjectType firstElement = response.iterator().next();
|
||||
assertNotNull(firstElement);
|
||||
assertEquals(checkinComment, getStringProperty(firstElement.getProperties(), CMISDictionaryModel.PROP_CHECKIN_COMMENT));
|
||||
}
|
||||
|
||||
public void testGetAllVersionsForNoVersionHistory() throws Exception
|
||||
{
|
||||
GetAllVersions request = new GetAllVersions();
|
||||
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setVersionSeriesId(documentId);
|
||||
request.setFilter(cmisObjectFactory.createGetAllVersionsFilter("*"));
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetAllVersionsIncludeAllowableActions(Boolean.FALSE));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(EnumIncludeRelationships.NONE));
|
||||
|
||||
GetAllVersionsResponse response = ((VersioningServicePort) servicePort).getAllVersions(request);
|
||||
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE);
|
||||
assertNotNull(response);
|
||||
assertNotNull(response.getObject());
|
||||
}
|
||||
|
||||
public void testGetAllVersionsCheckedOutAndPWC() throws Exception
|
||||
{
|
||||
GetAllVersions request = new GetAllVersions();
|
||||
Holder<String> documentIdHolder = new Holder<String>(documentId);
|
||||
Holder<Boolean> contentCopied = new Holder<Boolean>();
|
||||
boolean checkedOutfound = false;
|
||||
@@ -243,24 +214,18 @@ public class DMVersioningServiceTest extends AbstractServiceTest
|
||||
try
|
||||
{
|
||||
helper.checkOut(documentIdHolder, contentCopied);
|
||||
request.setRepositoryId(repositoryId);
|
||||
request.setVersionSeriesId(documentId);
|
||||
request.setFilter(cmisObjectFactory.createGetAllVersionsFilter("*"));
|
||||
request.setIncludeAllowableActions(cmisObjectFactory.createGetAllVersionsIncludeAllowableActions(Boolean.FALSE));
|
||||
request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(EnumIncludeRelationships.NONE));
|
||||
|
||||
GetAllVersionsResponse response = ((VersioningServicePort) servicePort).getAllVersions(request);
|
||||
List<CmisObjectType> response = ((VersioningServicePort) servicePort).getAllVersions(repositoryId, documentId, "*", false, EnumIncludeRelationships.NONE);
|
||||
assertNotNull(response);
|
||||
assertNotNull(response.getObject());
|
||||
for (CmisObjectType cmisObjectType : response.getObject())
|
||||
for (CmisObjectType cmisObjectType : response)
|
||||
{
|
||||
if (!checkedOutfound)
|
||||
{
|
||||
checkedOutfound = (Boolean) propertiesUtil.getCmisPropertyValue(cmisObjectType.getProperties(), CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT, null);
|
||||
checkedOutfound = getBooleanProperty(cmisObjectType.getProperties(), CMISDictionaryModel.PROP_IS_VERSION_SERIES_CHECKED_OUT);
|
||||
}
|
||||
if (!pwcFound)
|
||||
{
|
||||
pwcFound = ((String) propertiesUtil.getCmisPropertyValue(cmisObjectType.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID, null)).startsWith(documentIdHolder.value);
|
||||
pwcFound = (getIdProperty(cmisObjectType.getProperties(), CMISDictionaryModel.PROP_OBJECT_ID)).startsWith(documentIdHolder.value);
|
||||
}
|
||||
}
|
||||
assertTrue("No checked out version found", checkedOutfound);
|
||||
@@ -274,6 +239,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest
|
||||
|
||||
public void testDeleteAllVersions() throws Exception
|
||||
{
|
||||
((VersioningServicePort) servicePort).deleteAllVersions(repositoryId, documentId);
|
||||
// TODO: Schema bug. It possible should be returned
|
||||
// ((VersioningServicePort) servicePort).deleteAllVersions(repositoryId, documentId);
|
||||
}
|
||||
}
|
||||
|
@@ -95,9 +95,9 @@ public class MultiThreadsServiceTest extends AbstractServiceTest
|
||||
{
|
||||
assertTrue("All threads done their work normally", anyFailed(threads));
|
||||
|
||||
GetPropertiesResponse propertiesResponse;
|
||||
propertiesResponse = helper.getObjectProperties(documentId);
|
||||
assertEquals(lastName, getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_NAME));
|
||||
CmisObjectType propertiesObject = helper.getObjectProperties(documentId);
|
||||
assertObjectPropertiesNotNull(propertiesObject);
|
||||
assertEquals(lastName, getStringProperty(propertiesObject.getProperties(), CMISDictionaryModel.PROP_NAME));
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user