in src/main/java/org/apache/cxf/cwiki/SiteExporter.java [981:1032]
public void loadPages() throws Exception {
Document doc = DOMUtils.newDocument();
Element el = doc.createElementNS(SOAPNS, "ns1:getPages");
Element el2 = doc.createElement("in0");
el.appendChild(el2);
el2.setTextContent(loginToken);
el2 = doc.createElement("in1");
el.appendChild(el2);
el2.setTextContent(spaceKey);
doc.appendChild(el);
doc = getDispatch().invoke(doc);
Set<String> allPages = new CopyOnWriteArraySet<String>(pages.keySet());
Set<Page> newPages = new CopyOnWriteArraySet<Page>();
List<Future<?>> futures = new ArrayList<Future<?>>(allPages.size());
// XMLUtils.printDOM(doc.getDocumentElement());
Node nd = doc.getDocumentElement().getFirstChild().getFirstChild();
while (nd != null) {
if (nd instanceof Element) {
futures.add(loadPage((Element)nd, allPages, newPages));
}
nd = nd.getNextSibling();
}
for (Future<?> f : futures) {
//wait for all the pages to be done
f.get();
}
for (Page p : newPages) {
//pages have been added, need to check
checkForChildren(p);
}
for (String id : allPages) {
//these pages have been deleted
Page p = pages.remove(id);
checkForChildren(p);
File file = new File(outputDir, p.createFileName());
if (file.exists()) {
callSvn("rm", file.getAbsolutePath());
svnCommitMessage.append("Deleted: " + file.getName() + "\n");
}
if (file.exists()) {
file.delete();
}
}
while (checkIncludes()) {
// nothing
}
}