diff options
author | Yegor Kozlov <yegor@apache.org> | 2011-06-25 08:45:49 +0000 |
---|---|---|
committer | Yegor Kozlov <yegor@apache.org> | 2011-06-25 08:45:49 +0000 |
commit | 7827d9101ebb0248f5a4cdfc20b751b1214b4cde (patch) | |
tree | 85eca38c523c93f197231cf9ea08f36a20cc56a7 /src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java | |
parent | b8df0e686b8fccce719a4f25a7f0ea8d32b2e5cf (diff) | |
download | poi-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.java | 16 |
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(); + } } } |