public void loadPages()

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
        }
        
    }