Search in sources :

Example 6 with QueryResult

use of org.apache.chemistry.opencmis.client.api.QueryResult in project SearchServices by Alfresco.

the class CMISDataCreatorTest method testCreate.

public void testCreate() {
    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);
    for (int i = 0; i < 50; i++) {
        AccessControlPrincipalDataImpl principal = new AccessControlPrincipalDataImpl("user" + i);
        List<String> permissions = new ArrayList<String>(1);
        permissions.add(BasicPermissions.READ);
        List<Ace> addAces = new ArrayList<Ace>(1);
        addAces.add(new AccessControlEntryImpl(principal, permissions));
        newFolder.addAcl(addAces, AclPropagation.PROPAGATE);
        Map<String, Object> updateProperties = new HashMap<String, Object>();
        updateProperties.put("cm:title", "Update title " + i);
        newFolder.updateProperties(properties);
        if (i % 10 == 0) {
            System.out.println("@ " + i);
        }
    }
    ItemIterable<QueryResult> result = session.query("select * from cmis:folder", false);
    assertTrue(result.getTotalNumItems() > 0);
    result = session.query("select * from cmis:folder where cmis:name = '" + folderName + "'", false);
    assertTrue(result.getTotalNumItems() > 0);
}
Also used : AccessControlEntryImpl(org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlEntryImpl) Ace(org.apache.chemistry.opencmis.commons.data.Ace) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Folder(org.apache.chemistry.opencmis.client.api.Folder) QueryResult(org.apache.chemistry.opencmis.client.api.QueryResult) CmisObject(org.apache.chemistry.opencmis.client.api.CmisObject) AccessControlPrincipalDataImpl(org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlPrincipalDataImpl) Session(org.apache.chemistry.opencmis.client.api.Session)

Example 7 with QueryResult

use of org.apache.chemistry.opencmis.client.api.QueryResult 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());
}
Also used : QueryResult(org.apache.chemistry.opencmis.client.api.QueryResult) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) CmisObject(org.apache.chemistry.opencmis.client.api.CmisObject) Folder(org.apache.chemistry.opencmis.client.api.Folder) Document(org.apache.chemistry.opencmis.client.api.Document) Session(org.apache.chemistry.opencmis.client.api.Session)

Example 8 with QueryResult

use of org.apache.chemistry.opencmis.client.api.QueryResult 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());
}
Also used : QueryResult(org.apache.chemistry.opencmis.client.api.QueryResult) HashMap(java.util.HashMap) CmisObject(org.apache.chemistry.opencmis.client.api.CmisObject) Folder(org.apache.chemistry.opencmis.client.api.Folder) Document(org.apache.chemistry.opencmis.client.api.Document) Session(org.apache.chemistry.opencmis.client.api.Session)

Aggregations

QueryResult (org.apache.chemistry.opencmis.client.api.QueryResult)8 CmisObject (org.apache.chemistry.opencmis.client.api.CmisObject)7 HashMap (java.util.HashMap)6 Folder (org.apache.chemistry.opencmis.client.api.Folder)5 Session (org.apache.chemistry.opencmis.client.api.Session)5 ArrayList (java.util.ArrayList)4 ByteArrayInputStream (java.io.ByteArrayInputStream)2 InputStream (java.io.InputStream)2 Document (org.apache.chemistry.opencmis.client.api.Document)2 Ace (org.apache.chemistry.opencmis.commons.data.Ace)2 AccessControlEntryImpl (org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlEntryImpl)2 AccessControlPrincipalDataImpl (org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlPrincipalDataImpl)2 Map (java.util.Map)1 SenderException (nl.nn.adapterframework.core.SenderException)1 DomBuilderException (nl.nn.adapterframework.util.DomBuilderException)1 XmlBuilder (nl.nn.adapterframework.util.XmlBuilder)1 OperationContext (org.apache.chemistry.opencmis.client.api.OperationContext)1 Element (org.w3c.dom.Element)1