2016-09-12 1 views
0

Я хотел бы отфильтровать дочерние папки из CMis 1.0 совместимого репозитория с одним запросом. Пока что это не представляется возможным, поэтому я решил выполнить два запроса для извлечения детей (например, папки и документы), однако все равно хотел бы фильтровать дочерние элементы по специальным типам, поэтому у меня есть следующий запрос:Как фильтровать детей в папках с помощью cmis-запроса?

SELECT cmis:objectTypeId, cmis:objectId FROM cmis:folder WHERE cmis:objectTypeId = 'my:custom1' OR cmis:objectTypeId = 'my:custom2' OR cmis:objectTypeId = 'cmis:folder' IN_FOLDER('workspace://SpacesStore/fhj738tw-45hW-659u-9DS1-9cX3Nh95r089') 

Это не работает, так как я продолжаю получать ошибку о несоответствующем вводе.

+0

Если я понимаю ваш вопрос, вам нужно его, чтобы получить детей из одной конкретной папки?!? –

+0

Вопрос 2 части. Во-первых, чтобы получить все дочерние элементы папки в одном запросе (не представляется возможным, насколько я могу судить), и во-вторых, чтобы отфильтровать результаты того, что было возвращено таким образом, что указаны только указанные типы арбитража (т.е. cmis: objectTypeId = my: тип). –

+0

Уверяю вас, что мой пример работал нормально, я обновляю свой ответ, чтобы получить его с типом –

ответ

1

Я использовал этот запрос, чтобы получить детей определенного folder

String query; 
query = "SELECT * FROM cmis:document WHERE IN_FOLDER('" + folderId + "')"; 

и получить все дети

ItemIterable<QueryResult> resultList = session.query(query, false);// No need to say about session ??? 

и, наконец,

for (QueryResult qr : resultList) { 

String idDocument = qr.getPropertyByQueryName("cmis:objectId").getFirstValue().toString(); 
Document doc = (Document) session.getObject(idDocument); 

} 

Обратите внимание, что в моем примере я получаю только cmis:objectId, вы можете получить больше от Cmis Query

Надеюсь, что это поможет.

+0

Я более того сделал это. Мне просто интересно, можно ли фильтровать результат, который я получаю с помощью запроса. но сейчас я делаю этот пост. Спасибо –

+0

@ DarkStar1 обратите внимание, что в моем примере я получаю 'cmis: objectId', вы можете получить больше https://wiki.alfresco.com/wiki/CMIS_Query_Language –

+0

Я уже знаю это. Я просил кое-что, что я не нашел примеров для –

Смежные вопросы