diff --git a/packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/CmisWrapper.java b/packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/CmisWrapper.java index 7338000bbb..153e30fbc0 100644 --- a/packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/CmisWrapper.java +++ b/packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/CmisWrapper.java @@ -1,15 +1,5 @@ package org.alfresco.cmis; -import static org.alfresco.utility.Utility.checkObjectIsInitialized; -import static org.alfresco.utility.report.log.Step.STEP; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Function; - import org.alfresco.cmis.dsl.BaseObjectType; import org.alfresco.cmis.dsl.CheckIn; import org.alfresco.cmis.dsl.CmisAssertion; @@ -63,6 +53,16 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; + +import static org.alfresco.utility.Utility.checkObjectIsInitialized; +import static org.alfresco.utility.report.log.Step.STEP; + @Service @Scope(value = "prototype") public class CmisWrapper extends DSLProtocol implements DSLContentModelAction, DSLFile, DSLFolder @@ -109,6 +109,21 @@ public class CmisWrapper extends DSLProtocol implements DSLContentM parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); LOG.info("Using binding type [{}] to [{}] and credentials: {}", BindingType.ATOMPUB.value(), cmisURLPath, userModel.toString()); } + else if (binding.equals(BindingType.WEBSERVICES.value())) + { + parameter.put(SessionParameter.WEBSERVICES_REPOSITORY_SERVICE, cmisURLPath); + parameter.put(SessionParameter.WEBSERVICES_NAVIGATION_SERVICE, cmisURLPath); + parameter.put(SessionParameter.WEBSERVICES_OBJECT_SERVICE, cmisURLPath); + parameter.put(SessionParameter.WEBSERVICES_VERSIONING_SERVICE, cmisURLPath); + parameter.put(SessionParameter.WEBSERVICES_DISCOVERY_SERVICE, cmisURLPath); + parameter.put(SessionParameter.WEBSERVICES_MULTIFILING_SERVICE, cmisURLPath); + parameter.put(SessionParameter.WEBSERVICES_RELATIONSHIP_SERVICE, cmisURLPath); + parameter.put(SessionParameter.WEBSERVICES_ACL_SERVICE, cmisURLPath); + parameter.put(SessionParameter.WEBSERVICES_POLICY_SERVICE, cmisURLPath); + parameter.put(SessionParameter.BINDING_TYPE, BindingType.WEBSERVICES.value()); + LOG.info("Using binding type [{}] to [{}] and credentials: {}", BindingType.WEBSERVICES.value(), cmisURLPath, userModel.toString()); + } + parameter.put(SessionParameter.CONNECT_TIMEOUT, "20000"); parameter.put(SessionParameter.READ_TIMEOUT, "60000"); List repositories = factory.getRepositories(parameter); diff --git a/packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/dsl/CmisUtil.java b/packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/dsl/CmisUtil.java index 92a724c1df..bbdb23f1e2 100644 --- a/packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/dsl/CmisUtil.java +++ b/packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/dsl/CmisUtil.java @@ -1,16 +1,5 @@ package org.alfresco.cmis.dsl; -import static org.alfresco.utility.report.log.Step.STEP; - -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - import org.alfresco.cmis.CmisWrapper; import org.alfresco.cmis.exception.InvalidCmisObjectException; import org.alfresco.utility.LogFactory; @@ -44,12 +33,24 @@ import org.apache.chemistry.opencmis.commons.data.PropertyData; import org.apache.chemistry.opencmis.commons.data.RepositoryInfo; import org.apache.chemistry.opencmis.commons.enums.Action; import org.apache.chemistry.opencmis.commons.enums.BaseTypeId; +import org.apache.chemistry.opencmis.commons.enums.BindingType; import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException; import org.apache.chemistry.opencmis.commons.exceptions.CmisVersioningException; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.testng.collections.Lists; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import static org.alfresco.utility.report.log.Step.STEP; + /** * DSL utility for managing CMIS objects */ @@ -511,11 +512,20 @@ public class CmisUtil public Map getProperties(ContentModel contentModel, String baseTypeId) { - List aspects = new ArrayList(); - aspects.add("P:cm:titled"); + Map properties = new HashMap(); properties.put(PropertyIds.OBJECT_TYPE_ID, baseTypeId); properties.put(PropertyIds.NAME, contentModel.getName()); + + // WebServices binding does not have SecondaryTypes and cannot be added to Object. + // cm:title and cm:description Policies + if (cmisAPI.getSession().getBinding().getBindingType().value().equals(BindingType.WEBSERVICES.value())) + { + return properties; + } + + List aspects = new ArrayList(); + aspects.add("P:cm:titled"); properties.put(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, aspects); properties.put("cm:title", contentModel.getTitle()); properties.put("cm:description", contentModel.getDescription());