mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Add WS support - alfa version. (#37)
* Add support for WS Binding - alfa stage.
This commit is contained in:
committed by
GitHub
parent
ec79172479
commit
961b336c11
@@ -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<CmisWrapper> implements DSLContentModelAction<CmisWrapper>, DSLFile<CmisWrapper>, DSLFolder<CmisWrapper>
|
||||
@@ -109,6 +109,21 @@ public class CmisWrapper extends DSLProtocol<CmisWrapper> 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<Repository> repositories = factory.getRepositories(parameter);
|
||||
|
@@ -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<String, Object> getProperties(ContentModel contentModel, String baseTypeId)
|
||||
{
|
||||
List<Object> aspects = new ArrayList<Object>();
|
||||
aspects.add("P:cm:titled");
|
||||
|
||||
Map<String, Object> properties = new HashMap<String, Object>();
|
||||
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<Object> aspects = new ArrayList<Object>();
|
||||
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());
|
||||
|
Reference in New Issue
Block a user