Author: markt
Date: Wed Aug 8 21:02:58 2012
New Revision: 1370968
URL: http://svn.apache.org/viewvc?rev=1370968&view=rev
Log:
Fix layout - no functional change
Modified:
tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java
Modified: tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java?rev=1370968&r1=1370967&r2=1370968&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java Wed Aug 8
21:02:58 2012
@@ -14,7 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.catalina.util;
import java.io.PrintWriter;
@@ -27,234 +26,226 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/**
- * A sample DOM writer. This sample program illustrates how to
- * traverse a DOM tree in order to print a document that is parsed.
+ * A sample DOM writer. This sample program illustrates how to traverse a DOM
+ * tree in order to print a document that is parsed.
*/
public class DOMWriter {
- //
- // Data
- //
-
- /** Default Encoding */
- private static final String PRINTWRITER_ENCODING = "UTF8";
-
- /** Print writer. */
- protected final PrintWriter out;
-
- /** Canonical output. */
- protected final boolean canonical;
-
- //
- // Constructors
- //
+ /** Default Encoding */
+ private static final String PRINTWRITER_ENCODING = "UTF8";
+
+ /** Print writer. */
+ protected final PrintWriter out;
+
+ /** Canonical output. */
+ protected final boolean canonical;
+
public DOMWriter(Writer writer, boolean canonical) {
out = new PrintWriter(writer);
this.canonical = canonical;
}
- public static String getWriterEncoding( ) {
- return (PRINTWRITER_ENCODING);
- }// getWriterEncoding
-
- /** Prints the specified node, recursively. */
- public void print(Node node) {
-
- // is there anything to do?
- if ( node == null ) {
- return;
- }
-
- int type = node.getNodeType();
- switch ( type ) {
- // print document
- case Node.DOCUMENT_NODE: {
- if ( !canonical ) {
- String Encoding = getWriterEncoding();
- if( Encoding.equalsIgnoreCase( "DEFAULT" ) )
- Encoding = "UTF-8";
- else if( Encoding.equalsIgnoreCase( "Unicode" ) )
- Encoding = "UTF-16";
- else
- Encoding = MIME2Java.reverse( Encoding );
-
- out.println("<?xml version=\"1.0\" encoding=\""+
- Encoding + "\"?>");
- }
- print(((Document)node).getDocumentElement());
- out.flush();
- break;
+
+ public static String getWriterEncoding() {
+ return (PRINTWRITER_ENCODING);
+ }
+
+
+ /** Prints the specified node, recursively. */
+ public void print(Node node) {
+
+ // is there anything to do?
+ if (node == null) {
+ return;
+ }
+
+ int type = node.getNodeType();
+ switch (type) {
+ // print document
+ case Node.DOCUMENT_NODE: {
+ if (!canonical) {
+ String Encoding = getWriterEncoding();
+ if (Encoding.equalsIgnoreCase("DEFAULT"))
+ Encoding = "UTF-8";
+ else if (Encoding.equalsIgnoreCase("Unicode"))
+ Encoding = "UTF-16";
+ else
+ Encoding = MIME2Java.reverse(Encoding);
+
+ out.println("<?xml version=\"1.0\" encoding=\"" + Encoding
+
+ "\"?>");
+ }
+ print(((Document) node).getDocumentElement());
+ out.flush();
+ break;
}
// print element with attributes
- case Node.ELEMENT_NODE: {
- out.print('<');
- out.print(node.getLocalName());
- Attr attrs[] = sortAttributes(node.getAttributes());
- for ( int i = 0; i < attrs.length; i++ ) {
- Attr attr = attrs[i];
- out.print(' ');
- out.print(attr.getLocalName());
-
- out.print("=\"");
- out.print(normalize(attr.getNodeValue()));
- out.print('"');
- }
- out.print('>');
- NodeList children = node.getChildNodes();
- if ( children != null ) {
- int len = children.getLength();
- for ( int i = 0; i < len; i++ ) {
- print(children.item(i));
- }
- }
- break;
+ case Node.ELEMENT_NODE: {
+ out.print('<');
+ out.print(node.getLocalName());
+ Attr attrs[] = sortAttributes(node.getAttributes());
+ for (int i = 0; i < attrs.length; i++) {
+ Attr attr = attrs[i];
+ out.print(' ');
+ out.print(attr.getLocalName());
+
+ out.print("=\"");
+ out.print(normalize(attr.getNodeValue()));
+ out.print('"');
+ }
+ out.print('>');
+ NodeList children = node.getChildNodes();
+ if (children != null) {
+ int len = children.getLength();
+ for (int i = 0; i < len; i++) {
+ print(children.item(i));
+ }
+ }
+ break;
}
// handle entity reference nodes
- case Node.ENTITY_REFERENCE_NODE: {
- if ( canonical ) {
- NodeList children = node.getChildNodes();
- if ( children != null ) {
- int len = children.getLength();
- for ( int i = 0; i < len; i++ ) {
- print(children.item(i));
- }
- }
- } else {
- out.print('&');
- out.print(node.getLocalName());
- out.print(';');
- }
- break;
+ case Node.ENTITY_REFERENCE_NODE: {
+ if (canonical) {
+ NodeList children = node.getChildNodes();
+ if (children != null) {
+ int len = children.getLength();
+ for (int i = 0; i < len; i++) {
+ print(children.item(i));
+ }
+ }
+ } else {
+ out.print('&');
+ out.print(node.getLocalName());
+ out.print(';');
+ }
+ break;
}
// print cdata sections
- case Node.CDATA_SECTION_NODE: {
- if ( canonical ) {
- out.print(normalize(node.getNodeValue()));
- } else {
- out.print("<![CDATA[");
- out.print(node.getNodeValue());
- out.print("]]>");
- }
- break;
+ case Node.CDATA_SECTION_NODE: {
+ if (canonical) {
+ out.print(normalize(node.getNodeValue()));
+ } else {
+ out.print("<![CDATA[");
+ out.print(node.getNodeValue());
+ out.print("]]>");
+ }
+ break;
}
// print text
- case Node.TEXT_NODE: {
- out.print(normalize(node.getNodeValue()));
- break;
+ case Node.TEXT_NODE: {
+ out.print(normalize(node.getNodeValue()));
+ break;
}
// print processing instruction
- case Node.PROCESSING_INSTRUCTION_NODE: {
- out.print("<?");
- out.print(node.getLocalName());
-
- String data = node.getNodeValue();
- if ( data != null && data.length() > 0 ) {
- out.print(' ');
- out.print(data);
- }
- out.print("?>");
- break;
- }
- }
-
- if ( type == Node.ELEMENT_NODE ) {
- out.print("</");
- out.print(node.getLocalName());
- out.print('>');
- }
-
- out.flush();
-
- } // print(Node)
-
- /** Returns a sorted list of attributes. */
- protected Attr[] sortAttributes(NamedNodeMap attrs) {
- if (attrs == null) {
- return new Attr[0];
- }
-
- int len = attrs.getLength();
- Attr array[] = new Attr[len];
- for ( int i = 0; i < len; i++ ) {
- array[i] = (Attr)attrs.item(i);
- }
- for ( int i = 0; i < len - 1; i++ ) {
- String name = null;
- name = array[i].getLocalName();
- int index = i;
- for ( int j = i + 1; j < len; j++ ) {
- String curName = null;
- curName = array[j].getLocalName();
- if ( curName.compareTo(name) < 0 ) {
- name = curName;
- index = j;
- }
- }
- if ( index != i ) {
- Attr temp = array[i];
- array[i] = array[index];
- array[index] = temp;
- }
- }
-
- return (array);
-
- } // sortAttributes(NamedNodeMap):Attr[]
-
-
- /** Normalizes the given string. */
- protected String normalize(String s) {
- if (s == null) {
- return "";
- }
-
- StringBuilder str = new StringBuilder();
-
- int len = s.length();
- for ( int i = 0; i < len; i++ ) {
- char ch = s.charAt(i);
- switch ( ch ) {
- case '<': {
- str.append("<");
- break;
- }
- case '>': {
- str.append(">");
- break;
- }
- case '&': {
- str.append("&");
- break;
- }
- case '"': {
- str.append(""");
- break;
- }
- case '\r':
- case '\n': {
- if ( canonical ) {
- str.append("&#");
- str.append(Integer.toString(ch));
- str.append(';');
- break;
- }
- // else, default append char
- }
- //$FALL-THROUGH$
- default: {
- str.append(ch);
- }
- }
- }
+ case Node.PROCESSING_INSTRUCTION_NODE: {
+ out.print("<?");
+ out.print(node.getLocalName());
+
+ String data = node.getNodeValue();
+ if (data != null && data.length() > 0) {
+ out.print(' ');
+ out.print(data);
+ }
+ out.print("?>");
+ break;
+ }
+ }
+
+ if (type == Node.ELEMENT_NODE) {
+ out.print("</");
+ out.print(node.getLocalName());
+ out.print('>');
+ }
+
+ out.flush();
+
+ } // print(Node)
+
+ /** Returns a sorted list of attributes. */
+ protected Attr[] sortAttributes(NamedNodeMap attrs) {
+ if (attrs == null) {
+ return new Attr[0];
+ }
+
+ int len = attrs.getLength();
+ Attr array[] = new Attr[len];
+ for (int i = 0; i < len; i++) {
+ array[i] = (Attr) attrs.item(i);
+ }
+ for (int i = 0; i < len - 1; i++) {
+ String name = null;
+ name = array[i].getLocalName();
+ int index = i;
+ for (int j = i + 1; j < len; j++) {
+ String curName = null;
+ curName = array[j].getLocalName();
+ if (curName.compareTo(name) < 0) {
+ name = curName;
+ index = j;
+ }
+ }
+ if (index != i) {
+ Attr temp = array[i];
+ array[i] = array[index];
+ array[index] = temp;
+ }
+ }
- return (str.toString());
+ return (array);
- } // normalize(String):String
+ }
+
+ /** Normalizes the given string. */
+ protected String normalize(String s) {
+ if (s == null) {
+ return "";
+ }
+
+ StringBuilder str = new StringBuilder();
+
+ int len = s.length();
+ for (int i = 0; i < len; i++) {
+ char ch = s.charAt(i);
+ switch (ch) {
+ case '<': {
+ str.append("<");
+ break;
+ }
+ case '>': {
+ str.append(">");
+ break;
+ }
+ case '&': {
+ str.append("&");
+ break;
+ }
+ case '"': {
+ str.append(""");
+ break;
+ }
+ case '\r':
+ case '\n': {
+ if (canonical) {
+ str.append("&#");
+ str.append(Integer.toString(ch));
+ str.append(';');
+ break;
+ }
+ // else, default append char
+ }
+ //$FALL-THROUGH$
+ default: {
+ str.append(ch);
+ }
+ }
+ }
+ return (str.toString());
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]