commit 664a6c7436784ec67bf18fabefd953ba2d8d104a
Author:     joehni <[email protected]>
AuthorDate: Thu, 2 May 2013 22:18:12 +0200
Commit:     joehni <[email protected]>
CommitDate: Thu, 2 May 2013 22:18:12 +0200

    Avoid creation of new empty paragraphs.

diff --git 
a/xsite-core/src/main/java/org/codehaus/xsite/extractors/sitemesh/rules/TopLevelBlockExtractingRule.java
 
b/xsite-core/src/main/java/org/codehaus/xsite/extractors/sitemesh/rules/TopLevelBlockExtractingRule.java
index 021e09e..6302e2b 100644
--- 
a/xsite-core/src/main/java/org/codehaus/xsite/extractors/sitemesh/rules/TopLevelBlockExtractingRule.java
+++ 
b/xsite-core/src/main/java/org/codehaus/xsite/extractors/sitemesh/rules/TopLevelBlockExtractingRule.java
@@ -19,6 +19,8 @@ import com.opensymphony.module.sitemesh.html.util.CharArray;
 
 import 
org.codehaus.xsite.extractors.SiteMeshPageExtractor.CannotParsePageException;
 
+import org.apache.commons.lang.StringUtils;
+
 
 /**
  * Rule to extract all top level block elements as separate paragraphs. 
Normally a body
@@ -100,11 +102,14 @@ public class TopLevelBlockExtractingRule extends 
BasicRule {
                        if (depth == 0 && type == Tag.OPEN) {
                                CharArray currentBuffer = currentBuffer();
                                if (currentBuffer.length() > 0) {
-                                       CharArray ca = new 
CharArray(currentBuffer.length() + 16);
+                                       String text = 
StringUtils.stripToNull(currentBuffer.toString());
+                                       if (text != null) {
+                                               CharArray ca = new 
CharArray(text.length() + 16);
                                                DIV_OPEN.writeTo(ca);
-                                       ca.append(currentBuffer);
+                                               ca.append(text);
                                                DIV_CLOSE.writeTo(ca);
                                                paragraphs.add(ca);
+                                       }
                                        currentBuffer.clear();
                                }
                                tag.writeTo(currentBuffer);



Reply via email to