Получить дочерние страницы в компоненте 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

0 ответов

Другие вопросы по тегам