You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by ul...@apache.org on 2013/02/04 11:40:39 UTC
svn commit: r1442072 - in /tapestry/tapestry-site/trunk:
src/main/java/org/apache/cxf/cwiki/SiteExporter.java template/main.cfg
Author: uli
Date: Mon Feb 4 10:40:39 2013
New Revision: 1442072
URL: http://svn.apache.org/viewvc?rev=1442072&view=rev
Log:
make sure index re-renders when adding or modifying a blog post
Modified:
tapestry/tapestry-site/trunk/src/main/java/org/apache/cxf/cwiki/SiteExporter.java
tapestry/tapestry-site/trunk/template/main.cfg
Modified: tapestry/tapestry-site/trunk/src/main/java/org/apache/cxf/cwiki/SiteExporter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry-site/trunk/src/main/java/org/apache/cxf/cwiki/SiteExporter.java?rev=1442072&r1=1442071&r2=1442072&view=diff
==============================================================================
--- tapestry/tapestry-site/trunk/src/main/java/org/apache/cxf/cwiki/SiteExporter.java (original)
+++ tapestry/tapestry-site/trunk/src/main/java/org/apache/cxf/cwiki/SiteExporter.java Mon Feb 4 10:40:39 2013
@@ -114,6 +114,7 @@ public class SiteExporter implements Run
Map<String, Page> pages = new ConcurrentHashMap<String, Page>();
Collection<Page> modifiedPages = new ConcurrentLinkedQueue<Page>();
Set<String> globalPages = new CopyOnWriteArraySet<String>();
+ Set<String> blogPages = new CopyOnWriteArraySet<String>();
String spaceKey = "CXF";
String pageCacheFile = "pagesConfig.obj";
@@ -155,6 +156,11 @@ public class SiteExporter implements Run
String[] pgs = globals.split(",");
globalPages.addAll(Arrays.asList(pgs));
}
+ if (props.containsKey("blogPages")) {
+ String blogpages = props.getProperty("blogPages");
+ String[] pgs = blogpages.split(",");
+ blogPages.addAll(Arrays.asList(pgs));
+ }
props = new Properties();
String clzName = URLResourceLoader.class.getName();
@@ -225,7 +231,7 @@ public class SiteExporter implements Run
if (!forceAll) {
loadPagesCache();
}
-
+
// debug stuff, force regen of a page
//forcePage("Navigation");
//forcePage("Index");
@@ -779,7 +785,7 @@ public class SiteExporter implements Run
el2.setTextContent(DOMUtils.getChildContent(pageSumEl, "id"));
doc.appendChild(el);
- return getResponseHandler(doc, allPages, newPages);
+ return getResponseHandler(doc, allPages, newPages, false);
}
public Future<?> loadBlogEntry(Element pageSumEl, final Set<String> allPages,
@@ -795,10 +801,10 @@ public class SiteExporter implements Run
el2.setTextContent(DOMUtils.getChildContent(pageSumEl, "id"));
doc.appendChild(el);
- return getResponseHandler(doc, allPages, newPages);
+ return getResponseHandler(doc, allPages, newPages, true);
}
- private Future<?> getResponseHandler(Document doc, final Set<String> allPages, final Set<Page> newPages) throws Exception
+ private Future<?> getResponseHandler(Document doc, final Set<String> allPages, final Set<Page> newPages, final boolean blogPost) throws Exception
{
// make sure we only fire off about 15-20 or confluence may get a bit overloaded
while (asyncCount.get() > 15)
@@ -813,6 +819,12 @@ public class SiteExporter implements Run
Page oldPage = pages.put(page.getId(), page);
if (oldPage == null || page.getModifiedTime().compare(oldPage.getModifiedTime()) > 0) {
modifiedPages.add(page);
+ if(blogPost) {
+ // if we are adding or modifying a blog post, make sure the pages containing them get re-rendered
+ for (String title : blogPages) {
+ modifiedPages.add(findPage(title));
+ }
+ }
if (oldPage == null) {
//need to check parents to see if it has a {children} tag so we can re-render
newPages.add(page);
Modified: tapestry/tapestry-site/trunk/template/main.cfg
URL: http://svn.apache.org/viewvc/tapestry/tapestry-site/trunk/template/main.cfg?rev=1442072&r1=1442071&r2=1442072&view=diff
==============================================================================
--- tapestry/tapestry-site/trunk/template/main.cfg (original)
+++ tapestry/tapestry-site/trunk/template/main.cfg Mon Feb 4 10:40:39 2013
@@ -4,4 +4,5 @@ templateName:template/template.vm
outputDir:/
globalPages:Navigation,Banner,QuickLinks
breadCrumbRoot:Apache Tapestry
+blogPages:Index