2

I need all documents under specific folder path

My Query is :

query = "SELECT cmis:name FROM cmis:document WHERE CONTAINS('PATH:\"/app:Company  Home/st:Sites/*\"')"

The following exception occurs:

org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: 05070198 Request failed 400 /solr4/alfresco/cmis?wt=json&fl=DBID%2Cscore&rows=100&df=TEXT&start=0&loc
le=en_IN&alternativeDic=DEFAULT_DICTIONARY&cmisVersion=CMIS_1_1&fq=%7B%21afts%7DAUTHORITY_FILTER_FROM_JSON&fq=%7B%21afts%7DTENANT_FILTER_FROM_JSON
at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:487)

Path of my document is like:

/Sites/site_name/documentLibrary/PIM Data/3600011/rnd/VphotometricDrawings.polar diagram/en
eol
  • 23,236
  • 5
  • 46
  • 64
user3370281
  • 121
  • 1
  • 9
  • 1
    I'm not sure your PATH part of the query looks right, you might wanna look into that, for example "SELECT * FROM cmis:document WHERE CONTAINS('PATH:\"/app:company_home/st:sites/*\"')". – Lista Jun 07 '16 at 06:55
  • Thanks Lista, This is working fine SELECT * FROM cmis:document WHERE CONTAINS('PATH:\"/app:company_home/st:sites/*\"')" But I want to fetch from folder like "PIM Data" query = "SELECT cmis:name FROM cmis:document WHERE CONTAINS('PATH:\"/app:company_home/st:sites/cm:site_name/cm:documentLibrary*\"')" – user3370281 Jun 07 '16 at 07:09
  • Thanks Lista It is working.. – user3370281 Jun 07 '16 at 07:35
  • Glad I could help! I'll move the comment into an answer, so you can accept it next time around. – Lista Jun 07 '16 at 08:35

2 Answers2

2

I'm not sure your PATH part of the query looks right, you might wanna look into that, for example:

"SELECT * FROM cmis:document WHERE CONTAINS('PATH:\"/app:company_home/st:sites/*\"')".

Also, see the following link:

http://docs.alfresco.com/4.1/references/API-JS-iso9075Encode.html

Lista
  • 2,186
  • 1
  • 15
  • 18
1

Try this query. It should work

String folder_query = "SELECT cmis:path,cmis:objectId,cmis:allowedChildObjectTypeIds FROM cmis:folder where CONTAINS('PATH:\"/app:company_home/st:sites/cm:mysite/cm:myLibrary/"
                + your own path + "//*\"')";

It will give you the folder ID. By using folder ID you can access your documents.

String query = "Select cmis:contentStreamMimeType,cmis:objectId FROM cmis:document where IN_FOLDER('" + objectId
                    + "') and cmis:contentStreamMimeType = 'application/pdf'";
PANKAJ SHARMA
  • 53
  • 1
  • 7