aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java
diff options
context:
space:
mode:
authorYegor Kozlov <yegor@apache.org>2011-06-25 08:45:49 +0000
committerYegor Kozlov <yegor@apache.org>2011-06-25 08:45:49 +0000
commit7827d9101ebb0248f5a4cdfc20b751b1214b4cde (patch)
tree85eca38c523c93f197231cf9ea08f36a20cc56a7 /src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java
parentb8df0e686b8fccce719a4f25a7f0ea8d32b2e5cf (diff)
downloadpoi-7827d9101ebb0248f5a4cdfc20b751b1214b4cde.tar.gz
poi-7827d9101ebb0248f5a4cdfc20b751b1214b4cde.zip
Bug 48877 - Fixed XSSFRichTextString to respect leading and trailing line breaks
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1139505 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java')
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java
index 964e455e31..e3ed3223a7 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java
@@ -440,17 +440,21 @@ public class XSSFRichTextString implements RichTextString {
}
/**
- * Add the xml:spaces="preserve" attribute if the string has leading or trailing white spaces
+ * Add the xml:spaces="preserve" attribute if the string has leading or trailing spaces
*
* @param xs the string to check
*/
protected static void preserveSpaces(STXstring xs) {
String text = xs.getStringValue();
- if (text != null && (text.startsWith(" ") || text.endsWith(" "))) {
- XmlCursor c = xs.newCursor();
- c.toNextToken();
- c.insertAttributeWithValue(new QName("http://www.w3.org/XML/1998/namespace", "space"), "preserve");
- c.dispose();
+ if (text != null && text.length() > 0) {
+ char firstChar = text.charAt(0);
+ char lastChar = text.charAt(text.length() - 1);
+ if(Character.isWhitespace(firstChar) || Character.isWhitespace(lastChar)) {
+ XmlCursor c = xs.newCursor();
+ c.toNextToken();
+ c.insertAttributeWithValue(new QName("http://www.w3.org/XML/1998/namespace", "space"), "preserve");
+ c.dispose();
+ }
}
}