在java组件xwiki中获取子页面

时间:2015-12-01 12:55:37

标签: java xwiki

我正在尝试使用以下命令获取列出当前文档的所有文档:

 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 []
-----

并且itterator将转到AAA.BBB.Webhome或AAA.BBB.CCC.WebHome

0 个答案:

没有答案