private int countResults(ItemIterable<QueryResult> iter) { int count = 0; for (Iterator<QueryResult> iterator = iter.iterator(); iterator.hasNext();) { iterator.next(); count++; } return count; } }
@Override public Collection<String> validateData(BpmTask task, boolean skipRequired) { if (required && !mainFolder.getChildren().iterator().hasNext()) { return Arrays.asList("pt.ext.cmis.list.document.validate.upload.document"); } else { return null; } }
@Override public Asset getSectionAsset(String sectionId, String resourceName, boolean wildcardsAllowedInName) { Asset asset = null; ItemIterable<QueryResult> results = runQuery(MessageFormat .format((wildcardsAllowedInName ? assetBySectionAndNameWildcardQueryPattern : assetBySectionAndNameQueryPattern), sectionId, resourceName)); Iterator<QueryResult> iterator = results.iterator(); if (iterator.hasNext()) { QueryResult result = iterator.next(); asset = buildAsset(result); } return asset; }
@Override public Date getModifiedTimeOfAsset(String assetId) { Date modifiedTime = null; String cmisQuery = MessageFormat.format(modifiedTimeByAssetId, assetId); ItemIterable<QueryResult> results = runQuery(cmisQuery); Iterator<QueryResult> iterator = results.iterator(); if (iterator.hasNext()) { QueryResult result = iterator.next(); modifiedTime = SqlUtils.getDateProperty(result, Resource.PROPERTY_MODIFIED_TIME); } return modifiedTime; }
/** * look for a child folder of the parent folder, if not found, create it and return it. */ private static Folder getOrCreateFolder(final Folder parentFolder, final String folderName) throws IOException { Folder childFolder = null; // get existing if any ItemIterable<CmisObject> children = parentFolder.getChildren(); if (children.iterator().hasNext()) { for (CmisObject cmisObject : children) { if (cmisObject instanceof Folder && cmisObject.getName().equals(folderName)) { log.debug("Found '{}' folder.", folderName); return childFolder = (Folder)cmisObject; } } } // Create new folder (requires at least type id and name of the folder) log.debug("'{}' folder not found, about to create...", folderName); Map<String, String> folderProps = new HashMap<String, String>(); folderProps.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder"); folderProps.put(PropertyIds.NAME, folderName); childFolder = parentFolder.createFolder(folderProps); log.info("'{}' folder created!", folderName); return childFolder; }
@Override public Asset getAssetById(String id, boolean deferredLoad) { Asset asset = null; if (deferredLoad) { asset = new DeferredLoadingAssetImpl(id, this); } else { ItemIterable<QueryResult> results = runQuery(MessageFormat.format(assetByIdQueryPattern, id)); Iterator<QueryResult> iterator = results.iterator(); if (iterator.hasNext()) { QueryResult result = iterator.next(); asset = buildAsset(result); } } return asset; }
@Override public List<Asset> getAssetsById(Collection<String> ids, boolean deferredLoad) { List<Asset> assets; if (deferredLoad) { assets = new DeferredLoadingAssetListImpl(ids, this); } else { assets = new ArrayList<Asset>(ids.size()); String idList = buildIdList(ids); ItemIterable<QueryResult> results = runQuery(MessageFormat.format(assetsByIdQueryPattern, idList)); Iterator<QueryResult> iterator = results.iterator(); while (iterator.hasNext()) { QueryResult result = iterator.next(); assets.add(buildAsset(result)); } } return assets; }
@Override public List<CMSContentSummary> getChildren(String id) { Session session = getSession(); if (session != null) { Folder folder = null; if (id == null || id.isEmpty()) { folder = session.getRootFolder(); } else { folder = (Folder) session.getObject(id); } ItemIterable<CmisObject> children = folder.getChildren(); Iterator<CmisObject> childrenItems = children.iterator(); List<CmisObject> documents = new ArrayList<CmisObject>(); while (childrenItems.hasNext()) { CmisObject item = childrenItems.next(); documents.add(item); } return this.transform(documents, folder); } return new ArrayList<CMSContentSummary>(); }
@Override public Map<String, Date> getModifiedTimesOfAssets(Collection<String> assetIds) { Map<String, Date> map = new TreeMap<String, Date>(); String idList = buildIdList(assetIds); String cmisQuery = MessageFormat.format(modifiedTimesByAssetIds, idList); ItemIterable<QueryResult> results = runQuery(cmisQuery); Iterator<QueryResult> iterator = results.iterator(); Date modifiedTime; String id; while (iterator.hasNext()) { QueryResult result = iterator.next(); modifiedTime = SqlUtils.getDateProperty(result, Resource.PROPERTY_MODIFIED_TIME); id = (String) result.getPropertyById(PropertyIds.OBJECT_ID).getFirstValue(); map.put(id, modifiedTime); } return map; }
if (children.iterator().hasNext()) { for (CmisObject o : children) { if (o instanceof Document && o.getName().equals(fileName)) {
FileVisitResult walk(Folder start) throws IOException { FileVisitResult preVisitDirectoryResult = visitor.preVisitDirectory(start, null); if (preVisitDirectoryResult != FileVisitResult.CONTINUE) { return preVisitDirectoryResult; } ItemIterable<CmisObject> children = start.getChildren(); if (children.iterator().hasNext()) { for (CmisObject o : children) { if (o instanceof Folder) { FileVisitResult childFolderWalkResult = walk((Folder)o); // returning null will cause NPE to be thrown if (childFolderWalkResult == null || childFolderWalkResult == FileVisitResult.TERMINATE) return childFolderWalkResult; // skip remaining siblings in this directory if (childFolderWalkResult == FileVisitResult.SKIP_SIBLINGS) break; } else if (o instanceof Document) { FileVisitResult visitFileResult = visitor.visitFile(o, null); // returning null will cause NPE to be thrown if (visitFileResult == null || visitFileResult == FileVisitResult.TERMINATE) return visitFileResult; // skip remaining siblings in this directory if (visitFileResult == FileVisitResult.SKIP_SIBLINGS) break; } } } return visitor.postVisitDirectory(start, null); } }
QueryResult cresult = cresults.iterator().next(); AssetCollectionImpl collection = buildCollection(cresult);
CmisObject obj1 = testFolder.getChildren(testContext1).iterator().next(); addResult(assertNull(obj1.getProperty(INVALID_PROPERTY), null, f)); CmisObject obj2 = testFolder.getChildren(testContext2).iterator().next(); addResult(assertNull(obj2.getProperty(INVALID_PROPERTY), null, f)); CmisObject obj3 = testFolder.getChildren(testContext3).iterator().next();