You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2016/04/20 13:51:07 UTC

svn commit: r1740123 - in /myfaces/tobago/branches/tobago-3.0.x/tobago-core/src: main/java/org/apache/myfaces/tobago/internal/webapp/ main/java/org/apache/myfaces/tobago/webapp/ test/java/org/apache/myfaces/tobago/webapp/

Author: lofwyr
Date: Wed Apr 20 11:51:07 2016
New Revision: 1740123

URL: http://svn.apache.org/viewvc?rev=1740123&view=rev
Log:
TOBAGO-1556: Better readable HTML source code, whitespaces from TobagoResponseWriter

Modified:
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/HtmlResponseWriter.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/TobagoResponseWriterBase.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/XmlResponseWriter.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterUnitTest.java

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/HtmlResponseWriter.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/HtmlResponseWriter.java?rev=1740123&r1=1740122&r2=1740123&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/HtmlResponseWriter.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/HtmlResponseWriter.java Wed Apr 20 11:51:07 2016
@@ -34,8 +34,7 @@ import java.util.Arrays;
 
 public class HtmlResponseWriter extends TobagoResponseWriterBase {
 
-  private static final String HTML_DOCTYPE =
-      "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">";
+  private static final String HTML_DOCTYPE = "<!DOCTYPE html>";
 
   private final WriterUtils helper;
   private FastStringWriter javascriptWriter;
@@ -123,7 +122,7 @@ public class HtmlResponseWriter extends
 
   @Override
   protected void closeEmptyTag() throws IOException {
-    getWriter().write("\n>");
+    getWriter().write(">");
   }
 
   @Override

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java?rev=1740123&r1=1740122&r2=1740123&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java Wed Apr 20 11:51:07 2016
@@ -112,7 +112,7 @@ public class JsonResponseWriter extends
   }
 
   @Override
-  protected void endElementInternal(final Writer writer, final String name) throws IOException {
+  protected void endElementInternal(final Writer writer, final String name, final boolean inline) throws IOException {
     if (isStartStillOpen()) {
       writer.write(">");
     }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/TobagoResponseWriterBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/TobagoResponseWriterBase.java?rev=1740123&r1=1740122&r2=1740123&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/TobagoResponseWriterBase.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/TobagoResponseWriterBase.java Wed Apr 20 11:51:07 2016
@@ -19,6 +19,7 @@
 
 package org.apache.myfaces.tobago.internal.webapp;
 
+import org.apache.myfaces.tobago.internal.util.StringUtils;
 import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
 import org.apache.myfaces.tobago.renderkit.html.HtmlTypes;
 import org.apache.myfaces.tobago.renderkit.html.MarkupLanguageAttributes;
@@ -39,6 +40,8 @@ public abstract class TobagoResponseWrit
 
   protected static final char[] XML_VERSION_1_0_ENCODING_UTF_8_CHARS = XML_VERSION_1_0_ENCODING_UTF_8.toCharArray();
 
+  private int i = 0;
+
   private UIComponent component;
 
   private boolean startStillOpen;
@@ -159,7 +162,7 @@ public abstract class TobagoResponseWrit
 
   protected void closeOpenTag() throws IOException {
     if (startStillOpen) {
-      writer.write("\n>");
+      writer.write(">");
       startStillOpen = false;
     }
   }
@@ -192,6 +195,9 @@ public abstract class TobagoResponseWrit
   @Override
   public void startElement(final HtmlElements name) throws IOException {
     startElementInternal(writer, name.getValue(), null);
+    if (!name.isVoid()) {
+      i++;
+    }
   }
 
   protected void startElementInternal(final Writer writer, final String name, final UIComponent currentComponent)
@@ -199,9 +205,9 @@ public abstract class TobagoResponseWrit
     this.component = currentComponent;
 //    closeOpenTag();
     if (startStillOpen) {
-      writer.write("\n>");
+      writer.write(">");
     }
-    writer.write("<");
+    writer.write("\n" + StringUtils.repeat("  ", i) + "<");
     writer.write(name);
     startStillOpen = true;
   }
@@ -211,7 +217,7 @@ public abstract class TobagoResponseWrit
     if (HtmlElements.isVoid(name)) {
       closeEmptyTag();
     } else {
-      endElementInternal(writer, name);
+      endElementInternal(writer, name, false);
     }
     startStillOpen = false;
   }
@@ -221,7 +227,10 @@ public abstract class TobagoResponseWrit
     if (name.isVoid()) {
       closeEmptyTag();
     } else {
-      endElementInternal(writer, name.getValue());
+      if (!name.isVoid()) {
+        i--;
+      }
+      endElementInternal(writer, name.getValue(), name.isInline());
     }
     startStillOpen = false;
   }
@@ -230,7 +239,7 @@ public abstract class TobagoResponseWrit
   public void writeComment(final Object obj) throws IOException {
     closeOpenTag();
     final String comment = obj.toString();
-    write("<!--");
+    write("\n" + StringUtils.repeat("  ", i) + "<!--");
     write(comment);
     write("-->");
   }
@@ -289,14 +298,17 @@ public abstract class TobagoResponseWrit
     }
   }
 
