@Override public void checkIn(String repositoryId, Holder<String> objectId, Boolean major, Properties properties, ContentStream contentStream, String checkinComment, List<String> policies, Acl addACEs, Acl removeACEs, ExtensionsData extension) { VersioningServicePort port = portProvider.getVersioningServicePort(getCmisVersion(repositoryId), "checkIn"); try { javax.xml.ws.Holder<String> portObjectId = convertHolder(objectId); javax.xml.ws.Holder<CmisExtensionType> portExtension = convertExtensionHolder(extension); port.checkIn(repositoryId, portObjectId, major, convert(properties), convert(contentStream, false), checkinComment, policies, convert(addACEs), convert(removeACEs), portExtension); setHolderValue(portObjectId, objectId); setExtensionValues(portExtension, extension); } catch (CmisException e) { throw convertException(e); } catch (Exception e) { throw new CmisRuntimeException("Error: " + e.getMessage(), e); } finally { portProvider.endCall(port); } }
/** * Converts a type container list. */ public static void convertTypeContainerList(List<TypeDefinitionContainer> typeContainers, List<CmisTypeContainer> target) { if (typeContainers == null) { return; } for (TypeDefinitionContainer container : typeContainers) { CmisTypeContainer newConatiner = new CmisTypeContainer(); newConatiner.setType(convert(container.getTypeDefinition())); convertTypeContainerList(container.getChildren(), newConatiner.getChildren()); convertExtension(container, newConatiner); target.add(newConatiner); } }
@Override public void createDocument(String repositoryId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream, EnumVersioningState versioningState, List<String> policies, CmisAccessControlListType addAces, CmisAccessControlListType removeAces, Holder<CmisExtensionType> extension, Holder<String> objectId) throws CmisException { CmisService service = null; try { service = getService(wsContext, repositoryId); ExtensionsData extData = convertExtensionHolder(extension); if (stopBeforeService(service)) { return; } String id = service.createDocument(repositoryId, convert(properties), folderId, convert(contentStream, false), convert(VersioningState.class, versioningState), policies, convert(addAces, null), convert(removeAces, null), extData); closeStream(contentStream); if (stopAfterService(service)) { return; } if (objectId != null) { objectId.value = id; } setExtensionValues(extData, extension); } catch (Exception e) { throw convertException(e); } finally { closeService(service); } }
/** * Converts an access control list object. */ public static Acl convert(CmisACLType acl) { if (acl == null) { return null; } Acl result = convert(acl.getACL(), acl.isExact()); // handle extensions convertExtension(acl, result); return result; }
@Override public String createDocument(String repositoryId, Properties properties, String folderId, ContentStream contentStream, VersioningState versioningState, List<String> policies, Acl addACEs, Acl removeACEs, ExtensionsData extension) { ObjectServicePort port = portProvider.getObjectServicePort(getCmisVersion(repositoryId), "createDocument"); try { javax.xml.ws.Holder<String> objectId = new javax.xml.ws.Holder<String>(); javax.xml.ws.Holder<CmisExtensionType> portExtension = convertExtensionHolder(extension); port.createDocument(repositoryId, convert(properties), folderId, convert(contentStream, false), convert(EnumVersioningState.class, versioningState), policies, convert(addACEs), convert(removeACEs), portExtension, objectId); setExtensionValues(portExtension, extension); return objectId.value; } catch (CmisException e) { throw convertException(e); } catch (Exception e) { throw new CmisRuntimeException("Error: " + e.getMessage(), e); } finally { portProvider.endCall(port); } }
/** * Converts a Web Services extension extension into a binding holder. */ public static ExtensionsData convertExtensionHolder(javax.xml.ws.Holder<CmisExtensionType> extension) { if (extension == null) { return null; } return convert(extension.value); }
@Override public void deleteObject(String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension) { ObjectServicePort port = portProvider.getObjectServicePort(getCmisVersion(repositoryId), "deleteObject"); try { javax.xml.ws.Holder<CmisExtensionType> portExtension = convertExtensionHolder(extension); port.deleteObject(repositoryId, objectId, allVersions, portExtension); setExtensionValues(portExtension, extension); } catch (CmisException e) { throw convertException(e); } catch (Exception e) { throw new CmisRuntimeException("Error: " + e.getMessage(), e); } finally { portProvider.endCall(port); } }
@Override public ObjectList getContentChanges(String repositoryId, Holder<String> changeLogToken, Boolean includeProperties, String filter, Boolean includePolicyIds, Boolean includeACL, BigInteger maxItems, ExtensionsData extension) { DiscoveryServicePort port = portProvider.getDiscoveryServicePort(getCmisVersion(repositoryId), "getContentChanges"); try { javax.xml.ws.Holder<String> portChangeLokToken = convertHolder(changeLogToken); javax.xml.ws.Holder<CmisObjectListType> portObjects = new javax.xml.ws.Holder<CmisObjectListType>(); port.getContentChanges(repositoryId, portChangeLokToken, includeProperties, filter, includePolicyIds, includeACL, maxItems, convert(extension), portObjects); setHolderValue(portChangeLokToken, changeLogToken); return convert(portObjects.value); } catch (CmisException e) { throw convertException(e); } catch (Exception e) { throw new CmisRuntimeException("Error: " + e.getMessage(), e); } finally { portProvider.endCall(port); } }
@Override public List<TypeDefinitionContainer> getTypeDescendants(String repositoryId, String typeId, BigInteger depth, Boolean includePropertyDefinitions, ExtensionsData extension) { RepositoryServicePort port = portProvider.getRepositoryServicePort(getCmisVersion(repositoryId), "getTypeDescendants"); try { return convertTypeContainerList(port.getTypeDescendants(repositoryId, typeId, depth, includePropertyDefinitions, convert(extension))); } catch (CmisException e) { throw convertException(e); } catch (Exception e) { throw new CmisRuntimeException("Error: " + e.getMessage(), e); } finally { portProvider.endCall(port); } }
/** * Converts a type list. */ public static CmisTypeDefinitionListType convert(TypeDefinitionList typeList) { if (typeList == null) { return null; } CmisTypeDefinitionListType result = new CmisTypeDefinitionListType(); if (typeList.getList() != null) { for (TypeDefinition tdd : typeList.getList()) { result.getTypes().add(convert(tdd)); } } result.setHasMoreItems(convertBoolean(typeList.hasMoreItems(), false)); result.setNumItems(typeList.getNumItems()); // handle extensions convertExtension(typeList, result); return result; }
@Override public String createDocumentFromSource(String repositoryId, String sourceId, Properties properties, String folderId, VersioningState versioningState, List<String> policies, Acl addACEs, Acl removeACEs, ExtensionsData extension) { ObjectServicePort port = portProvider.getObjectServicePort(getCmisVersion(repositoryId), "createDocumentFromSource"); try { javax.xml.ws.Holder<String> objectId = new javax.xml.ws.Holder<String>(); javax.xml.ws.Holder<CmisExtensionType> portExtension = convertExtensionHolder(extension); port.createDocumentFromSource(repositoryId, sourceId, convert(properties), folderId, convert(EnumVersioningState.class, versioningState), policies, convert(addACEs), convert(removeACEs), portExtension, objectId); setExtensionValues(portExtension, extension); return objectId.value; } catch (CmisException e) { throw convertException(e); } catch (Exception e) { throw new CmisRuntimeException("Error: " + e.getMessage(), e); } finally { portProvider.endCall(port); } }
/** * Converts a properties object. */ public static Properties convert(CmisPropertiesType properties) { if (properties == null) { return null; } PropertiesImpl result = new PropertiesImpl(); for (CmisProperty property : properties.getProperty()) { result.addProperty(convert(property)); } // handle extensions convertExtension(properties, result); return result; }
@Override public void addObjectToFolder(String repositoryId, String objectId, String folderId, Boolean allVersions, ExtensionsData extension) { MultiFilingServicePort port = portProvider.getMultiFilingServicePort(getCmisVersion(repositoryId), "addObjectToFolder"); try { Holder<CmisExtensionType> portExtension = convertExtensionHolder(extension); port.addObjectToFolder(repositoryId, objectId, folderId, allVersions, portExtension); setExtensionValues(portExtension, extension); } catch (CmisException e) { throw convertException(e); } catch (Exception e) { throw new CmisRuntimeException("Error: " + e.getMessage(), e); } finally { portProvider.endCall(port); } }
@Override public void getContentChanges(String repositoryId, Holder<String> changeLogToken, Boolean includeProperties, String filter, Boolean includePolicyIds, Boolean includeAcl, BigInteger maxItems, CmisExtensionType extension, Holder<CmisObjectListType> objects) throws CmisException { CmisService service = null; CmisVersion cmisVersion = null; try { service = getService(wsContext, repositoryId); cmisVersion = getCmisVersion(wsContext); org.apache.chemistry.opencmis.commons.spi.Holder<String> changeLogTokenHolder = convertHolder(changeLogToken); if (stopBeforeService(service)) { return; } ObjectList changesList = service.getContentChanges(repositoryId, changeLogTokenHolder, includeProperties, filter, includePolicyIds, includeAcl, maxItems, convert(extension)); if (stopAfterService(service)) { return; } if (objects != null) { objects.value = convert(changesList, cmisVersion); } setHolderValue(changeLogTokenHolder, changeLogToken); } catch (Exception e) { throw convertException(e); } finally { closeService(service); } }
@Override public List<CmisTypeContainer> getTypeDescendants(String repositoryId, String typeId, BigInteger depth, Boolean includePropertyDefinitions, CmisExtensionType extension) throws CmisException { CmisService service = null; try { service = getService(wsContext, repositoryId); if (stopBeforeService(service)) { return null; } List<TypeDefinitionContainer> serviceResult = service.getTypeDescendants(repositoryId, typeId, depth, includePropertyDefinitions, convert(extension)); if (stopAfterService(service)) { return null; } List<CmisTypeContainer> result = new ArrayList<CmisTypeContainer>(); convertTypeContainerList(serviceResult, result); return result; } catch (Exception e) { throw convertException(e); } finally { closeService(service); } }
@Override public void checkIn(String repositoryId, Holder<String> objectId, Boolean major, CmisPropertiesType properties, CmisContentStreamType contentStream, String checkinComment, List<String> policies, CmisAccessControlListType addAces, CmisAccessControlListType removeAces, Holder<CmisExtensionType> extension) throws CmisException { CmisService service = null; try { service = getService(wsContext, repositoryId); org.apache.chemistry.opencmis.commons.spi.Holder<String> objectIdHolder = convertHolder(objectId); ExtensionsData extData = convertExtensionHolder(extension); if (stopBeforeService(service)) { return; } service.checkIn(repositoryId, objectIdHolder, major, convert(properties), convert(contentStream, false), checkinComment, policies, convert(addAces, null), convert(removeAces, null), extData); closeStream(contentStream); if (stopAfterService(service)) { return; } setHolderValue(objectIdHolder, objectId); setExtensionValues(extData, extension); } catch (Exception e) { throw convertException(e); } finally { closeService(service); } }
@Override public void createDocumentFromSource(String repositoryId, String sourceId, CmisPropertiesType properties, String folderId, EnumVersioningState versioningState, List<String> policies, CmisAccessControlListType addAces, CmisAccessControlListType removeAces, Holder<CmisExtensionType> extension, Holder<String> objectId) throws CmisException { CmisService service = null; try { service = getService(wsContext, repositoryId); ExtensionsData extData = convertExtensionHolder(extension); if (stopBeforeService(service)) { return; } String id = service.createDocumentFromSource(repositoryId, sourceId, convert(properties), folderId, convert(VersioningState.class, versioningState), policies, convert(addAces, null), convert(removeAces, null), extData); if (stopAfterService(service)) { return; } if (objectId != null) { objectId.value = id; } setExtensionValues(extData, extension); } catch (Exception e) { throw convertException(e); } finally { closeService(service); } }
/** * Converts a binding extension into a Web Services extension holder. */ public static javax.xml.ws.Holder<CmisExtensionType> convertExtensionHolder(ExtensionsData extension) { if (extension == null) { return null; } javax.xml.ws.Holder<CmisExtensionType> result = new javax.xml.ws.Holder<CmisExtensionType>(); result.value = convert(extension); return result; }
/** * Converts an ObjectInFolder container object. */ public static ObjectInFolderContainer convert(CmisObjectInFolderContainerType container) { if (container == null) { return null; } ObjectInFolderContainerImpl result = new ObjectInFolderContainerImpl(); result.setObject(convert(container.getObjectInFolder())); List<ObjectInFolderContainer> containerList = new ArrayList<ObjectInFolderContainer>(); for (CmisObjectInFolderContainerType containerChild : container.getChildren()) { containerList.add(convert(containerChild)); } result.setChildren(containerList); // handle extensions convertExtension(container, result); return result; }