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; }
/** * Writes a delete object. */ public void writeDeletedObject(ObjectData object, CmisVersion cmisVersion) throws XMLStreamException { if (object == null) { return; } long now = System.currentTimeMillis(); writeAuthor(DEFAULT_AUTHOR); writeId(generateAtomId(object.getId())); writePublished(now); writeTitle(object.getId()); writeUpdated(now); XMLConverter.writeObject(getWriter(), cmisVersion, false, XMLConstants.TAG_OBJECT, XMLConstants.NAMESPACE_RESTATOM, object); }
protected String getObjectIdByPath(String path) { try { return getBinding().getObjectService().getObjectByPath(getRepositoryId(), path, "cmis:objectId,cmis:baseTypeId", false, IncludeRelationships.NONE, "cmis:none", false, false, null) .getId(); } catch (CmisObjectNotFoundException onfe) { cache.removePath(path); throw onfe; } }
@Override public String execute(CmisService cmisService) { String contentType = cmisService.getObjectInfo(repositoryId, objectData.getId()).getContentType(); return contentType; } });
protected String getObjectIdByPath(String path) { try { return getBinding().getObjectService().getObjectByPath(getRepositoryId(), path, "cmis:objectId,cmis:baseTypeId", false, IncludeRelationships.NONE, "cmis:none", false, false, null) .getId(); } catch (CmisObjectNotFoundException onfe) { cache.removePath(path); throw onfe; } }
@Override public Void execute(CmisService cmisService) { // delete original document cmisService.deleteObject(testContext.getRepositoryId(), objectData.getId(), true, null); return null; } });
@Override public String execute(CmisService cmisService) { String contentType = cmisService.getObjectInfo(repositoryId, objectData.getId()).getContentType(); return contentType; } });
@Override public String execute(CmisService cmisService) { String contentType = cmisService.getObjectInfo(repositoryId, objectData.getId()).getContentType(); return contentType; } });
@Override protected AbstractPageFetcher.Page<Relationship> fetchPage(long skipCount) { // fetch the relationships ObjectList relList = relationshipService.getObjectRelationships(getRepositoryId(), id, includeSubRelationshipTypes, relationshipDirection, typeId, ctxt.getFilterString(), ctxt.isIncludeAllowableActions(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert relationship objects List<Relationship> page = new ArrayList<Relationship>(); if (relList.getObjects() != null) { for (ObjectData rod : relList.getObjects()) { CmisObject relationship = getObject(rod.getId(), ctxt); if (!(relationship instanceof Relationship)) { throw new CmisRuntimeException("Repository returned an object that is not a relationship!"); } page.add((Relationship) relationship); } } return new AbstractPageFetcher.Page<Relationship>(page, relList.getNumItems(), relList.hasMoreItems()); } });
@Override protected AbstractPageFetcher.Page<Relationship> fetchPage(long skipCount) { // fetch the relationships ObjectList relList = relationshipService.getObjectRelationships(getRepositoryId(), id, includeSubRelationshipTypes, relationshipDirection, typeId, ctxt.getFilterString(), ctxt.isIncludeAllowableActions(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert relationship objects List<Relationship> page = new ArrayList<Relationship>(); if (relList.getObjects() != null) { for (ObjectData rod : relList.getObjects()) { CmisObject relationship = getObject(rod.getId(), ctxt); if (!(relationship instanceof Relationship)) { throw new CmisRuntimeException("Repository returned an object that is not a relationship!"); } page.add((Relationship) relationship); } } return new AbstractPageFetcher.Page<Relationship>(page, relList.getNumItems(), relList.hasMoreItems()); } });
private Holder<String> getHolderOfObjectOfLatestVersion(CmisService cmisService, String repositoryId, Holder<String> currentHolder) { ObjectData oData = cmisService.getObjectOfLatestVersion(repositoryId, currentHolder.getValue(), null, Boolean.FALSE, null, null, null, null, null, null, null); return new Holder<String>(oData.getId()); }
@Override public NodeRef execute(CmisService cmisService) { String repositoryId = cmisService.getRepositoryInfos(null).get(0).getId(); String rootNodeId = cmisService.getObjectByPath(repositoryId, "/", null, true, IncludeRelationships.NONE, null, false, true, null).getId(); Collection<PropertyData<?>> propsList = new ArrayList<PropertyData<?>>(); propsList.add(new PropertyStringImpl(PropertyIds.NAME, "Folder-" + GUID.generate())); propsList.add(new PropertyIdImpl(PropertyIds.OBJECT_TYPE_ID, "cmis:folder")); String folderId = cmisService.createFolder(repositoryId, new PropertiesImpl(propsList), rootNodeId, null, null, null, null); propsList = new ArrayList<PropertyData<?>>(); propsList.add(new PropertyStringImpl(PropertyIds.NAME, "File-" + GUID.generate())); propsList.add(new PropertyIdImpl(PropertyIds.OBJECT_TYPE_ID, "cmis:document")); String nodeId = cmisService.createDocument(repositoryId, new PropertiesImpl(propsList), folderId, null, null, null, null, null, null); return new NodeRef(nodeId.substring(0, nodeId.indexOf(';'))); } }, CmisVersion.CMIS_1_1);
@Override public Void execute(CmisService cmisService) { List<RepositoryInfo> repositories = cmisService.getRepositoryInfos(null); assertTrue(repositories.size() > 0); RepositoryInfo repo = repositories.get(0); String repositoryId = repo.getId(); ObjectData objectData = cmisService.getObjectByPath(repositoryId, "/" + folderName + "/" + docName, null, true, IncludeRelationships.NONE, null, false, true, null); // Expect no failure cmisService.getAllVersions(repositoryId, objectData.getId(), fileInfo.getNodeRef().getId(), null, true, null); return null; } });
/** * Loads the object. */ private void loadObject() { ObjectData object = null; if (objectId != null) { object = service.getObject(getRepositoryId(), objectId, "cmis:objectId,cmis:objectTypeId,cmis:baseTypeId", false, IncludeRelationships.NONE, "cmis:none", false, false, null); } else if (pathFragments != null) { object = service.getObjectByPath(getRepositoryId(), getPath(), "cmis:objectId,cmis:objectTypeId,cmis:baseTypeId", false, IncludeRelationships.NONE, "cmis:none", false, false, null); } else { // this is a repository URL call without object id // -> there is nothing to load return; } objectId = object.getId(); typeId = getStringPropertyValue(object, PropertyIds.OBJECT_TYPE_ID); baseTypeId = BaseTypeId.fromValue(getStringPropertyValue(object, PropertyIds.BASE_TYPE_ID)); }
/** * Writes an entry that is attached to an object. */ protected void writePolicyEntry(CmisService service, AtomEntry entry, String objectId, ObjectData policy, String repositoryId, UrlBuilder baseUrl, CmisVersion cmisVersion) throws Exception { ObjectInfo info = service.getObjectInfo(repositoryId, policy.getId()); if (info == null) { throw new CmisRuntimeException("Object Info not found!"); } // start entry.startEntry(false); // write the object entry.writeObject(policy, info, null, null, null, null, cmisVersion); // write links UrlBuilder selfLink = compileUrlBuilder(baseUrl, RESOURCE_POLICIES, objectId); selfLink.addParameter(Constants.PARAM_POLICY_ID, info.getId()); entry.writeSelfLink(selfLink.toString(), null); // we are done entry.endEntry(); } }
@Override public List<ObjectData> execute(CmisService cmisService) { String repositoryId = cmisService.getRepositoryInfos(null).get(0).getId(); ObjectData objectData = cmisService.getObjectByPath(repositoryId, "/" + folderName + "/" + docName, null, true, IncludeRelationships.NONE, null, false, true, null); // Checkout Holder<String> objectId = new Holder<String>(objectData.getId()); cmisService.checkOut(repositoryId, objectId, null, new Holder<Boolean>(true)); // Call get all versions with null objectId List<ObjectData> versions = cmisService.getAllVersions(repositoryId, null, fileRef.toString(), null, null, null); return versions; } });
@Override public Void execute(CmisService cmisService) { // get original document ObjectData originalDoc = cmisService.getObject(testContext.getRepositoryId(), objectData.getId(), null, true, IncludeRelationships.NONE, null, false, true, null); Map<String, PropertyData<?>> properties = originalDoc.getProperties().getProperties(); PropertyData<Boolean> isVersionSeriesCheckedOutProp = (PropertyData<Boolean>)properties.get(PropertyIds.IS_VERSION_SERIES_CHECKED_OUT); assertNotNull(isVersionSeriesCheckedOutProp); Boolean isVersionSeriesCheckedOut = isVersionSeriesCheckedOutProp.getFirstValue(); assertNotNull(isVersionSeriesCheckedOut); assertEquals(Boolean.FALSE, isVersionSeriesCheckedOut); return null; } });
@Override public ObjectData execute(CmisService cmisService) { List<RepositoryInfo> repositories = cmisService.getRepositoryInfos(null); assertTrue(repositories.size() > 0); RepositoryInfo repo = repositories.get(0); String repositoryId = repo.getId(); testContext.setRepositoryId(repositoryId); ObjectData objectData = cmisService.getObjectByPath(repositoryId, "/" + folderName + "/" + docName, null, true, IncludeRelationships.NONE, null, false, true, null); testContext.setObjectData(objectData); // checkout Holder<String> objectId = new Holder<String>(objectData.getId()); testContext.setObjectId(objectId); cmisService.checkOut(repositoryId, objectId, null, new Holder<Boolean>(true)); return objectData; } });
@Override public String createFolder(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) { // build URL UrlBuilder url = getObjectUrl(repositoryId, folderId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CREATE_FOLDER); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addPoliciesParameters(policies); formData.addAddAcesParameters(addAces); formData.addRemoveAcesParameters(removeAces); formData.addSuccinctFlag(getSuccinct()); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); ObjectData newObj = JSONConverter.convertObject(json, typeCache); return newObj == null ? null : newObj.getId(); }
@Override public String createPolicy(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) { // build URL UrlBuilder url = folderId != null ? getObjectUrl(repositoryId, folderId) : getRepositoryUrl(repositoryId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CREATE_POLICY); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addPoliciesParameters(policies); formData.addAddAcesParameters(addAces); formData.addRemoveAcesParameters(removeAces); formData.addSuccinctFlag(getSuccinct()); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); ObjectData newObj = JSONConverter.convertObject(json, typeCache); return newObj == null ? null : newObj.getId(); }