private void loadAttachments()

in src/main/java/org/apache/cxf/cwiki/SiteExporter.java [568:634]


    private void loadAttachments(AbstractPage p) throws Exception {
        Document doc = DOMUtils.createDocument();
        Element el = doc.createElementNS(SOAPNS, "ns1:getAttachments");
        Element el2 = doc.createElement("in0");
        el.appendChild(el2);
        el2.setTextContent(loginToken);
        el2 = doc.createElement("in1");
        el.appendChild(el2);
        el2.setTextContent(p.getId());
        el.appendChild(el2);
        doc.appendChild(el);

        doc = getDispatch().invoke(doc);
        el = DOMUtils.getFirstElement(DOMUtils.getFirstElement(doc.getDocumentElement()));
        while (el != null) {
            try {
                String filename = DOMUtils.getChildContent(el, "fileName");
                String durl = DOMUtils.getChildContent(el, "url");
                String aid = DOMUtils.getChildContent(el, "id");
                
                p.addAttachment(aid, filename);
                
                String dirName = p.getPath();
                dirName = dirName.substring(0, dirName.lastIndexOf(".")) + ".data";
                File file = new File(outputDir, dirName);
                if (!file.exists()) {
                    callSvn("mkdir", file.getAbsolutePath());
                    file.mkdirs();
                }
                file = new File(file, filename);
                boolean exists = file.exists();
                FileOutputStream out = new FileOutputStream(file);
                URL url = new URL(durl);
                InputStream ins = url.openStream();
                IOUtils.copy(ins, out);
                out.close();
                ins.close();
                if (!exists) {
                    callSvn("add", file.getAbsolutePath());
                    svnCommitMessage.append("Added: " + dirName + "/" + file.getName() + "\n");
                } else {
                    svnCommitMessage.append("Modified: " + dirName + "/" + file.getName() + "\n");
                }
                if (filename.indexOf(' ') != -1) {
                    filename = filename.replace(' ', '-');
                    file = new File(outputDir, dirName);
                    File f2 = new File(file, filename);
                    exists = f2.exists();
                    out = new FileOutputStream(f2);
                    url = new URL(durl);
                    ins = url.openStream();
                    IOUtils.copy(ins, out);
                    out.close();
                    ins.close();
                    if (!exists) {
                        callSvn("add", f2.getAbsolutePath());
                        svnCommitMessage.append("Added: " + dirName + "/" + f2.getName() + "\n");
                    } else {
                        svnCommitMessage.append("Modified: " + dirName + "/" + f2.getName() + "\n");
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            el = DOMUtils.getNextElement(el);
        }
    }