I am upgrading my code jdom to jdom2.0.5. My previous code was,
JDOM 1.0
XMLOutputter outputter = new XMLOutputter(" ", true);
outputter.setIndent(true);
Now I am using Format class like the following,
JDOM 2.0.5
Format format = Format.getRawFormat();
format.setIndent(" ");
format.setTextMode(Format.TextMode.TRIM);
XMLOutputter outputter = new XMLOutputter(format);
or I can use Format.getPrettyFormat().
If I removed the "format.setTextMode(Format.TextMode.TRIM)" line from my new code it not compatible with the old behavior. If I use TRIM then it gives output like my old behavior. But I didn't use TRIM part in my previous code.
My previous code and If I included TRIM in my new code, it gives output like the following,
<Config>
<Description>Basic 01</Description>
<CartViews>BasicAndDetailed</CartViews>
<CartView>Basic</CartView>
<DetailsInReview>true</DetailsInReview>
<HeaderInReview>true</HeaderInReview>
<AddressVisibility>Hide</AddressVisibility>
<Visibility>Hide</Visibility>
</Config>
If I removed the TRIM part in my new code it gives the output like the following,
<Config>
<Description>
Basic 01
</Description><CartViews>
BasicAndDetailed
</CartViews><CartView>
Basic
</CartView><DetailsInReview>
true
</DetailsInReview><HeaderInReview>
true
</HeaderInReview><AddressVisibility>
Hide
</AddressVisibility><Visibility>
Hide
</Visibility>
</Config>
Which noted as wrong behavior.
I couldn't find the reason why TRIM is needed.
Can you please help me for this?