-  protected void endElementInternal(final Writer writer, final String name) throws IOException {
-      if (startStillOpen) {
-        writer.write("\n>");
-      }
-      writer.write("</");
-      writer.write(name);
-//      writer.write("\n>"); // FIXME: this makes problems with Tidy
+  protected void endElementInternal(final Writer writer, final String name, final boolean inline) throws IOException {
+    if (startStillOpen) {
       writer.write(">");
+    }
+    if (inline) {
+      writer.write("</");
+    } else {
+      writer.write("\n" + StringUtils.repeat("  ", i) + "</");
+    }
+    writer.write(name);
+    writer.write(">");
   }
 
   protected abstract void closeEmptyTag() throws IOException;

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/XmlResponseWriter.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/XmlResponseWriter.java?rev=1740123&r1=1740122&r2=1740123&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/XmlResponseWriter.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/XmlResponseWriter.java Wed Apr 20 11:51:07 2016
@@ -70,7 +70,7 @@ public final class XmlResponseWriter ext
 
   @Override
   public void closeEmptyTag() throws IOException {
-    getWriter().write("\n/>");
+    getWriter().write("/>");
   }
 
   @Override

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java?rev=1740123&r1=1740122&r2=1740123&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriter.java Wed Apr 20 11:51:07 2016
@@ -299,4 +299,6 @@ public abstract class TobagoResponseWrit
   public void endCDATA() throws IOException {
     write("]]>");
   }
+
+//  protected abstract void writeNewline() throws IOException;
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterUnitTest.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterUnitTest.java?rev=1740123&r1=1740122&r2=1740123&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterUnitTest.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/test/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterUnitTest.java Wed Apr 20 11:51:07 2016
@@ -46,23 +46,21 @@ public class TobagoResponseWriterUnitTes
     writer.startDocument();
     writer.endDocument();
     Assert.assertEquals("content expected",
-        "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n" 
-        + "<html\n"
-        + "></html>", stringWriter.toString());
+        "<!DOCTYPE html>\n\n<html>\n</html>", stringWriter.toString());
   }
 
   @Test
   public void testEmptyTag() throws IOException {
     writer.startElement(HtmlElements.INPUT);
     writer.endElement(HtmlElements.INPUT);
-    Assert.assertEquals("empty tag", "<input\n>", stringWriter.toString());
+    Assert.assertEquals("empty tag", "\n<input>", stringWriter.toString());
   }
 
   @Test
   public void testNormalTag() throws IOException {
     writer.startElement(HtmlElements.SELECT);
     writer.endElement(HtmlElements.SELECT);
-    Assert.assertEquals("normal tag", "<select\n></select>", stringWriter.toString());
+    Assert.assertEquals("normal tag", "\n<select></select>", stringWriter.toString());
   }
 
   @Test
@@ -70,7 +68,7 @@ public class TobagoResponseWriterUnitTes
     writer.startElement(HtmlElements.SELECT);
     writer.writeAttribute(HtmlAttributes.VALUE, 0);
     writer.endElement(HtmlElements.SELECT);
-    Assert.assertEquals("attr tag", "<select value='0'\n></select>", stringWriter.toString());
+    Assert.assertEquals("attr tag", "\n<select value='0'></select>", stringWriter.toString());
   }
   
   @Test
@@ -80,7 +78,7 @@ public class TobagoResponseWriterUnitTes
     writer.endElement(HtmlElements.A);
     Assert.assertEquals(
         "uri attr tag",
-        "<a href='http:&#x2F;&#x2F;example.org&#x2F;web?text=%C3%A4%C3%B6%C3%BC%C3%9F'\n></a>",
+        "\n<a href='http:&#x2F;&#x2F;example.org&#x2F;web?text=%C3%A4%C3%B6%C3%BC%C3%9F'></a>",
         stringWriter.toString());
   }
 
@@ -89,7 +87,7 @@ public class TobagoResponseWriterUnitTes
     writer.startElement(HtmlElements.SELECT);
     writer.writeAttribute(HtmlAttributes.VALUE, "-<->-ü-€-", true);
     writer.endElement(HtmlElements.SELECT);
-    Assert.assertEquals("attr tag", "<select value='-&lt;-&gt;-ü-€-'\n></select>", stringWriter.toString());
+    Assert.assertEquals("attr tag", "\n<select value='-&lt;-&gt;-ü-€-'></select>", stringWriter.toString());
   }
 
   @Test
@@ -97,7 +95,7 @@ public class TobagoResponseWriterUnitTes
     writer.startElement(HtmlElements.TEXTAREA);
     writer.writeText("-<->-ü-€-");
     writer.endElement(HtmlElements.TEXTAREA);
-    Assert.assertEquals("attr tag", "<textarea\n>-&lt;-&gt;-ü-€-</textarea>", stringWriter.toString());
+    Assert.assertEquals("attr tag", "\n<textarea>-&lt;-&gt;-ü-€-</textarea>", stringWriter.toString());
   }
 
   @Test
@@ -127,7 +125,7 @@ public class TobagoResponseWriterUnitTes
     result = result.replace("/", "&#x2F;");
     result = result.replace("<", "&lt;");
     result = result.replace(">", "&gt;");
-    Assert.assertEquals("all chars", "<select value='" + result + "'\n>" + result + "</select>",
+    Assert.assertEquals("all chars", "\n<select value='" + result + "'>" + result + "</select>",
         stringWriter.toString());
   }
 
@@ -139,7 +137,7 @@ public class TobagoResponseWriterUnitTes
     writer1.writeAttribute(HtmlAttributes.READONLY, true);
     writer1.endElement(HtmlElements.INPUT);
     writer1.close();
-    Assert.assertEquals("<input value='Gutschein &uuml;ber 100 &euro;.' readonly='readonly'\n>",
+    Assert.assertEquals("\n<input value='Gutschein &uuml;ber 100 &euro;.' readonly='readonly'>",
         stringWriter.toString());
   }