use of org.apache.chemistry.opencmis.client.api.Document in project alfresco-repository by Alfresco.
the class OpenCmisLocalTest method testALF10085.
public void testALF10085() throws InterruptedException {
Repository repository = getRepository("admin", "admin");
Session session = repository.createSession();
Folder rootFolder = session.getRootFolder();
Map<String, String> props = new HashMap<String, String>();
{
props.put(PropertyIds.OBJECT_TYPE_ID, "D:cmiscustom:document");
props.put(PropertyIds.NAME, "mydoc-" + GUID.generate() + ".txt");
}
Document doc1 = rootFolder.createDocument(props, null, null);
props = new HashMap<String, String>();
{
props.put(PropertyIds.OBJECT_TYPE_ID, "D:cmiscustom:document");
props.put(PropertyIds.NAME, "mydoc-" + GUID.generate() + ".txt");
}
Document doc2 = rootFolder.createDocument(props, null, null);
Thread.sleep(6000);
session.getObject(doc1);
doc1.refresh();
Calendar doc1LastModifiedBefore = (Calendar) doc1.getProperty(PropertyIds.LAST_MODIFICATION_DATE).getFirstValue();
assertNotNull(doc1LastModifiedBefore);
doc2.refresh();
Calendar doc2LastModifiedBefore = (Calendar) doc2.getProperty(PropertyIds.LAST_MODIFICATION_DATE).getFirstValue();
assertNotNull(doc2LastModifiedBefore);
// Add relationship A to B
props = new HashMap<String, String>();
{
props.put(PropertyIds.OBJECT_TYPE_ID, "R:cmiscustom:assoc");
props.put(PropertyIds.NAME, "A Relationship");
props.put(PropertyIds.SOURCE_ID, doc1.getId());
props.put(PropertyIds.TARGET_ID, doc2.getId());
}
session.createRelationship(props);
doc1.refresh();
Calendar doc1LastModifiedAfter = (Calendar) doc1.getProperty(PropertyIds.LAST_MODIFICATION_DATE).getFirstValue();
assertNotNull(doc1LastModifiedAfter);
doc2.refresh();
Calendar doc2LastModifiedAfter = (Calendar) doc2.getProperty(PropertyIds.LAST_MODIFICATION_DATE).getFirstValue();
assertNotNull(doc2LastModifiedAfter);
assertEquals(doc1LastModifiedBefore, doc1LastModifiedAfter);
assertEquals(doc2LastModifiedBefore, doc2LastModifiedAfter);
}
use of org.apache.chemistry.opencmis.client.api.Document in project alfresco-repository by Alfresco.
the class OpenCmisLocalTest method testEncodingForCreateContentStream.
public void testEncodingForCreateContentStream() {
ServiceRegistry serviceRegistry = (ServiceRegistry) ctx.getBean(ServiceRegistry.SERVICE_REGISTRY);
FileFolderService ffs = serviceRegistry.getFileFolderService();
// Authenticate as system
AuthenticationComponent authenticationComponent = (AuthenticationComponent) ctx.getBean(BEAN_NAME_AUTHENTICATION_COMPONENT);
authenticationComponent.setSystemUserAsCurrentUser();
try {
/* Create the document using openCmis services */
Repository repository = getRepository("admin", "admin");
Session session = repository.createSession();
Folder rootFolder = session.getRootFolder();
Document document = createDocument(rootFolder, "test_file_" + GUID.generate() + ".txt", session);
ContentStream content = document.getContentStream();
assertNotNull(content);
content = document.getContentStream(BigInteger.valueOf(2), BigInteger.valueOf(4));
assertNotNull(content);
NodeRef doc1NodeRef = cmisIdToNodeRef(document.getId());
FileInfo fileInfo = ffs.getFileInfo(doc1NodeRef);
Map<QName, Serializable> properties = fileInfo.getProperties();
ContentDataWithId contentData = (ContentDataWithId) properties.get(QName.createQName("{http://www.alfresco.org/model/content/1.0}content"));
String encoding = contentData.getEncoding();
assertEquals("ISO-8859-1", encoding);
} finally {
authenticationComponent.clearCurrentSecurityContext();
}
}
use of org.apache.chemistry.opencmis.client.api.Document in project alfresco-repository by Alfresco.
the class OpenCmisLocalTest method testDownloadEvent.
public void testDownloadEvent() throws InterruptedException {
Repository repository = getRepository("admin", "admin");
Session session = repository.createSession();
Folder rootFolder = session.getRootFolder();
String docname = "mydoc-" + GUID.generate() + ".txt";
Map<String, String> props = new HashMap<String, String>();
{
props.put(PropertyIds.OBJECT_TYPE_ID, "D:cmiscustom:document");
props.put(PropertyIds.NAME, docname);
}
// content
byte[] byteContent = "Hello from Download testing class".getBytes();
InputStream stream = new ByteArrayInputStream(byteContent);
ContentStream contentStream = new ContentStreamImpl(docname, BigInteger.valueOf(byteContent.length), "text/plain", stream);
Document doc1 = rootFolder.createDocument(props, contentStream, VersioningState.MAJOR);
NodeRef doc1NodeRef = cmisIdToNodeRef(doc1.getId());
ContentStream content = doc1.getContentStream();
assertNotNull(content);
// range request
content = doc1.getContentStream(BigInteger.valueOf(2), BigInteger.valueOf(4));
assertNotNull(content);
}
use of org.apache.chemistry.opencmis.client.api.Document in project SearchServices by Alfresco.
the class CMISDataCreatorTest method testQueryForMultipleDocumentProperties.
public void testQueryForMultipleDocumentProperties() throws Exception {
Session session = getSession("admin", "admin");
String folderName = getRootFolderName();
Folder root = session.getRootFolder();
Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");
properties.put(PropertyIds.NAME, folderName);
// create the folder
Folder newFolder = root.createFolder(properties);
ItemIterable<QueryResult> result = session.query("select * from cmis:folder where cmis:name = '" + folderName + "'", false);
assertEquals(1, result.getTotalNumItems());
Document document1 = createUniqueDocument(newFolder);
Document document2 = createUniqueDocument(newFolder);
// result = session.query("SELECT * FROM cmis:folder d join sys:hidden t on d.cmis:objectId = t.cmis:objectId", false);
// assertTrue(0 < result.getTotalNumItems());
// result = session.query("SELECT * FROM cmis:folder d join sys:hidden t on d.cmis:objectId = t.cmis:objectId where t.sys:cascadeHidden = false", false);
// assertTrue(0 < result.getTotalNumItems());
result = session.query("SELECT * FROM cmis:document d join exif:exif t on d.cmis:objectId = t.cmis:objectId", false);
long count = result.getTotalNumItems();
Map<String, Object> props = new HashMap<String, Object>();
props.put("exif:focalLength", 10.33d);
ArrayList<String> aspects = new ArrayList<String>();
aspects.add("P:exif:exif");
props.put("cmis:secondaryObjectTypeIds", aspects);
document1.updateProperties(props);
result = session.query("SELECT * FROM cmis:document d join exif:exif t on d.cmis:objectId = t.cmis:objectId", false);
assertEquals(count + 1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + document1.getName() + "' OR cmis:name = '" + document2.getName() + "'", false);
assertEquals(2, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + document1.getName() + "' AND cmis:contentStreamLength = 5 AND cmis:contentStreamMimeType = 'text/plain'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("SELECT * FROM cmis:document", false);
long docCount = result.getTotalNumItems();
result = session.query("SELECT * FROM cmis:document d left outer join exif:exif t on d.cmis:objectId = t.cmis:objectId", false);
assertEquals(docCount, result.getTotalNumItems());
}
use of org.apache.chemistry.opencmis.client.api.Document in project SearchServices by Alfresco.
the class CMISDataCreatorTest method testQueryDocumentProperties.
public void testQueryDocumentProperties() throws Exception {
Session session = getSession("admin", "admin");
String folderName = getRootFolderName();
Folder root = session.getRootFolder();
Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");
properties.put(PropertyIds.NAME, folderName);
// create the folder
Folder newFolder = root.createFolder(properties);
ItemIterable<QueryResult> result = session.query("select * from cmis:folder where cmis:name = '" + folderName + "'", false);
assertEquals(1, result.getTotalNumItems());
Document uniqueDocument = createUniqueDocument(newFolder);
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND IN_FOLDER('" + newFolder.getId() + "')", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where IN_FOLDER('" + newFolder.getId() + "')", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:createdBy = '" + uniqueDocument.getCreatedBy() + "'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:objectId = '" + uniqueDocument.getId() + "'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:lastModifiedBy = '" + uniqueDocument.getLastModifiedBy() + "'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "'", false);
assertEquals(1, result.getTotalNumItems());
String creationDate = ISO8601DateFormat.format(uniqueDocument.getCreationDate().getTime());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:creationDate = '" + creationDate + "'", false);
assertEquals(1, result.getTotalNumItems());
String modificationDate = ISO8601DateFormat.format(uniqueDocument.getLastModificationDate().getTime());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:lastModificationDate = '" + modificationDate + "'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:objectTypeId = '" + uniqueDocument.getType().getQueryName() + "'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:baseTypeId = '" + uniqueDocument.getBaseType().getQueryName() + "'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:contentStreamFileName = '" + uniqueDocument.getContentStreamFileName() + "'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:contentStreamLength = '" + uniqueDocument.getContentStreamLength() + "'", false);
assertEquals(1, result.getTotalNumItems());
result = session.query("select * from cmis:document where cmis:name = '" + uniqueDocument.getName() + "' AND cmis:contentStreamMimeType = '" + uniqueDocument.getContentStreamMimeType() + "'", false);
assertEquals(1, result.getTotalNumItems());
}
Aggregations