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