private void updateProperties(String id, String propertyId, String propertyValue) { LOG.debug("updateProperties " + id); List<PropertyData<?>> properties = new ArrayList<PropertyData<?>>(); properties.add(objFactory.createPropertyStringData(propertyId, propertyValue)); Properties newProps = objFactory.createPropertiesData(properties); Holder<String> idHolder = new Holder<String>(id); Holder<String> changeTokenHolder = new Holder<String>(); objSvc.updateProperties(repositoryId, idHolder, changeTokenHolder, newProps, null); renameFiles("updateProperties"); LOG.debug("updateProperties() done."); }
id = objSvc.createDocument(repositoryId, props, folderId, contentStream, versioningState, policies, addACEs, removeACEs, extension); } catch (CmisBaseException e) {
private String createFolder(String parentId) { Properties props = createFolderProperties(0, 0); String id = null; try { fTimeLoggerCreateFolder.start(); id = fObjSvc.createFolder(fRepositoryId, props, parentId, null, null, null, null); fTopLevelFoldersCreated.add(id); } finally { fTimeLoggerCreateFolder.stop(); } return id; }
private void getObject(String objectId) { LOG.debug("getObject " + objectId); objSvc.getObject(repositoryId, objectId, "*", true /* includeAllowableActions */, IncludeRelationships.NONE /* includeRelationships */, null /* renditionFilter */, false /* includePolicyIds */, true /* includeAcl */, null); renameFiles("getObject"); LOG.debug("getObject() done."); }
private void cleanup() { LOG.debug("cleaning up..."); for (String id : idsToDelete) { LOG.debug("deleting object " + id); objSvc.deleteObject(repositoryId, id, true, null); } idsToDelete.clear(); LOG.debug("... cleaning up done"); }
ObjectData startFolderData = null; try { startFolderData = getBinding().getObjectService().getObject(getRepositoryId(), startFolderId.getId(), "cmis:objectId,cmis:baseTypeId,cmis:name,cmis:path", false, IncludeRelationships.NONE, "cmis:none", false, false, null); nextPath.append(segements[i]); ObjectData folderData = getBinding().getObjectService().getObjectByPath(getRepositoryId(), nextPath.toString(), "cmis:objectId,cmis:baseTypeId,cmis:name", false, IncludeRelationships.NONE, "cmis:none", false, false, null);
.setContentStream(repId, objectIdHolder, Boolean.TRUE, changeTokenHolder, session.getObjectFactory().convertContentStream(contentStream), null); .appendContentStream(repId, objectIdHolder, changeTokenHolder, session.getObjectFactory().convertContentStream(contentStream), isLastChunk, null);
private void deleteTree() { // delete all documents from first level for (String id : fTopLevelDocsCreated) { deleteObject(id); } // delete recursively all folders from first level for (String id : fTopLevelFoldersCreated) { try { fTimeLoggerDelete.start(); fObjSvc.deleteTree(fRepositoryId, id, true, UnfileObject.DELETE, true, null); } finally { fTimeLoggerDelete.stop(); } } }
@Override public ObjectId createItem(Map<String, ?> properties, ObjectId folderId, List<Policy> policies, List<Ace> addAces, List<Ace> removeAces) { checkProperties(properties); String newId = getBinding().getObjectService().createItem(getRepositoryId(), objectFactory.convertProperties(properties, null, null, CREATE_UPDATABILITY), (folderId == null ? null : folderId.getId()), objectFactory.convertPolicies(policies), objectFactory.convertAces(addAces), objectFactory.convertAces(removeAces), null); if (newId == null) { return null; } return createObjectId(newId); }
@Override public ObjectId appendContentStream(ContentStream contentStream, boolean isLastChunk, boolean refresh) { if (getSession().getRepositoryInfo().getCmisVersion() == CmisVersion.CMIS_1_0) { throw new CmisNotSupportedException("This method is not supported for CMIS 1.0 repositories."); } String newObjectId = null; readLock(); try { Holder<String> objectIdHolder = new Holder<String>(getObjectId()); Holder<String> changeTokenHolder = new Holder<String>((String) getPropertyValue(PropertyIds.CHANGE_TOKEN)); getBinding().getObjectService().appendContentStream(getRepositoryId(), objectIdHolder, changeTokenHolder, getObjectFactory().convertContentStream(contentStream), isLastChunk, null); newObjectId = objectIdHolder.getValue(); } finally { readUnlock(); } if (refresh) { refresh(); } if (newObjectId == null) { return null; } return getSession().createObjectId(newObjectId); }
@Override public ObjectId createDocumentFromSource(ObjectId source, Map<String, ?> properties, ObjectId folderId, VersioningState versioningState, List<Policy> policies, List<Ace> addAces, List<Ace> removeAces) { if (source == null || source.getId() == null) { throw new IllegalArgumentException("Source must be set!"); } // get the type of the source document ObjectType type = null; List<SecondaryType> secondaryTypes = null; if (source instanceof CmisObject) { type = ((CmisObject) source).getType(); secondaryTypes = ((CmisObject) source).getSecondaryTypes(); } else { CmisObject sourceObj = getObject(source); type = sourceObj.getType(); secondaryTypes = sourceObj.getSecondaryTypes(); } if (type.getBaseTypeId() != BaseTypeId.CMIS_DOCUMENT) { throw new IllegalArgumentException("Source object must be a document!"); } String newId = getBinding().getObjectService().createDocumentFromSource(getRepositoryId(), source.getId(), objectFactory.convertProperties(properties, type, secondaryTypes, CREATE_AND_CHECKOUT_UPDATABILITY), (folderId == null ? null : folderId.getId()), versioningState, objectFactory.convertPolicies(policies), objectFactory.convertAces(addAces), objectFactory.convertAces(removeAces), null); if (newId == null) { return null; } return createObjectId(newId); }
updatebility.add(Updatability.READWRITE); return getBinding().getObjectService().bulkUpdateProperties(getRepositoryId(), objectIdsAndChangeTokens, objectFactory.convertProperties(properties, objectType, secondaryTypes.values(), updatebility), addSecondaryTypeIds, removeSecondaryTypeIds, null);
@Override public boolean exists(String objectId) { checkObjectId(objectId); try { binding.getObjectService().getObject(getRepositoryId(), objectId, "cmis:objectId", Boolean.FALSE, IncludeRelationships.NONE, "cmis:none", Boolean.FALSE, Boolean.FALSE, null); return true; } catch (CmisObjectNotFoundException onf) { removeObjectFromCache(objectId); return false; } }
private void deleteObject(String id) { LOG.debug("deleteObject " + id); objSvc.deleteObject(repositoryId, id, true, null); renameFiles("deleteObject"); LOG.debug("deleteObject() done."); }
ObjectData startFolderData = null; try { startFolderData = getBinding().getObjectService().getObject(getRepositoryId(), startFolderId.getId(), "cmis:objectId,cmis:baseTypeId,cmis:name,cmis:path", false, IncludeRelationships.NONE, "cmis:none", false, false, null); nextPath.append(segements[i]); ObjectData folderData = getBinding().getObjectService().getObjectByPath(getRepositoryId(), nextPath.toString(), "cmis:objectId,cmis:baseTypeId,cmis:name", false, IncludeRelationships.NONE, "cmis:none", false, false, null);
.setContentStream(repId, objectIdHolder, Boolean.TRUE, changeTokenHolder, session.getObjectFactory().convertContentStream(contentStream), null); .appendContentStream(repId, objectIdHolder, changeTokenHolder, session.getObjectFactory().convertContentStream(contentStream), isLastChunk, null);
@Override public List<String> deleteTree(ObjectId folderId, boolean allVersions, UnfileObject unfile, boolean continueOnFailure) { checkFolderId(folderId); FailedToDeleteData failed = getBinding().getObjectService().deleteTree(getRepositoryId(), folderId.getId(), allVersions, unfile, continueOnFailure, null); if (failed == null || isNullOrEmpty(failed.getIds())) { removeObjectFromCache(folderId); } return (failed != null ? failed.getIds() : null); }
@Override public ObjectId createItem(Map<String, ?> properties, ObjectId folderId, List<Policy> policies, List<Ace> addAces, List<Ace> removeAces) { checkProperties(properties); String newId = getBinding().getObjectService().createItem(getRepositoryId(), objectFactory.convertProperties(properties, null, null, CREATE_UPDATABILITY), (folderId == null ? null : folderId.getId()), objectFactory.convertPolicies(policies), objectFactory.convertAces(addAces), objectFactory.convertAces(removeAces), null); if (newId == null) { return null; } return createObjectId(newId); }
@Override public ObjectId appendContentStream(ContentStream contentStream, boolean isLastChunk, boolean refresh) { if (getSession().getRepositoryInfo().getCmisVersion() == CmisVersion.CMIS_1_0) { throw new CmisNotSupportedException("This method is not supported for CMIS 1.0 repositories."); } String newObjectId = null; readLock(); try { Holder<String> objectIdHolder = new Holder<String>(getObjectId()); Holder<String> changeTokenHolder = new Holder<String>((String) getPropertyValue(PropertyIds.CHANGE_TOKEN)); getBinding().getObjectService().appendContentStream(getRepositoryId(), objectIdHolder, changeTokenHolder, getObjectFactory().convertContentStream(contentStream), isLastChunk, null); newObjectId = objectIdHolder.getValue(); } finally { readUnlock(); } if (refresh) { refresh(); } if (newObjectId == null) { return null; } return getSession().createObjectId(newObjectId); }
@Override public ObjectId createDocumentFromSource(ObjectId source, Map<String, ?> properties, ObjectId folderId, VersioningState versioningState, List<Policy> policies, List<Ace> addAces, List<Ace> removeAces) { if (source == null || source.getId() == null) { throw new IllegalArgumentException("Source must be set!"); } // get the type of the source document ObjectType type = null; List<SecondaryType> secondaryTypes = null; if (source instanceof CmisObject) { type = ((CmisObject) source).getType(); secondaryTypes = ((CmisObject) source).getSecondaryTypes(); } else { CmisObject sourceObj = getObject(source); type = sourceObj.getType(); secondaryTypes = sourceObj.getSecondaryTypes(); } if (type.getBaseTypeId() != BaseTypeId.CMIS_DOCUMENT) { throw new IllegalArgumentException("Source object must be a document!"); } String newId = getBinding().getObjectService().createDocumentFromSource(getRepositoryId(), source.getId(), objectFactory.convertProperties(properties, type, secondaryTypes, CREATE_AND_CHECKOUT_UPDATABILITY), (folderId == null ? null : folderId.getId()), versioningState, objectFactory.convertPolicies(policies), objectFactory.convertAces(addAces), objectFactory.convertAces(removeAces), null); if (newId == null) { return null; } return createObjectId(newId); }