Return-Path: X-Original-To: apmail-geronimo-scm-archive@www.apache.org Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C098DE113 for ; Wed, 19 Dec 2012 21:00:07 +0000 (UTC) Received: (qmail 30095 invoked by uid 500); 19 Dec 2012 21:00:07 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 29968 invoked by uid 500); 19 Dec 2012 21:00:07 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 29950 invoked by uid 99); 19 Dec 2012 21:00:06 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Dec 2012 21:00:06 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Dec 2012 21:00:05 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id F17932388847; Wed, 19 Dec 2012 20:59:44 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1424104 - in /geronimo/site/trunk/wiki-export: conf/ src/main/java/org/apache/cxf/cwiki/ Date: Wed, 19 Dec 2012 20:59:44 -0000 To: scm@geronimo.apache.org From: gawor@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121219205944.F17932388847@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gawor Date: Wed Dec 19 20:59:43 2012 New Revision: 1424104 URL: http://svn.apache.org/viewvc?rev=1424104&view=rev Log: get cross site links working Added: geronimo/site/trunk/wiki-export/conf/GMOxDOC12.cfg geronimo/site/trunk/wiki-export/conf/GMOxDOC20.cfg geronimo/site/trunk/wiki-export/conf/GMOxDOC21.cfg geronimo/site/trunk/wiki-export/conf/GMOxPMGT.cfg geronimo/site/trunk/wiki-export/conf/GMOxSAMPLES.cfg Modified: geronimo/site/trunk/wiki-export/conf/GMOxDOC10.cfg geronimo/site/trunk/wiki-export/conf/GMOxDOC11.cfg geronimo/site/trunk/wiki-export/conf/GMOxDOC22.cfg geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/Page.java geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/SiteExporter.java Modified: geronimo/site/trunk/wiki-export/conf/GMOxDOC10.cfg URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/conf/GMOxDOC10.cfg?rev=1424104&r1=1424103&r2=1424104&view=diff ============================================================================== --- geronimo/site/trunk/wiki-export/conf/GMOxDOC10.cfg (original) +++ geronimo/site/trunk/wiki-export/conf/GMOxDOC10.cfg Wed Dec 19 20:59:43 2012 @@ -1,6 +1,6 @@ spaceKey:GMOxDOC10 pageCacheFile:cache/GMOxDOC10.pageCache templateName:../template/GMOxDOC10_autoexport_template.xml -outputDir:/ +outputDir:/GMOxDOC10 globalPages:Navigation,Banner,QuickLinks mainDivClass:wiki-content maincontent Modified: geronimo/site/trunk/wiki-export/conf/GMOxDOC11.cfg URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/conf/GMOxDOC11.cfg?rev=1424104&r1=1424103&r2=1424104&view=diff ============================================================================== --- geronimo/site/trunk/wiki-export/conf/GMOxDOC11.cfg (original) +++ geronimo/site/trunk/wiki-export/conf/GMOxDOC11.cfg Wed Dec 19 20:59:43 2012 @@ -1,6 +1,6 @@ spaceKey:GMOxDOC11 pageCacheFile:cache/GMOxDOC11.pageCache -templateName:../templates/GMOxDOC11_autoexport_template.xml +templateName:../template/GMOxDOC11_autoexport_template.xml outputDir:/GMOxDOC11 globalPages:Navigation,Banner,QuickLinks mainDivClass:wiki-content maincontent Added: geronimo/site/trunk/wiki-export/conf/GMOxDOC12.cfg URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/conf/GMOxDOC12.cfg?rev=1424104&view=auto ============================================================================== --- geronimo/site/trunk/wiki-export/conf/GMOxDOC12.cfg (added) +++ geronimo/site/trunk/wiki-export/conf/GMOxDOC12.cfg Wed Dec 19 20:59:43 2012 @@ -0,0 +1,6 @@ +spaceKey:GMOxDOC12 +pageCacheFile:cache/GMOxDOC12.pageCache +templateName:../template/GMOxDOC12_autoexport_template.xml +outputDir:/GMOxDOC12 +globalPages:Navigation,Banner,QuickLinks +mainDivClass:wiki-content maincontent Added: geronimo/site/trunk/wiki-export/conf/GMOxDOC20.cfg URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/conf/GMOxDOC20.cfg?rev=1424104&view=auto ============================================================================== --- geronimo/site/trunk/wiki-export/conf/GMOxDOC20.cfg (added) +++ geronimo/site/trunk/wiki-export/conf/GMOxDOC20.cfg Wed Dec 19 20:59:43 2012 @@ -0,0 +1,6 @@ +spaceKey:GMOxDOC20 +pageCacheFile:cache/GMOxDOC20.pageCache +templateName:../template/GMOxDOC20_autoexport_template.xml +outputDir:/GMOxDOC20 +globalPages:Navigation,Banner,QuickLinks +mainDivClass:wiki-content maincontent Added: geronimo/site/trunk/wiki-export/conf/GMOxDOC21.cfg URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/conf/GMOxDOC21.cfg?rev=1424104&view=auto ============================================================================== --- geronimo/site/trunk/wiki-export/conf/GMOxDOC21.cfg (added) +++ geronimo/site/trunk/wiki-export/conf/GMOxDOC21.cfg Wed Dec 19 20:59:43 2012 @@ -0,0 +1,6 @@ +spaceKey:GMOxDOC21 +pageCacheFile:cache/GMOxDOC21.pageCache +templateName:../template/GMOxDOC21_autoexport_template.xml +outputDir:/GMOxDOC21 +globalPages:Navigation,Banner,QuickLinks +mainDivClass:wiki-content maincontent Modified: geronimo/site/trunk/wiki-export/conf/GMOxDOC22.cfg URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/conf/GMOxDOC22.cfg?rev=1424104&r1=1424103&r2=1424104&view=diff ============================================================================== --- geronimo/site/trunk/wiki-export/conf/GMOxDOC22.cfg (original) +++ geronimo/site/trunk/wiki-export/conf/GMOxDOC22.cfg Wed Dec 19 20:59:43 2012 @@ -1,6 +1,6 @@ spaceKey:GMOxDOC22 pageCacheFile:cache/GMOxDOC22.pageCache templateName:../template/GMOxDOC22_autoexport_template.xml -outputDir:/ +outputDir:/GMOxDOC22 globalPages:Navigation,Banner,QuickLinks mainDivClass:wiki-content maincontent Added: geronimo/site/trunk/wiki-export/conf/GMOxPMGT.cfg URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/conf/GMOxPMGT.cfg?rev=1424104&view=auto ============================================================================== --- geronimo/site/trunk/wiki-export/conf/GMOxPMGT.cfg (added) +++ geronimo/site/trunk/wiki-export/conf/GMOxPMGT.cfg Wed Dec 19 20:59:43 2012 @@ -0,0 +1,6 @@ +spaceKey:GMOxPMGT +pageCacheFile:cache/GMOxPMGT.pageCache +templateName:../template/GMOxPMGT_autoexport_template.xml +outputDir:/GMOxPMGT +globalPages:Navigation,Banner,QuickLinks +mainDivClass:wiki-content maincontent Added: geronimo/site/trunk/wiki-export/conf/GMOxSAMPLES.cfg URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/conf/GMOxSAMPLES.cfg?rev=1424104&view=auto ============================================================================== --- geronimo/site/trunk/wiki-export/conf/GMOxSAMPLES.cfg (added) +++ geronimo/site/trunk/wiki-export/conf/GMOxSAMPLES.cfg Wed Dec 19 20:59:43 2012 @@ -0,0 +1,6 @@ +spaceKey:GMOxSAMPLES +pageCacheFile:cache/GMOxSAMPLES.pageCache +templateName:../template/GMOxSAMPLES_autoexport_template.xml +outputDir:/GMOxSAMPLES +globalPages:Navigation,Banner,QuickLinks +mainDivClass:wiki-content maincontent Modified: geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java?rev=1424104&r1=1424103&r2=1424104&view=diff ============================================================================== --- geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java (original) +++ geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java Wed Dec 19 20:59:43 2012 @@ -19,6 +19,7 @@ package org.apache.cxf.cwiki; +import java.io.File; import java.io.Writer; import java.net.MalformedURLException; import java.net.URL; @@ -76,9 +77,13 @@ public class ConfluenceCleanupWriter ext href = href.substring(0, href.indexOf('?')); } try { - final Page p = exporter.findPageByURL(href); + final Page p = SiteExporter.findPageWithURL(href); if (p != null) { - newAtts.addMapping("href", p.createFileName() + params); + String prefix = getRelativePath(SiteExporter.rootOutputDir, page.getExporter().outputDir, p.getExporter().outputDir); + if (prefix.length() != 0) { + System.out.println(prefix); + } + newAtts.addMapping("href", prefix + p.createFileName() + params); } else { if (href.indexOf('~') == -1) { //link to a user page is OK, don't warn about it @@ -310,4 +315,29 @@ public class ConfluenceCleanupWriter ext } } + private static String getRelativePath(File root, File current, File other) throws Exception { + if (current.equals(other)) { + return ""; + } + StringBuilder builder = new StringBuilder(); + while (!root.equals(current)) { + current = current.getParentFile(); + builder.append("../"); + } + + String rootPath = root.getCanonicalPath(); + String otherPath = other.getCanonicalPath(); + + if (rootPath.equals(otherPath)) { + // nothing to do + } else if (otherPath.startsWith(rootPath)) { + String name = otherPath.substring(rootPath.length() + 1); + builder.append(name); + builder.append("/"); + } else { + throw new RuntimeException("Non-relative locations: " + rootPath + " " + otherPath); + } + + return builder.toString(); + } } Modified: geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/Page.java URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/Page.java?rev=1424104&r1=1424103&r2=1424104&view=diff ============================================================================== --- geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/Page.java (original) +++ geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/Page.java Wed Dec 19 20:59:43 2012 @@ -231,7 +231,11 @@ public class Page implements Serializabl return exporter.getChildren(this); } - void setExporter(SiteExporter exporter) { + protected void setExporter(SiteExporter exporter) { this.exporter = exporter; } + + protected SiteExporter getExporter() { + return exporter; + } } Modified: geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/SiteExporter.java URL: http://svn.apache.org/viewvc/geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/SiteExporter.java?rev=1424104&r1=1424103&r2=1424104&view=diff ============================================================================== --- geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/SiteExporter.java (original) +++ geronimo/site/trunk/wiki-export/src/main/java/org/apache/cxf/cwiki/SiteExporter.java Wed Dec 19 20:59:43 2012 @@ -126,6 +126,8 @@ public class SiteExporter implements Run File outputDir = rootOutputDir; Template template; + + static List siteExporters; public SiteExporter(String fileName, boolean force) throws Exception { forceAll = force; @@ -222,7 +224,11 @@ public class SiteExporter implements Run } } - public void doExport() throws Exception { + /** + * @return true if some pages have changed - rendering is needed + * @throws Exception + */ + public boolean initialize() throws Exception { if (!forceAll) { loadPagesCache(); } @@ -235,7 +241,7 @@ public class SiteExporter implements Run if (modifiedPages.isEmpty() && checkRSS()) { System.out.println("(" + spaceKey + ") No changes detected from RSS"); - return; + return false; } doLogin(); @@ -245,6 +251,15 @@ public class SiteExporter implements Run loadPages(); + return true; + } + + public void doExport() throws Exception { + initialize(); + render(); + } + + protected void render() throws Exception { for (Page p : modifiedPages) { if (globalPages.contains(p.getTitle())) { modifiedPages.clear(); @@ -262,8 +277,6 @@ public class SiteExporter implements Run renderPages(); savePages(); } - - } @@ -347,6 +360,8 @@ public class SiteExporter implements Run } else { svnCommitMessage.append("Modified: " + file.getName() + "\n"); } + + p.setContent(null); } } void callSvn(String ... commands) throws Exception { @@ -641,8 +656,13 @@ public class SiteExporter implements Run ObjectInputStream oin = new ObjectInputStream(fin); pages = CastUtils.cast((Map)oin.readObject()); oin.close(); + + for (Page p : pages.values()) { + p.setExporter(this); + } } } + public void loadPages() throws Exception { Document doc = XMLUtils.newDocument(); Element el = doc.createElementNS(SOAPNS, "ns1:getPages"); @@ -860,6 +880,28 @@ public class SiteExporter implements Run } } + + List exporters = new ArrayList(); + for (String file : files) { + exporters.add(new SiteExporter(file, forceAll)); + } + + List modified = new ArrayList(); + for (SiteExporter exporter : exporters) { + if (exporter.initialize()) { + modified.add(exporter); + } + } + + // render stuff only if needed + if (!modified.isEmpty()) { + setSiteExporters(exporters); + for (SiteExporter exporter : modified) { + exporter.render(); + } + } + + /* List threads = new ArrayList(files.size()); for (String file : files) { Thread t = new Thread(new SiteExporter(file, forceAll)); @@ -869,6 +911,7 @@ public class SiteExporter implements Run for (Thread t : threads) { t.join(); } + */ if (commit) { File file = FileUtils.createTempFile("svncommit", "txt"); @@ -909,4 +952,17 @@ public class SiteExporter implements Run return page.getLink(); } + private static void setSiteExporters(List exporters) { + siteExporters = exporters; + } + + public static Page findPageWithURL(String url) throws Exception { + for (SiteExporter exporter : siteExporters) { + Page p = exporter.findPageByURL(url); + if (p != null) { + return p; + } + } + return null; + } }