В моем проекте я запрашиваю свой репозиторий на открытом воздухе, чтобы получить все документы, которые имеют «аспект А», и распечатать все их имена, что я хочу, так это получить путь к найденным документам?
Как мне это сделать?
В моем проекте я запрашиваю свой репозиторий на открытом воздухе, чтобы получить все документы, которые имеют «аспект А», и распечатать все их имена, что я хочу, так это получить путь к найденным документам?
Как мне это сделать?
Начиная с CMIS Document, вы можете вызвать getPaths(). Предполагая, что у объекта есть путь (в Alfresco должно быть все, кроме корня), он будет первым в списке.
Ваш код будет примерно таким:
String queryString = "SELECT ......"
ItemIterable<QueryResult> results = session.query(queryString, false);
for (QueryResult qResult : results) {
String objectId = qResult.getPropertyValueByQueryName(objectIdQueryName);
Document doc = (Document) session.getObject(session.createObjectId(objectId));
List<String> paths = doc.getPaths();
if (! paths.isEmpty()) {
System.out.println(objectId + " lives at " + paths.get(0));
}
}
Обратите внимание, что объекты могут иметь несколько путей, если они имеют несколько файлов.