Skip to content

Commit 6246fc3

Browse files
committed
try to add a bit more line breaks at places where it is save
1 parent 05ab2b1 commit 6246fc3

19 files changed

Lines changed: 115 additions & 37 deletions

src/main/java/org/htmlunit/html/DomCDataSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public String getNodeName() {
5858
* {@inheritDoc}
5959
*/
6060
@Override
61-
protected boolean printXml(final String indent, final boolean tagBefore, final PrintWriter printWriter) {
61+
protected boolean printXml(final String indent, final boolean indentBefore, final PrintWriter printWriter) {
6262
printWriter.print("<![CDATA[");
6363
printWriter.print(getData());
6464
printWriter.print("]]>");

src/main/java/org/htmlunit/html/DomComment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public String getNodeName() {
6262
* {@inheritDoc}
6363
*/
6464
@Override
65-
protected boolean printXml(final String indent, final boolean tagBefore, final PrintWriter printWriter) {
65+
protected boolean printXml(final String indent, final boolean indentBefore, final PrintWriter printWriter) {
6666
printWriter.print(indent);
6767
printWriter.print("<!--");
6868
printWriter.print(getData());

src/main/java/org/htmlunit/html/DomElement.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
* @author Ronald Brill
7676
* @author Frank Danek
7777
* @author Sven Strickroth
78+
* @author Ronny Shapiro
7879
*/
7980
public class DomElement extends DomNamespaceNode implements Element {
8081

@@ -349,10 +350,10 @@ protected void printOpeningTagContentAsXml(final PrintWriter printWriter) {
349350
* {@inheritDoc}
350351
*/
351352
@Override
352-
protected boolean printXml(final String indent, final boolean tagBefore, final PrintWriter printWriter) {
353+
protected boolean printXml(final String indent, final boolean indentBefore, final PrintWriter printWriter) {
353354
final boolean hasChildren = getFirstChild() != null;
354355

355-
if (tagBefore) {
356+
if (indentBefore) {
356357
printWriter.print("\r\n");
357358
printWriter.print(indent);
358359
}
@@ -362,8 +363,8 @@ protected boolean printXml(final String indent, final boolean tagBefore, final P
362363

363364
if (hasChildren) {
364365
printWriter.print(">");
365-
final boolean tag = printChildrenAsXml(indent, false, printWriter);
366-
if (tag) {
366+
final boolean indBefore = printChildrenAsXml(indent, false, printWriter);
367+
if (indBefore) {
367368
printWriter.print("\r\n");
368369
printWriter.print(indent);
369370
}

src/main/java/org/htmlunit/html/DomNode.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -801,20 +801,20 @@ public String asXml() {
801801
tag = true;
802802
}
803803
printXml("", tag, printWriter);
804-
return stringWriter.toString();
804+
return stringWriter.toString().trim();
805805
}
806806
}
807807

808808
/**
809809
* Recursively writes the XML data for the node tree starting at <code>node</code>.
810810
*
811811
* @param indent white space to indent child nodes
812-
* @param tagBefore true if the last thing printed was a tag
812+
* @param indentBefore if true start a new line before outputting
813813
* @param printWriter writer where child nodes are written
814814
* @return true if the last thing printed was a tag
815815
*/
816-
protected boolean printXml(final String indent, final boolean tagBefore, final PrintWriter printWriter) {
817-
if (tagBefore) {
816+
protected boolean printXml(final String indent, final boolean indentBefore, final PrintWriter printWriter) {
817+
if (indentBefore) {
818818
printWriter.print("\r\n");
819819
printWriter.print(indent);
820820
}

src/main/java/org/htmlunit/html/DomProcessingInstruction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public void setTextContent(final String textContent) {
113113
* {@inheritDoc}
114114
*/
115115
@Override
116-
protected boolean printXml(final String indent, final boolean tagBefore, final PrintWriter printWriter) {
116+
protected boolean printXml(final String indent, final boolean indentBefore, final PrintWriter printWriter) {
117117
printWriter.print("<?");
118118
printWriter.print(getTarget());
119119
printWriter.print(" ");

src/main/java/org/htmlunit/html/DomText.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
* @author Sudhan Moghe
3434
* @author Philip Graf
3535
* @author Ronald Brill
36+
* @author Ronny Shapiro
3637
*/
3738
public class DomText extends DomCharacterData implements Text {
3839

@@ -131,20 +132,20 @@ public String getNodeName() {
131132
* {@inheritDoc}
132133
*/
133134
@Override
134-
protected boolean printXml(final String indent, final boolean tagBefore, final PrintWriter printWriter) {
135+
protected boolean printXml(final String indent, final boolean indentBefore, final PrintWriter printWriter) {
135136
String data = getData();
136-
boolean tag = tagBefore;
137+
boolean indBefore = indentBefore;
137138
if (StringUtils.isNotBlank(data)) {
138139
if (!(getParentNode() instanceof HtmlStyle) || !data.startsWith("<!--") || !data.endsWith("-->")) {
139140
data = StringUtils.escapeXmlChars(data);
140141
}
141142
printWriter.print(data);
142-
tag = false;
143+
indBefore = false;
143144
}
144145
else if (data != null && !data.isEmpty()) {
145-
tag = true;
146+
indBefore = true;
146147
}
147-
return printChildrenAsXml(indent, tag, printWriter);
148+
return printChildrenAsXml(indent, indBefore, printWriter);
148149
}
149150

150151
/**

src/main/java/org/htmlunit/html/HtmlBody.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
*/
1515
package org.htmlunit.html;
1616

17+
import java.io.PrintWriter;
1718
import java.util.Map;
1819

1920
import org.htmlunit.SgmlPage;
@@ -176,4 +177,15 @@ public void setDefaults(final ComputedCssStyleDeclaration style) {
176177
style.setDefaultLocalStyleAttribute("margin-top", "8px");
177178
style.setDefaultLocalStyleAttribute("margin-bottom", "8px");
178179
}
180+
181+
/**
182+
* {@inheritDoc}
183+
*/
184+
@Override
185+
protected boolean printXml(final String indent, final boolean indentBefore, final PrintWriter printWriter) {
186+
// enforce always a line break before
187+
super.printXml(indent, true, printWriter);
188+
// enforce always a line break after
189+
return true;
190+
}
179191
}

src/main/java/org/htmlunit/html/HtmlHead.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
*/
1515
package org.htmlunit.html;
1616

17+
import java.io.PrintWriter;
1718
import java.util.Map;
1819

1920
import org.htmlunit.SgmlPage;
@@ -70,4 +71,13 @@ public boolean mayBeDisplayed() {
7071
public DisplayStyle getDefaultStyleDisplay() {
7172
return DisplayStyle.NONE;
7273
}
74+
75+
/**
76+
* {@inheritDoc}
77+
*/
78+
@Override
79+
protected boolean printXml(final String indent, final boolean indentBefore, final PrintWriter printWriter) {
80+
// enforce always a line break before
81+
return super.printXml(indent, true, printWriter);
82+
}
7383
}

src/main/java/org/htmlunit/html/HtmlLink.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ public CssStyleSheet getSheet() {
359359
}
360360
return sheet_;
361361
}
362+
362363
/**
363364
* Returns whether this link references a style sheet.
364365
*

src/main/java/org/htmlunit/html/HtmlTemplate.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ protected boolean isEmptyXmlTagExpanded() {
7575
* {@inheritDoc}
7676
*/
7777
@Override
78-
protected boolean printXml(final String indent, final boolean tagBefore, final PrintWriter printWriter) {
78+
protected boolean printXml(final String indent, final boolean indentBefore, final PrintWriter printWriter) {
7979
final boolean hasChildren = domDocumentFragment_.getFirstChild() != null;
8080

81-
if (tagBefore) {
81+
if (indentBefore) {
8282
printWriter.print("\r\n");
8383
printWriter.print(indent);
8484
}
@@ -88,7 +88,7 @@ protected boolean printXml(final String indent, final boolean tagBefore, final P
8888

8989
if (hasChildren) {
9090
printWriter.print(">");
91-
final boolean tag = domDocumentFragment_.printChildrenAsXml(indent, tagBefore, printWriter);
91+
final boolean tag = domDocumentFragment_.printChildrenAsXml(indent, indentBefore, printWriter);
9292
if (tag) {
9393
printWriter.print("\r\n");
9494
printWriter.print(indent);

0 commit comments

Comments
 (0)