protected final void checkProperties(Map<String, ?> properties) { if (isNullOrEmpty(properties)) { throw new IllegalArgumentException("Properties must not be empty!"); } }
protected final void checkProperties(Map<String, ?> properties) { if (isNullOrEmpty(properties)) { throw new IllegalArgumentException("Properties must not be empty!"); } }
public String getHeader(String name) { List<String> list = headers.get(name.toLowerCase(Locale.US)); if (isNullOrEmpty(list)) { return null; } return list.get(0); }
public String getHeader(String name) { List<String> list = headers.get(name.toLowerCase(Locale.US)); if (isNullOrEmpty(list)) { return null; } return list.get(0); }
private void addSecondaryTypeIdParameters(List<String> secondaryTypeIds, String secondaryTypeIdControl) { if (isNullOrEmpty(secondaryTypeIds)) { return; } int idx = 0; for (String typeId : secondaryTypeIds) { if (typeId == null || typeId.length() == 0) { continue; } String idxStr = "[" + idx + "]"; addParameter(secondaryTypeIdControl + idxStr, typeId); idx++; } }
private void addSecondaryTypeIdParameters(List<String> secondaryTypeIds, String secondaryTypeIdControl) { if (isNullOrEmpty(secondaryTypeIds)) { return; } int idx = 0; for (String typeId : secondaryTypeIds) { if (typeId == null || typeId.length() == 0) { continue; } String idxStr = "[" + idx + "]"; addParameter(secondaryTypeIdControl + idxStr, typeId); idx++; } }
@Override public List<ContentStreamHash> getContentStreamHashes() { List<String> hashes = getPropertyValue(PropertyIds.CONTENT_STREAM_HASH); if (isNullOrEmpty(hashes)) { return null; } List<ContentStreamHash> result = new ArrayList<ContentStreamHash>(hashes.size()); for (String hash : hashes) { result.add(new ContentStreamHashImpl(hash)); } return result; }
@Override public List<ContentStreamHash> getContentStreamHashes() { List<String> hashes = getPropertyValue(PropertyIds.CONTENT_STREAM_HASH); if (isNullOrEmpty(hashes)) { return null; } List<ContentStreamHash> result = new ArrayList<ContentStreamHash>(hashes.size()); for (String hash : hashes) { result.add(new ContentStreamHashImpl(hash)); } return result; }
protected static void validateAllowedTypes(TypeDefinition typeDef, List<String> allowedTypes, String description) { if (isNullOrEmpty(allowedTypes)) { return; // all types are allowed } for (String allowedType : allowedTypes) { if (allowedType.equals(typeDef.getId())) { return; } } throw new CmisConstraintException("The requested type " + typeDef.getId() + " is not allowed " + description); }
@Override public Folder getFolderParent() { if (isRootFolder()) { return null; } List<Folder> parents = getParents(getSession().getDefaultContext()); if (isNullOrEmpty(parents)) { return null; } return parents.get(0); }
@Override public Folder getFolderParent() { if (isRootFolder()) { return null; } List<Folder> parents = getParents(getSession().getDefaultContext()); if (isNullOrEmpty(parents)) { return null; } return parents.get(0); }
@Override public Set<String> getPermissionsForPrincipal(String principalId) { if (principalId == null) { throw new IllegalArgumentException("Principal must be set!"); } Acl currentAcl = getAcl(); if (currentAcl == null) { throw new IllegalStateException("ACLs are not available!"); } if (isNullOrEmpty(acl.getAces())) { return Collections.emptySet(); } HashSet<String> result = new HashSet<String>(); for (Ace ace : acl.getAces()) { if (principalId.equals(ace.getPrincipalId()) && ace.getPermissions() != null) { result.addAll(ace.getPermissions()); } } return result; }
@Override public Set<String> getPermissionsForPrincipal(String principalId) { if (principalId == null) { throw new IllegalArgumentException("Principal must be set!"); } Acl currentAcl = getAcl(); if (currentAcl == null) { throw new IllegalStateException("ACLs are not available!"); } if (isNullOrEmpty(acl.getAces())) { return Collections.emptySet(); } HashSet<String> result = new HashSet<String>(); for (Ace ace : acl.getAces()) { if (principalId.equals(ace.getPrincipalId()) && ace.getPermissions() != null) { result.addAll(ace.getPermissions()); } } return result; }
protected CmisTestResultStatus getWorst(List<CmisTestResult> results) { if (isNullOrEmpty(results)) { return CmisTestResultStatus.OK; } int max = 0; for (CmisTestResult result : results) { if (max < result.getStatus().getLevel()) { max = result.getStatus().getLevel(); } } return CmisTestResultStatus.fromLevel(max); }
public void addObjectIdsAndChangeTokens(List<BulkUpdateObjectIdAndChangeToken> objectIdsAndChangeTokens) { if (isNullOrEmpty(objectIdsAndChangeTokens)) { return; } int idx = 0; for (BulkUpdateObjectIdAndChangeToken oc : objectIdsAndChangeTokens) { if (oc == null || oc.getId() == null || oc.getId().length() == 0) { continue; } String idxStr = "[" + idx + "]"; addParameter(Constants.CONTROL_OBJECT_ID + idxStr, oc.getId()); addParameter(Constants.CONTROL_CHANGE_TOKEN + idxStr, (oc.getChangeToken() == null ? "" : oc.getChangeToken())); idx++; } }
public void addObjectIdsAndChangeTokens(List<BulkUpdateObjectIdAndChangeToken> objectIdsAndChangeTokens) { if (isNullOrEmpty(objectIdsAndChangeTokens)) { return; } int idx = 0; for (BulkUpdateObjectIdAndChangeToken oc : objectIdsAndChangeTokens) { if (oc == null || oc.getId() == null || oc.getId().length() == 0) { continue; } String idxStr = "[" + idx + "]"; addParameter(Constants.CONTROL_OBJECT_ID + idxStr, oc.getId()); addParameter(Constants.CONTROL_CHANGE_TOKEN + idxStr, (oc.getChangeToken() == null ? "" : oc.getChangeToken())); idx++; } }
@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 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 List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId, List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties, List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension) { // we need object ids if (isNullOrEmpty(objectIdAndChangeToken)) { throw new CmisInvalidArgumentException("Object ids must be set!"); } // build URL UrlBuilder url = getRepositoryUrl(repositoryId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_BULK_UPDATE); formData.addObjectIdsAndChangeTokens(objectIdAndChangeToken); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addSecondaryTypeIds(addSecondaryTypeIds); formData.removeSecondaryTypeIds(removeSecondaryTypeIds); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); List<Object> json = parseArray(resp.getStream(), resp.getCharset()); return JSONConverter.convertBulkUpdate(json); }
@Override public List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId, List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties, List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension) { // we need object ids if (isNullOrEmpty(objectIdAndChangeToken)) { throw new CmisInvalidArgumentException("Object ids must be set!"); } // build URL UrlBuilder url = getRepositoryUrl(repositoryId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_BULK_UPDATE); formData.addObjectIdsAndChangeTokens(objectIdAndChangeToken); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addSecondaryTypeIds(addSecondaryTypeIds); formData.removeSecondaryTypeIds(removeSecondaryTypeIds); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); List<Object> json = parseArray(resp.getStream(), resp.getCharset()); return JSONConverter.convertBulkUpdate(json); }