#java #alfresco
#java #alfresco
Вопрос:
Вот пример кода:
Folder dataLists = (Folder) session.getObjectByPath("/sites/swsdp/dataLists");
Joiner joiner = Joiner.on("t");
for (Folder cmisObject : (Iterable<Folder>) ((Iterable) dataLists.getChildren())) {
System.out.println(
joiner.join(
cmisObject.getId(),
cmisObject.getName(),
cmisObject.getDescription(),
cmisObject.getClass()
));
System.out.println("==============================");
}
Вывод:
a534356f-8dd6-4d9a-8ffb-dc1adb140c01 71824d77-9cd8-44c3-b3e4-dbca7e17dc49 Project issues class org.apache.chemistry.opencmis.client.runtime.FolderImpl
Хорошо, описание можно распечатать с помощью getDescription()
метода, но как получить имя списка? Почему я получил UUID
вместо Issue Log
? ( Issue Log
так список появился в списке списков).
Комментарии:
1. вы ищете имя папки ?!?
2. вы пытались использовать запрос, чтобы получить все имя ?!?
Ответ №1:
Во-первых, вы должны посмотреть, как структурированы списки данных, перейдя к ним с помощью браузера узлов. Это прольет много света на структуру объекта.
Если вы это сделаете, вы узнаете, что имя списка данных фактически хранится в свойстве cm:title . Свойство cm:title определено в аспекте, который CMIS называет «вторичными типами».
Если вы используете Alfresco 4.2.x или выше и конечную точку CMIS 1.1, вы должны иметь возможность получить свойство cm: title с помощью вашего кода, используя:
cmisObject.getPropertyValue("cm:title")
Кроме того, если вы предпочитаете идти по маршруту запроса, поймите, что тип, который вы хотите запросить, — это не cm:folder, а скорее dl: dataList. Вы можете выполнить объединение с аспектом cm:titled, чтобы получить свойство заголовка списка данных таким образом, например:
SELECT t.cm:title FROM dl:dataList as d join cm:titled as t on d.cmis:objectId = t.cmis:objectId