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
This commit is contained in:
Nick Burch 2015-08-27 17:21:35 +00:00
parent 57a1370f1d
commit c451224d84
3 changed files with 16 additions and 10 deletions

View File

@ -23,6 +23,7 @@ import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.Formatter; import java.util.Formatter;
import java.util.Locale;
import java.util.regex.Matcher; import java.util.regex.Matcher;
/** /**
@ -69,22 +70,22 @@ public class CellDateFormatter extends CellFormatter {
desc.setCharAt(mStart + i, 'm'); desc.setCharAt(mStart + i, 'm');
mStart = -1; mStart = -1;
} }
return part.toLowerCase(); return part.toLowerCase(Locale.ROOT);
case 'h': case 'h':
case 'H': case 'H':
mStart = -1; mStart = -1;
hStart = pos; hStart = pos;
hLen = part.length(); hLen = part.length();
return part.toLowerCase(); return part.toLowerCase(Locale.ROOT);
case 'd': case 'd':
case 'D': case 'D':
mStart = -1; mStart = -1;
if (part.length() <= 2) if (part.length() <= 2)
return part.toLowerCase(); return part.toLowerCase(Locale.ROOT);
else else
return part.toLowerCase().replace('d', 'E'); return part.toLowerCase(Locale.ROOT).replace('d', 'E');
case 'm': case 'm':
case 'M': case 'M':
@ -92,16 +93,16 @@ public class CellDateFormatter extends CellFormatter {
mLen = part.length(); mLen = part.length();
// For 'm' after 'h', output minutes ('m') not month ('M') // For 'm' after 'h', output minutes ('m') not month ('M')
if (hStart >= 0) if (hStart >= 0)
return part.toLowerCase(); return part.toLowerCase(Locale.ROOT);
else else
return part.toUpperCase(); return part.toUpperCase(Locale.ROOT);
case 'y': case 'y':
case 'Y': case 'Y':
mStart = -1; mStart = -1;
if (part.length() == 3) if (part.length() == 3)
part = "yyyy"; part = "yyyy";
return part.toLowerCase(); return part.toLowerCase(Locale.ROOT);
case '0': case '0':
mStart = -1; mStart = -1;

View File

@ -18,6 +18,7 @@ package org.apache.poi.ss.format;
import org.apache.poi.ss.format.CellFormatPart.PartHandler; import org.apache.poi.ss.format.CellFormatPart.PartHandler;
import java.util.Locale;
import java.util.regex.Matcher; import java.util.regex.Matcher;
/** /**
@ -62,7 +63,7 @@ public class CellTextFormatter extends CellFormatter {
int start = toAppendTo.length(); int start = toAppendTo.length();
String text = obj.toString(); String text = obj.toString();
if (obj instanceof Boolean) { if (obj instanceof Boolean) {
text = text.toUpperCase(); text = text.toUpperCase(Locale.ROOT);
} }
toAppendTo.append(desc); toAppendTo.append(desc);
for (int i = 0; i < textPos.length; i++) { for (int i = 0; i < textPos.length; i++) {

View File

@ -25,8 +25,11 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.PrintStream; import java.io.PrintStream;
import java.nio.charset.Charset;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import org.apache.commons.codec.CharEncoding;
/** /**
* dump data in hexadecimal format; derived from a HexDump utility I * dump data in hexadecimal format; derived from a HexDump utility I
* wrote in June 2001. * wrote in June 2001.
@ -36,6 +39,7 @@ import java.text.DecimalFormat;
*/ */
public class HexDump { public class HexDump {
public static final String EOL = System.getProperty("line.separator"); 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 char _hexcodes[] = "0123456789ABCDEF".toCharArray();
private static final int _shifts[] = private static final int _shifts[] =
{ {
@ -70,7 +74,7 @@ public class HexDump {
{ {
if (data.length == 0) if (data.length == 0)
{ {
stream.write( ("No Data" + EOL).getBytes() ); stream.write( ("No Data" + EOL).getBytes(UTF8) );
stream.flush(); stream.flush();
return; return;
} }
@ -125,7 +129,7 @@ public class HexDump {
} }
} }
buffer.append(EOL); buffer.append(EOL);
stream.write(buffer.toString().getBytes()); stream.write(buffer.toString().getBytes(UTF8));
stream.flush(); stream.flush();
buffer.setLength(0); buffer.setLength(0);
display_offset += chars_read; display_offset += chars_read;