From: Nick Burch Date: Thu, 27 Aug 2015 17:21:35 +0000 (+0000) Subject: Fix a handful of forbidden apis identified problems X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c451224d845f82708fc1ae9b93f07fef26fc50d1;p=poi.git Fix a handful of forbidden apis identified problems git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1698198 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/java/org/apache/poi/ss/format/CellDateFormatter.java b/src/java/org/apache/poi/ss/format/CellDateFormatter.java index 952b15c131..30c6e2275d 100644 --- a/src/java/org/apache/poi/ss/format/CellDateFormatter.java +++ b/src/java/org/apache/poi/ss/format/CellDateFormatter.java @@ -23,6 +23,7 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Formatter; +import java.util.Locale; import java.util.regex.Matcher; /** @@ -69,22 +70,22 @@ public class CellDateFormatter extends CellFormatter { desc.setCharAt(mStart + i, 'm'); mStart = -1; } - return part.toLowerCase(); + return part.toLowerCase(Locale.ROOT); case 'h': case 'H': mStart = -1; hStart = pos; hLen = part.length(); - return part.toLowerCase(); + return part.toLowerCase(Locale.ROOT); case 'd': case 'D': mStart = -1; if (part.length() <= 2) - return part.toLowerCase(); + return part.toLowerCase(Locale.ROOT); else - return part.toLowerCase().replace('d', 'E'); + return part.toLowerCase(Locale.ROOT).replace('d', 'E'); case 'm': case 'M': @@ -92,16 +93,16 @@ public class CellDateFormatter extends CellFormatter { mLen = part.length(); // For 'm' after 'h', output minutes ('m') not month ('M') if (hStart >= 0) - return part.toLowerCase(); + return part.toLowerCase(Locale.ROOT); else - return part.toUpperCase(); + return part.toUpperCase(Locale.ROOT); case 'y': case 'Y': mStart = -1; if (part.length() == 3) part = "yyyy"; - return part.toLowerCase(); + return part.toLowerCase(Locale.ROOT); case '0': mStart = -1; diff --git a/src/java/org/apache/poi/ss/format/CellTextFormatter.java b/src/java/org/apache/poi/ss/format/CellTextFormatter.java index 65cef64de2..bde29e2ea6 100644 --- a/src/java/org/apache/poi/ss/format/CellTextFormatter.java +++ b/src/java/org/apache/poi/ss/format/CellTextFormatter.java @@ -18,6 +18,7 @@ package org.apache.poi.ss.format; import org.apache.poi.ss.format.CellFormatPart.PartHandler; +import java.util.Locale; import java.util.regex.Matcher; /** @@ -62,7 +63,7 @@ public class CellTextFormatter extends CellFormatter { int start = toAppendTo.length(); String text = obj.toString(); if (obj instanceof Boolean) { - text = text.toUpperCase(); + text = text.toUpperCase(Locale.ROOT); } toAppendTo.append(desc); for (int i = 0; i < textPos.length; i++) { diff --git a/src/java/org/apache/poi/util/HexDump.java b/src/java/org/apache/poi/util/HexDump.java index 02d9b6ae30..b874e6c42a 100644 --- a/src/java/org/apache/poi/util/HexDump.java +++ b/src/java/org/apache/poi/util/HexDump.java @@ -25,8 +25,11 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; +import java.nio.charset.Charset; import java.text.DecimalFormat; +import org.apache.commons.codec.CharEncoding; + /** * dump data in hexadecimal format; derived from a HexDump utility I * wrote in June 2001. @@ -36,6 +39,7 @@ import java.text.DecimalFormat; */ public class HexDump { public static final String EOL = System.getProperty("line.separator"); + private static final Charset UTF8 = Charset.forName(CharEncoding.UTF_8); private static final char _hexcodes[] = "0123456789ABCDEF".toCharArray(); private static final int _shifts[] = { @@ -70,7 +74,7 @@ public class HexDump { { if (data.length == 0) { - stream.write( ("No Data" + EOL).getBytes() ); + stream.write( ("No Data" + EOL).getBytes(UTF8) ); stream.flush(); return; } @@ -125,7 +129,7 @@ public class HexDump { } } buffer.append(EOL); - stream.write(buffer.toString().getBytes()); + stream.write(buffer.toString().getBytes(UTF8)); stream.flush(); buffer.setLength(0); display_offset += chars_read;