dev@javaserverfaces.java.net

[REVIEW] Minor HtmlResponseWriter tweaks

From: Ryan Lubke <Ryan.Lubke_at_Sun.COM>
Date: Mon, 23 Oct 2006 14:45:08 -0700

<cid:part1.01080102.01030608_at_Sun.COM>





SECTION: Modified Files
----------------------------
M src/com/sun/faces/renderkit/RenderKitUtils.java
  - remove unecessary whitespace
M src/com/sun/faces/renderkit/html_basic/HtmlResponseWriter.java
  - ensure writeURIAttribute takes the src attribute into account

M test/com/sun/faces/renderkit/html_basic/TestHtmlResponseWriter.java
  - updated the test to include writeURIAttribute


SECTION: Diffs
----------------------------
Index: src/com/sun/faces/renderkit/RenderKitUtils.java
===================================================================
RCS file: /cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/RenderKitUtils.java,v
retrieving revision 1.31
diff -u -r1.31 RenderKitUtils.java
--- src/com/sun/faces/renderkit/RenderKitUtils.java 12 Oct 2006 20:19:08 -0000 1.31
+++ src/com/sun/faces/renderkit/RenderKitUtils.java 23 Oct 2006 21:42:57 -0000
@@ -971,8 +971,7 @@
     public static char[] compressJS(String JSString) {
 
         BufferedReader reader = new BufferedReader(new StringReader(JSString));
- StringWriter writer = new StringWriter(1024);
- writer.write('\n');
+ StringWriter writer = new StringWriter(1024);
         try {
             for (String line = reader.readLine();
                  line != null;
@@ -1037,8 +1036,7 @@
                         InputStream input = conn.getInputStream();
                         reader = new BufferedReader(
                                     new InputStreamReader(input));
- StringBuilder builder = new StringBuilder(128);
- builder.append('\n');
+ StringBuilder builder = new StringBuilder(128);
                         for (String line = reader.readLine();
                              line != null;
                              line = reader.readLine()) {
Index: src/com/sun/faces/renderkit/html_basic/HtmlResponseWriter.java
===================================================================
RCS file: /cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/HtmlResponseWriter.java,v
retrieving revision 1.36
diff -u -r1.36 HtmlResponseWriter.java
--- src/com/sun/faces/renderkit/html_basic/HtmlResponseWriter.java 13 Oct 2006 19:01:00 -0000 1.36
+++ src/com/sun/faces/renderkit/html_basic/HtmlResponseWriter.java 23 Oct 2006 21:42:57 -0000
@@ -630,6 +630,10 @@
             return;
         }
 
+ if (name.equalsIgnoreCase("src") && isScriptOrStyle()) {
+ scriptOrStyleSrc = true;
+ }
+
         writer.write(' ');
         writer.write(name);
         writer.write("=\"");
@@ -659,22 +663,23 @@
         if (closeStart) {
             writer.write('>');
             closeStart = false;
- }
- if (isScriptOrStyle() && !scriptOrStyleSrc) {
- isScript = false;
- isStyle = false;
- isXhtml = getContentType().equals(
- RIConstants.XHTML_CONTENT_TYPE);
- if (isXhtml) {
- if (isScript) {
- writer.write("\n//<![CDATA[");
+ if (isScriptOrStyle() && !scriptOrStyleSrc) {
+ isScript = false;
+ isStyle = false;
+ isXhtml = getContentType().equals(
+ RIConstants.XHTML_CONTENT_TYPE);
+ if (isXhtml) {
+ if (isScript) {
+ writer.write("\n//<![CDATA[\n");
+ } else {
+ writer.write("\n<![CDATA[\n");
+ }
                 } else {
- writer.write("\n<![CDATA[");
+ writer.write("\n<!--\n");
                 }
- } else {
- writer.write("\n<!--");
             }
         }
+
     }
 
 
Index: test/com/sun/faces/renderkit/html_basic/TestHtmlResponseWriter.java
===================================================================
RCS file: /cvs/javaserverfaces-sources/jsf-ri/test/com/sun/faces/renderkit/html_basic/TestHtmlResponseWriter.java,v
retrieving revision 1.23
diff -u -r1.23 TestHtmlResponseWriter.java
--- test/com/sun/faces/renderkit/html_basic/TestHtmlResponseWriter.java 13 Oct 2006 19:01:00 -0000 1.23
+++ test/com/sun/faces/renderkit/html_basic/TestHtmlResponseWriter.java 23 Oct 2006 21:42:59 -0000
@@ -273,7 +273,7 @@
         ResponseWriter xmlWriter = renderKit.createResponseWriter(swx, "application/xhtml+xml", "UTF-8");
         UIOutput output = new UIOutput();
         writer.startElement("script", output);
- writer.writeAttribute("src", "http://foo.net/some.js", "src");
+ writer.writeURIAttribute("src", "http://foo.net/some.js", "src");
         writer.writeAttribute("type", "text/javascript", "type");
         writer.writeAttribute("language", "Javascript", "language");
         writer.endElement("script");