/** * Converts an object in a folder list. */ public static JSONObject convert(final ObjectInFolderData objectInFolder, final TypeCache typeCache, final boolean succinct, final DateTimeFormat dateTimeFormat) { if ((objectInFolder == null) || (objectInFolder.getObject() == null)) { return null; } JSONObject result = new JSONObject(); result.put(JSON_OBJECTINFOLDER_OBJECT, convert(objectInFolder.getObject(), typeCache, PropertyMode.OBJECT, succinct, dateTimeFormat)); setIfNotNull(JSON_OBJECTINFOLDER_PATH_SEGMENT, objectInFolder.getPathSegment(), result); convertExtension(objectInFolder, result); return result; }
private String getTestId(BaseTypeId baseTypeId) { LOG.debug("getTestDocId()"); ObjectInFolderList result = navSvc.getChildren(repositoryId, rootFolderId, "*", null, false, IncludeRelationships.NONE, null, true, MAX_ITEMS, SKIP_COUNT, null); List<ObjectInFolderData> children = result.getObjects(); LOG.debug(" found " + children.size() + " folders in getChildren()"); for (ObjectInFolderData child : children) { if (baseTypeId.equals(child.getObject().getBaseTypeId())) { return child.getObject().getId(); } } return null; }
f = createResult(CmisTestResultStatus.WARNING, "getChildren() delivered a path segment, although it hasn't been requested."); addResult(assertNull(child.getPathSegment(), null, f));
/** * retrieve the index-th folder from given level of the hierarchy starting * at rootId * * @param rootId * @param level * @param index * @return */ public String getFolderId(String rootId, int level, int index) { String objectId = rootId; final String requiredProperties = PropertyIds.OBJECT_ID + "," + PropertyIds.OBJECT_TYPE_ID + "," + PropertyIds.BASE_TYPE_ID; // Note: This works because first folders are created then documents for (int i = 0; i < level; i++) { ObjectInFolderList result = fNavSvc.getChildren(fRepositoryId, objectId, requiredProperties, PropertyIds.OBJECT_TYPE_ID, false, IncludeRelationships.NONE, null, true, BigInteger.valueOf(-1), BigInteger.valueOf(-1), null); List<ObjectInFolderData> children = result.getObjects(); ObjectData child = children.get(index).getObject(); objectId = (String) child.getProperties().getProperties().get(PropertyIds.OBJECT_ID).getFirstValue(); } return objectId; }
/** * Converts an object in a folder list. */ public static JSONObject convert(final ObjectInFolderData objectInFolder, final TypeCache typeCache, final boolean succinct, final DateTimeFormat dateTimeFormat) { if ((objectInFolder == null) || (objectInFolder.getObject() == null)) { return null; } JSONObject result = new JSONObject(); result.put(JSON_OBJECTINFOLDER_OBJECT, convert(objectInFolder.getObject(), typeCache, PropertyMode.OBJECT, succinct, dateTimeFormat)); setIfNotNull(JSON_OBJECTINFOLDER_PATH_SEGMENT, objectInFolder.getPathSegment(), result); convertExtension(objectInFolder, result); return result; }
private String createFolderIntern(String name, String typeId, String parentFolderId) { List<String> policies = null; Acl addACEs = null; Acl removeACEs = null; ExtensionsData extension = null; List<PropertyData<?>> properties = new ArrayList<PropertyData<?>>(); properties.add(objFactory.createPropertyIdData(PropertyIds.NAME, name)); properties.add(objFactory.createPropertyIdData(PropertyIds.OBJECT_TYPE_ID, typeId)); Properties props = objFactory.createPropertiesData(properties); String id = null; try { id = objSvc.createFolder(repositoryId, props, parentFolderId, policies, addACEs, removeACEs, extension); } catch (CmisBaseException e) { // folder already there, get it: ObjectInFolderList result = navSvc.getChildren(repositoryId, parentFolderId, "*", null, false, IncludeRelationships.NONE, null, true, MAX_ITEMS, SKIP_COUNT, null); List<ObjectInFolderData> children = result.getObjects(); LOG.debug(" found " + children.size() + " folders in getChildren()"); for (ObjectInFolderData child : children) { String nameChild = (String) child.getObject().getProperties().getProperties().get(PropertyIds.NAME) .getFirstValue(); if (name.equals(nameChild)) { return child.getObject().getId(); } } } return id; }
private void dumpFolder(String folderId, String propertyFilter, int depth) { boolean allRequiredPropertiesArePresent = propertyFilter.equals("*"); // can // be // optimized StringBuilder prefix = new StringBuilder(); for (int i = 0; i < depth; i++) { prefix.append(" "); } ObjectInFolderList result = fNavSvc.getChildren(fRepositoryId, folderId, propertyFilter, null, false, IncludeRelationships.NONE, null, true, BigInteger.valueOf(-1), BigInteger.valueOf(-1), null); List<ObjectInFolderData> folders = result.getObjects(); if (null != folders) { LOG.debug(prefix + "found " + folders.size() + " children in folder " + folderId); int no = 0; for (ObjectInFolderData folder : folders) { LOG.debug(prefix.toString() + ++no + ": found object with id: " + folder.getObject().getId() + " and path segment: " + folder.getPathSegment()); dumpObjectProperties(folder.getObject(), depth, propertyFilter, !allRequiredPropertiesArePresent); String objectTypeBaseId = folder.getObject().getBaseTypeId().value(); if (objectTypeBaseId.equals(BaseTypeId.CMIS_FOLDER.value())) { dumpFolder(folder.getObject().getId(), propertyFilter, depth + 1); } else if (objectTypeBaseId.equals(BaseTypeId.CMIS_DOCUMENT.value())) { dumpObjectProperties(folder.getObject(), depth + 1, propertyFilter, !allRequiredPropertiesArePresent); } } } LOG.debug(""); // add empty line }
/** * Converts an ObjectInFolder object. */ public static CmisObjectInFolderType convert(ObjectInFolderData objectInFolder, CmisVersion cmisVersion) { if (objectInFolder == null) { return null; } CmisObjectInFolderType result = new CmisObjectInFolderType(); result.setObject(convert(objectInFolder.getObject(), cmisVersion)); result.setPathSegment(objectInFolder.getPathSegment()); // handle extensions convertExtension(objectInFolder, result); return result; }
int numDocsFound = 0; for (int i = 0; i < children.size(); i++) { ObjectData child = children.get(i).getObject(); docId = (String) child.getProperties().getProperties().get(PropertyIds.OBJECT_ID).getFirstValue(); if (child.getBaseTypeId().equals(BaseTypeId.CMIS_DOCUMENT)) {
writeObjectEntry(service, entry, container.getObject().getObject(), container.getChildren(), repositoryId, container.getObject().getPathSegment(), null, baseUrl, false, cmisVersion);
/** * Converts a binding container into an API container. */ private List<Tree<FileableCmisObject>> convertBindingContainer(List<ObjectInFolderContainer> bindingContainerList, OperationContext context) { if (bindingContainerList == null) { return null; } ObjectFactory of = getSession().getObjectFactory(); List<Tree<FileableCmisObject>> result = new ArrayList<Tree<FileableCmisObject>>(); for (ObjectInFolderContainer oifc : bindingContainerList) { if (oifc.getObject() == null || oifc.getObject().getObject() == null) { // shouldn't happen ... continue; } // convert the object CmisObject object = of.convertObject(oifc.getObject().getObject(), context); if (!(object instanceof FileableCmisObject)) { // the repository must not return objects that are not fileable, // but you never know... continue; } // convert the children List<Tree<FileableCmisObject>> children = convertBindingContainer(oifc.getChildren(), context); // add both to current container result.add(new TreeImpl<FileableCmisObject>((FileableCmisObject) object, children)); } return result; }
for (ObjectInFolderContainer container : descendants) { if ((container == null) || (container.getObject() == null) || (container.getObject().getObject() == null)) { continue; writeObjectEntry(service, entry, container.getObject().getObject(), container.getChildren(), repositoryId, container.getObject().getPathSegment(), null, baseUrl, false, context.getCmisVersion());
@Override protected AbstractPageFetcher.Page<CmisObject> fetchPage(long skipCount) { // get the children ObjectInFolderList children = navigationService.getChildren(getRepositoryId(), objectId, ctxt.getFilterString(), ctxt.getOrderBy(), ctxt.isIncludeAllowableActions(), ctxt.getIncludeRelationships(), ctxt.getRenditionFilterString(), ctxt.isIncludePathSegments(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert objects List<CmisObject> page = new ArrayList<CmisObject>(); List<ObjectInFolderData> childObjects = children.getObjects(); if (childObjects != null) { for (ObjectInFolderData objectData : childObjects) { if (objectData.getObject() != null) { page.add(objectFactory.convertObject(objectData.getObject(), ctxt)); } } } return new AbstractPageFetcher.Page<CmisObject>(page, children.getNumItems(), children.hasMoreItems()); } });
for (ObjectInFolderContainer container : folderTree) { if ((container == null) || (container.getObject() == null) || (container.getObject().getObject() == null)) { continue; writeObjectEntry(service, entry, container.getObject().getObject(), container.getChildren(), repositoryId, container.getObject().getPathSegment(), null, baseUrl, false, context.getCmisVersion());
/** * Converts a binding container into an API container. */ private List<Tree<FileableCmisObject>> convertBindingContainer(List<ObjectInFolderContainer> bindingContainerList, OperationContext context) { if (bindingContainerList == null) { return null; } ObjectFactory of = getSession().getObjectFactory(); List<Tree<FileableCmisObject>> result = new ArrayList<Tree<FileableCmisObject>>(); for (ObjectInFolderContainer oifc : bindingContainerList) { if (oifc.getObject() == null || oifc.getObject().getObject() == null) { // shouldn't happen ... continue; } // convert the object CmisObject object = of.convertObject(oifc.getObject().getObject(), context); if (!(object instanceof FileableCmisObject)) { // the repository must not return objects that are not fileable, // but you never know... continue; } // convert the children List<Tree<FileableCmisObject>> children = convertBindingContainer(oifc.getChildren(), context); // add both to current container result.add(new TreeImpl<FileableCmisObject>((FileableCmisObject) object, children)); } return result; }
String pathSegement = objectInFolder.getPathSegment(); String objectId = (String) objectInFolder.getObject().getProperties().getProperties() .get(PropertyIds.OBJECT_ID).getFirstValue();
@Override protected AbstractPageFetcher.Page<CmisObject> fetchPage(long skipCount) { // get the children ObjectInFolderList children = navigationService.getChildren(getRepositoryId(), objectId, ctxt.getFilterString(), ctxt.getOrderBy(), ctxt.isIncludeAllowableActions(), ctxt.getIncludeRelationships(), ctxt.getRenditionFilterString(), ctxt.isIncludePathSegments(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert objects List<CmisObject> page = new ArrayList<CmisObject>(); List<ObjectInFolderData> childObjects = children.getObjects(); if (childObjects != null) { for (ObjectInFolderData objectData : childObjects) { if (objectData.getObject() != null) { page.add(objectFactory.convertObject(objectData.getObject(), ctxt)); } } } return new AbstractPageFetcher.Page<CmisObject>(page, children.getNumItems(), children.hasMoreItems()); } });
AtomEntry entry = new AtomEntry(feed.getWriter()); for (ObjectInFolderData object : children.getObjects()) { if ((object == null) || (object.getObject() == null)) { continue; writeObjectEntry(service, entry, object.getObject(), null, repositoryId, object.getPathSegment(), null, baseUrl, false, context.getCmisVersion());
private void assertChildren(final Pair<FileInfo, FileInfo> folderAndDocument, ObjectInFolderList children) { assertNotNull(children); assertTrue(1 == children.getNumItems().longValue()); PropertyData<?> nameData = children.getObjects().iterator().next().getObject().getProperties().getProperties().get("cmis:name"); assertNotNull(nameData); Object name = nameData.getValues().iterator().next(); assertEquals(folderAndDocument.getSecond().getName(), name); } }, CmisVersion.CMIS_1_0);