Получить дочерние страницы в компоненте Java xwiki
Я пытаюсь получить все документы, которые перечисляют текущий документ как perant, используя:
List<DocumentReference> childDocs = doc.getChildrenReferences(xcontext);
где doc является родительским XWikiDocument.
Однако функция возвращает только пустой список, хотя в этом месте есть документы.
Если я печатаю doc.getFullName(), его AAA.WebHome.. И все пробелы chldren перечислены в AAA.. как я должен ссылаться на doc, чтобы получить AAA.BBB.WebHome в списке? или я куда не так?
Я пытаюсь написать рекурсивную функцию, которая удаляет все дочерние страницы в текущем пространстве. Но не могу перечислить все дочерние страницы. Вот рекурсивная функция:
public void RECdeleteSpace(XWikiDocument doc, XWikiContext xcontext,boolean toTrash){
XWiki xwiki = xcontext.getWiki();
List<DocumentReference> childDocs;
try {
childDocs = doc.getChildrenReferences(xcontext);
System.out.println("REC " + doc.getFullName());
System.out.println("CHLD " + childDocs.toString());
System.out.println("----- ");
Iterator<DocumentReference> docit = childDocs.iterator();
while (docit.hasNext()) {
DocumentReference chdocref = docit.next();
XWikiDocument chdoc = xwiki.getDocument(chdocref, xcontext);
System.out.println("DOC: "+chdoc.getFullName());
RECdeleteSpace(chdoc,xcontext,toTrash);
}
xwiki.deleteDocument(doc, toTrash, xcontext);
} catch (XWikiException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Выход только:
INIT WebHome
REC AAA.WebHome
CHLD []
-----
И итератор никогда не собирается в AAA.BBB.Webhome или AAA.BBB.CCC.WebHome