[richfaces-svn-commits] JBoss Rich Faces SVN: r13603 - in trunk/ui/editor/src: main/java/org/richfaces/convert/seamtext/tags and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Apr 16 07:16:25 EDT 2009


Author: Alex.Kolonitsky
Date: 2009-04-16 07:16:25 -0400 (Thu, 16 Apr 2009)
New Revision: 13603

Modified:
   trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/HtmlToSeamTransformer.java
   trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/HtmlTag.java
   trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/OrderedListTag.java
   trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/TagFactory.java
   trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/UnorderedListTag.java
   trunk/ui/editor/src/test/java/org/richfaces/seamparser/HtmlSeamParserTest.java
Log:
Editor: exception in seamText mode if empty element presents in ordered or unsorted list.
https://jira.jboss.org/jira/browse/RF-6770

Modified: trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/HtmlToSeamTransformer.java
===================================================================
--- trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/HtmlToSeamTransformer.java	2009-04-15 17:24:29 UTC (rev 13602)
+++ trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/HtmlToSeamTransformer.java	2009-04-16 11:16:25 UTC (rev 13603)
@@ -54,7 +54,9 @@
 
     private void appendBody(String ... strings) {
         for (String str : strings) {
-            currentTag.appendBody(str);
+            if (str != null && !"".equals(str)) {
+                currentTag.appendBody(str);
+            }
         }
     }
     

Modified: trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/HtmlTag.java
===================================================================
--- trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/HtmlTag.java	2009-04-15 17:24:29 UTC (rev 13602)
+++ trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/HtmlTag.java	2009-04-16 11:16:25 UTC (rev 13603)
@@ -122,6 +122,16 @@
         body = new ArrayList<Object>();
     } 
     
+    public boolean isBodyEmpty() {
+        for (Object child : body) {
+            if (child != null && !"".equals(child.toString())) {
+                return false;
+            }
+        }
+        
+        return true;
+    }
+    
     public String printPlainEnd(){
         if (isEmpty) {
 //            return "/>";

Modified: trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/OrderedListTag.java
===================================================================
--- trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/OrderedListTag.java	2009-04-15 17:24:29 UTC (rev 13602)
+++ trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/OrderedListTag.java	2009-04-16 11:16:25 UTC (rev 13603)
@@ -1,6 +1,6 @@
 package org.richfaces.convert.seamtext.tags;
 
-class OrderedListTag extends HtmlTag {
+class OrderedListTag extends UnorderedListTag {
     private static final long serialVersionUID = 1L;
 
     public OrderedListTag() {
@@ -8,16 +8,6 @@
     }
     
     @Override
-    public String printStart() {
-        return "";
-    }
-    
-    @Override
-    public String printEnd() {
-        return "\n";
-    }
-    
-    @Override
     protected void appendChildTag(StringBuilder res, HtmlTag child) {
         if (LI.equals(child.getName())) {
             res.append(TagFactory.SEAM_HASH).append(child.print());

Modified: trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/TagFactory.java
===================================================================
--- trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/TagFactory.java	2009-04-15 17:24:29 UTC (rev 13602)
+++ trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/TagFactory.java	2009-04-16 11:16:25 UTC (rev 13603)
@@ -33,7 +33,17 @@
             new LineTag(H2, "++ "),
             new LineTag(H3, "+++ "),
             new LineTag(H4, "++++ "),
-            new LineTag(LI, ""),
+            new LineTag(LI, "") {
+                
+                @Override
+                public String printBody() {
+                    if (isBodyEmpty()) {
+                        return " ";
+                    }
+                    
+                    return super.printBody();
+                }
+            },
             getNewTagDefinition(P,  "", "\n\n"),
             
             new FormattingTag(I,   SEAM_STAR),

Modified: trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/UnorderedListTag.java
===================================================================
--- trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/UnorderedListTag.java	2009-04-15 17:24:29 UTC (rev 13602)
+++ trunk/ui/editor/src/main/java/org/richfaces/convert/seamtext/tags/UnorderedListTag.java	2009-04-16 11:16:25 UTC (rev 13603)
@@ -1,12 +1,20 @@
 package org.richfaces.convert.seamtext.tags;
 
-class UnorderedListTag extends HtmlTag{
+import sun.security.action.GetBooleanAction;
+
+import com.sun.java_cup.internal.production;
+
+class UnorderedListTag extends HtmlTag {
     private static final long serialVersionUID = 1L;
 
     public UnorderedListTag() {
         super(UL);
     }
     
+    protected UnorderedListTag(String name) {
+        super(name);
+    }
+    
     @Override
     public String printStart() {
         return "";

Modified: trunk/ui/editor/src/test/java/org/richfaces/seamparser/HtmlSeamParserTest.java
===================================================================
--- trunk/ui/editor/src/test/java/org/richfaces/seamparser/HtmlSeamParserTest.java	2009-04-15 17:24:29 UTC (rev 13602)
+++ trunk/ui/editor/src/test/java/org/richfaces/seamparser/HtmlSeamParserTest.java	2009-04-16 11:16:25 UTC (rev 13603)
@@ -101,7 +101,7 @@
             + "~deleted text~, super^scripts^ or_underlines_";
 
     private final static String SEAM_TEXT_EXPRESSION_29 = "A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9";
-
+    
     public HtmlSeamParserTest(String name) {
         super(name);
     }
@@ -243,6 +243,10 @@
         assertHtml2SeamConverting("<!-- Hello Cfif -->");
     }
 
+    public void testSkipComment_() throws Exception {
+        assertHtml2SeamConverting("<ul><li/></ul><ol><li/></ol><ul />");
+    }
+    
     public void testUglyTextFromWord() throws Exception {
         final String str = "<p><meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\"/><meta content=\"Word.Document\" name=\"ProgId\"/><meta content=\"Microsoft Word 12\" name=\"Generator\"/><meta content=\"Microsoft Word 12\" name=\"Originator\"/><link href=\"file:///E:\\TEMP~1\\msohtmlclip1\\01\\clip_filelist.xml\" rel=\"File-List\"/><link href=\"file:///E:\\TEMP~1\\msohtmlclip1\\01\\clip_themedata.thmx\" rel=\"themeData\"/><link href=\"file:///E:\\TEMP~1\\msohtmlclip1\\01\\clip_colorschememapping.xml\" rel=\"colorSchemeMapping\"/>" +
                 "<!--[if gte mso 9]><xml>\n" +
@@ -729,7 +733,7 @@
             throws Exception {
 
         final String seamText = convertHtmlToSeamText(htmlText);
-        System.out.println("seamText = \n" + seamText);
+        System.out.println("seamText = \n'" + seamText + "'");
         
         final SeamTextParser seamParser = new SeamTextParser(
                 new SeamTextLexer(new StringReader(seamText)));




More information about the richfaces-svn-commits mailing list