forbidden apis fixes - a few DateFormat clean ups ...
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1701888 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
50107cae16
commit
aea434a135
@ -20,7 +20,6 @@ package org.apache.poi.hssf.usermodel;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import org.apache.poi.hssf.model.HSSFFormulaParser;
|
import org.apache.poi.hssf.model.HSSFFormulaParser;
|
||||||
@ -32,6 +31,7 @@ import org.apache.poi.ss.formula.ptg.NumberPtg;
|
|||||||
import org.apache.poi.ss.formula.ptg.Ptg;
|
import org.apache.poi.ss.formula.ptg.Ptg;
|
||||||
import org.apache.poi.ss.formula.ptg.StringPtg;
|
import org.apache.poi.ss.formula.ptg.StringPtg;
|
||||||
import org.apache.poi.ss.usermodel.DataValidationConstraint;
|
import org.apache.poi.ss.usermodel.DataValidationConstraint;
|
||||||
|
import org.apache.poi.util.LocaleUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data Validation Constraint
|
* Data Validation Constraint
|
||||||
@ -180,7 +180,11 @@ public class DVConstraint implements DataValidationConstraint {
|
|||||||
throw new IllegalArgumentException("expr1 must be supplied");
|
throw new IllegalArgumentException("expr1 must be supplied");
|
||||||
}
|
}
|
||||||
OperatorType.validateSecondArg(comparisonOperator, expr2);
|
OperatorType.validateSecondArg(comparisonOperator, expr2);
|
||||||
SimpleDateFormat df = dateFormat == null ? null : new SimpleDateFormat(dateFormat, Locale.ROOT);
|
SimpleDateFormat df = null;
|
||||||
|
if (dateFormat != null) {
|
||||||
|
df = new SimpleDateFormat(dateFormat, LocaleUtil.getUserLocale());
|
||||||
|
df.setTimeZone(LocaleUtil.getUserTimeZone());
|
||||||
|
}
|
||||||
|
|
||||||
// formula1 and value1 are mutually exclusive
|
// formula1 and value1 are mutually exclusive
|
||||||
String formula1 = getFormulaFromTextExpression(expr1);
|
String formula1 = getFormulaFromTextExpression(expr1);
|
||||||
@ -392,6 +396,7 @@ public class DVConstraint implements DataValidationConstraint {
|
|||||||
return new FormulaPair(formula1, formula2);
|
return new FormulaPair(formula1, formula2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("resource")
|
||||||
private Ptg[] createListFormula(HSSFSheet sheet) {
|
private Ptg[] createListFormula(HSSFSheet sheet) {
|
||||||
|
|
||||||
if (_explicitListValues == null) {
|
if (_explicitListValues == null) {
|
||||||
@ -417,6 +422,7 @@ public class DVConstraint implements DataValidationConstraint {
|
|||||||
* @return The parsed token array representing the formula or value specified.
|
* @return The parsed token array representing the formula or value specified.
|
||||||
* Empty array if both formula and value are <code>null</code>
|
* Empty array if both formula and value are <code>null</code>
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("resource")
|
||||||
private static Ptg[] convertDoubleFormula(String formula, Double value, HSSFSheet sheet) {
|
private static Ptg[] convertDoubleFormula(String formula, Double value, HSSFSheet sheet) {
|
||||||
if (formula == null) {
|
if (formula == null) {
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
package org.apache.poi.hssf.usermodel;
|
package org.apache.poi.hssf.usermodel;
|
||||||
|
|
||||||
import java.text.DateFormat;
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -53,8 +52,6 @@ import org.apache.poi.ss.util.CellRangeAddress;
|
|||||||
import org.apache.poi.ss.util.CellReference;
|
import org.apache.poi.ss.util.CellReference;
|
||||||
import org.apache.poi.ss.util.NumberToTextConverter;
|
import org.apache.poi.ss.util.NumberToTextConverter;
|
||||||
import org.apache.poi.util.LocaleUtil;
|
import org.apache.poi.util.LocaleUtil;
|
||||||
import org.apache.poi.util.POILogFactory;
|
|
||||||
import org.apache.poi.util.POILogger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* High level representation of a cell in a row of a spreadsheet.
|
* High level representation of a cell in a row of a spreadsheet.
|
||||||
@ -69,8 +66,6 @@ import org.apache.poi.util.POILogger;
|
|||||||
* <p>
|
* <p>
|
||||||
*/
|
*/
|
||||||
public class HSSFCell implements Cell {
|
public class HSSFCell implements Cell {
|
||||||
private static POILogger log = POILogFactory.getLogger(HSSFCell.class);
|
|
||||||
|
|
||||||
private static final String FILE_FORMAT_NAME = "BIFF8";
|
private static final String FILE_FORMAT_NAME = "BIFF8";
|
||||||
/**
|
/**
|
||||||
* The maximum number of columns in BIFF8
|
* The maximum number of columns in BIFF8
|
||||||
@ -990,7 +985,8 @@ public class HSSFCell implements Cell {
|
|||||||
case CELL_TYPE_NUMERIC:
|
case CELL_TYPE_NUMERIC:
|
||||||
//TODO apply the dataformat for this cell
|
//TODO apply the dataformat for this cell
|
||||||
if (HSSFDateUtil.isCellDateFormatted(this)) {
|
if (HSSFDateUtil.isCellDateFormatted(this)) {
|
||||||
DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", LocaleUtil.getUserLocale());
|
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", LocaleUtil.getUserLocale());
|
||||||
|
sdf.setTimeZone(LocaleUtil.getUserTimeZone());
|
||||||
return sdf.format(getDateCellValue());
|
return sdf.format(getDateCellValue());
|
||||||
}
|
}
|
||||||
return String.valueOf(getNumericCellValue());
|
return String.valueOf(getNumericCellValue());
|
||||||
|
@ -19,7 +19,6 @@ package org.apache.poi.hssf.usermodel;
|
|||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.text.Format;
|
import java.text.Format;
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.DataFormatter;
|
import org.apache.poi.ss.usermodel.DataFormatter;
|
||||||
@ -33,7 +32,7 @@ import org.apache.poi.util.LocaleUtil;
|
|||||||
* codes, etc.
|
* codes, etc.
|
||||||
* <p>
|
* <p>
|
||||||
* Internally, formats will be implemented using subclasses of {@link Format}
|
* Internally, formats will be implemented using subclasses of {@link Format}
|
||||||
* such as {@link DecimalFormat} and {@link SimpleDateFormat}. Therefore the
|
* such as {@link DecimalFormat} and {@link java.text.SimpleDateFormat}. Therefore the
|
||||||
* formats used by this class must obey the same pattern rules as these Format
|
* formats used by this class must obey the same pattern rules as these Format
|
||||||
* subclasses. This means that only legal number pattern characters ("0", "#",
|
* subclasses. This means that only legal number pattern characters ("0", "#",
|
||||||
* ".", "," etc.) may appear in number formats. Other characters can be
|
* ".", "," etc.) may appear in number formats. Other characters can be
|
||||||
|
@ -38,17 +38,11 @@ public class CellDateFormatter extends CellFormatter {
|
|||||||
private final DateFormat dateFmt;
|
private final DateFormat dateFmt;
|
||||||
private String sFmt;
|
private String sFmt;
|
||||||
|
|
||||||
private final long EXCEL_EPOCH_TIME;
|
private final Calendar EXCEL_EPOCH_CAL =
|
||||||
private final Date EXCEL_EPOCH_DATE;
|
LocaleUtil.getLocaleCalendar(1904, 0, 1);
|
||||||
|
|
||||||
private static /* final */ CellDateFormatter SIMPLE_DATE = null;
|
private static /* final */ CellDateFormatter SIMPLE_DATE = null;
|
||||||
|
|
||||||
{
|
|
||||||
Calendar c = LocaleUtil.getLocaleCalendar(1904, 0, 1, 0, 0, 0);
|
|
||||||
EXCEL_EPOCH_DATE = c.getTime();
|
|
||||||
EXCEL_EPOCH_TIME = c.getTimeInMillis();
|
|
||||||
}
|
|
||||||
|
|
||||||
private class DatePartHandler implements CellFormatPart.PartHandler {
|
private class DatePartHandler implements CellFormatPart.PartHandler {
|
||||||
private int mStart = -1;
|
private int mStart = -1;
|
||||||
private int mLen;
|
private int mLen;
|
||||||
@ -153,6 +147,7 @@ public class CellDateFormatter extends CellFormatter {
|
|||||||
// See https://issues.apache.org/bugzilla/show_bug.cgi?id=53369
|
// See https://issues.apache.org/bugzilla/show_bug.cgi?id=53369
|
||||||
String ptrn = descBuf.toString().replaceAll("((y)(?!y))(?<!yy)", "yy");
|
String ptrn = descBuf.toString().replaceAll("((y)(?!y))(?<!yy)", "yy");
|
||||||
dateFmt = new SimpleDateFormat(ptrn, LocaleUtil.getUserLocale());
|
dateFmt = new SimpleDateFormat(ptrn, LocaleUtil.getUserLocale());
|
||||||
|
dateFmt.setTimeZone(LocaleUtil.getUserTimeZone());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@ -161,15 +156,18 @@ public class CellDateFormatter extends CellFormatter {
|
|||||||
value = 0.0;
|
value = 0.0;
|
||||||
if (value instanceof Number) {
|
if (value instanceof Number) {
|
||||||
Number num = (Number) value;
|
Number num = (Number) value;
|
||||||
double v = num.doubleValue();
|
long v = num.longValue();
|
||||||
if (v == 0.0)
|
if (v == 0L) {
|
||||||
value = EXCEL_EPOCH_DATE;
|
value = EXCEL_EPOCH_CAL.getTime();
|
||||||
else
|
} else {
|
||||||
value = new Date((long) (EXCEL_EPOCH_TIME + v));
|
Calendar c = (Calendar)EXCEL_EPOCH_CAL.clone();
|
||||||
|
c.add(Calendar.SECOND, (int)(v / 1000));
|
||||||
|
c.add(Calendar.MILLISECOND, (int)(v % 1000));
|
||||||
|
value = c.getTime();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AttributedCharacterIterator it = dateFmt.formatToCharacterIterator(
|
AttributedCharacterIterator it = dateFmt.formatToCharacterIterator(value);
|
||||||
value);
|
|
||||||
boolean doneAm = false;
|
boolean doneAm = false;
|
||||||
boolean doneMillis = false;
|
boolean doneMillis = false;
|
||||||
|
|
||||||
@ -219,7 +217,7 @@ public class CellDateFormatter extends CellFormatter {
|
|||||||
*/
|
*/
|
||||||
public void simpleValue(StringBuffer toAppendTo, Object value) {
|
public void simpleValue(StringBuffer toAppendTo, Object value) {
|
||||||
synchronized (CellDateFormatter.class) {
|
synchronized (CellDateFormatter.class) {
|
||||||
if (SIMPLE_DATE == null || !SIMPLE_DATE.EXCEL_EPOCH_DATE.equals(EXCEL_EPOCH_DATE)) {
|
if (SIMPLE_DATE == null || !SIMPLE_DATE.EXCEL_EPOCH_CAL.equals(EXCEL_EPOCH_CAL)) {
|
||||||
SIMPLE_DATE = new CellDateFormatter("mm/d/y");
|
SIMPLE_DATE = new CellDateFormatter("mm/d/y");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@ import java.text.DecimalFormatSymbols;
|
|||||||
import java.text.FieldPosition;
|
import java.text.FieldPosition;
|
||||||
import java.text.Format;
|
import java.text.Format;
|
||||||
import java.text.ParsePosition;
|
import java.text.ParsePosition;
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -53,7 +52,7 @@ import org.apache.poi.util.LocaleUtil;
|
|||||||
* codes, etc.
|
* codes, etc.
|
||||||
* <p>
|
* <p>
|
||||||
* Internally, formats will be implemented using subclasses of {@link Format}
|
* Internally, formats will be implemented using subclasses of {@link Format}
|
||||||
* such as {@link DecimalFormat} and {@link SimpleDateFormat}. Therefore the
|
* such as {@link DecimalFormat} and {@link java.text.SimpleDateFormat}. Therefore the
|
||||||
* formats used by this class must obey the same pattern rules as these Format
|
* formats used by this class must obey the same pattern rules as these Format
|
||||||
* subclasses. This means that only legal number pattern characters ("0", "#",
|
* subclasses. This means that only legal number pattern characters ("0", "#",
|
||||||
* ".", "," etc.) may appear in number formats. Other characters can be
|
* ".", "," etc.) may appear in number formats. Other characters can be
|
||||||
|
@ -58,6 +58,7 @@ import org.apache.poi.openxml4j.opc.PackagingURIHelper;
|
|||||||
import org.apache.poi.openxml4j.opc.TargetMode;
|
import org.apache.poi.openxml4j.opc.TargetMode;
|
||||||
import org.apache.poi.poifs.crypt.dsig.services.RelationshipTransformService;
|
import org.apache.poi.poifs.crypt.dsig.services.RelationshipTransformService;
|
||||||
import org.apache.poi.poifs.crypt.dsig.services.RelationshipTransformService.RelationshipTransformParameterSpec;
|
import org.apache.poi.poifs.crypt.dsig.services.RelationshipTransformService.RelationshipTransformParameterSpec;
|
||||||
|
import org.apache.poi.util.LocaleUtil;
|
||||||
import org.apache.poi.util.POILogFactory;
|
import org.apache.poi.util.POILogFactory;
|
||||||
import org.apache.poi.util.POILogger;
|
import org.apache.poi.util.POILogger;
|
||||||
import org.openxmlformats.schemas.xpackage.x2006.digitalSignature.CTSignatureTime;
|
import org.openxmlformats.schemas.xpackage.x2006.digitalSignature.CTSignatureTime;
|
||||||
@ -198,7 +199,7 @@ public class OOXMLSignatureFacet extends SignatureFacet {
|
|||||||
* SignatureTime
|
* SignatureTime
|
||||||
*/
|
*/
|
||||||
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ROOT);
|
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ROOT);
|
||||||
fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
|
fmt.setTimeZone(LocaleUtil.TIMEZONE_UTC);
|
||||||
String nowStr = fmt.format(signatureConfig.getExecutionTime());
|
String nowStr = fmt.format(signatureConfig.getExecutionTime());
|
||||||
LOG.log(POILogger.DEBUG, "now: " + nowStr);
|
LOG.log(POILogger.DEBUG, "now: " + nowStr);
|
||||||
|
|
||||||
|
@ -45,6 +45,7 @@ import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
|||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
import org.apache.poi.ss.usermodel.DateUtil;
|
import org.apache.poi.ss.usermodel.DateUtil;
|
||||||
import org.apache.poi.util.DocumentHelper;
|
import org.apache.poi.util.DocumentHelper;
|
||||||
|
import org.apache.poi.util.LocaleUtil;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFCell;
|
import org.apache.poi.xssf.usermodel.XSSFCell;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFMap;
|
import org.apache.poi.xssf.usermodel.XSSFMap;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFRow;
|
import org.apache.poi.xssf.usermodel.XSSFRow;
|
||||||
@ -316,6 +317,7 @@ public class XSSFExportToXml implements Comparator<String>{
|
|||||||
|
|
||||||
private String getFormattedDate(XSSFCell cell) {
|
private String getFormattedDate(XSSFCell cell) {
|
||||||
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.ROOT);
|
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.ROOT);
|
||||||
|
sdf.setTimeZone(LocaleUtil.getUserTimeZone());
|
||||||
return sdf.format(cell.getDateCellValue());
|
return sdf.format(cell.getDateCellValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -523,6 +523,7 @@ public class SXSSFCell implements Cell {
|
|||||||
* <code>workbook.getCellStyleAt(0)</code>
|
* <code>workbook.getCellStyleAt(0)</code>
|
||||||
* @see org.apache.poi.ss.usermodel.Workbook#getCellStyleAt(short)
|
* @see org.apache.poi.ss.usermodel.Workbook#getCellStyleAt(short)
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("resource")
|
||||||
public CellStyle getCellStyle()
|
public CellStyle getCellStyle()
|
||||||
{
|
{
|
||||||
if(_style == null){
|
if(_style == null){
|
||||||
@ -655,6 +656,7 @@ public class SXSSFCell implements Cell {
|
|||||||
case CELL_TYPE_NUMERIC:
|
case CELL_TYPE_NUMERIC:
|
||||||
if (DateUtil.isCellDateFormatted(this)) {
|
if (DateUtil.isCellDateFormatted(this)) {
|
||||||
DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", LocaleUtil.getUserLocale());
|
DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", LocaleUtil.getUserLocale());
|
||||||
|
sdf.setTimeZone(LocaleUtil.getUserTimeZone());
|
||||||
return sdf.format(getDateCellValue());
|
return sdf.format(getDateCellValue());
|
||||||
}
|
}
|
||||||
return getNumericCellValue() + "";
|
return getNumericCellValue() + "";
|
||||||
|
@ -21,7 +21,6 @@ import java.text.DateFormat;
|
|||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
import org.apache.poi.ss.SpreadsheetVersion;
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.formula.FormulaParser;
|
import org.apache.poi.ss.formula.FormulaParser;
|
||||||
@ -42,6 +41,7 @@ import org.apache.poi.ss.usermodel.Row;
|
|||||||
import org.apache.poi.ss.util.CellRangeAddress;
|
import org.apache.poi.ss.util.CellRangeAddress;
|
||||||
import org.apache.poi.ss.util.CellReference;
|
import org.apache.poi.ss.util.CellReference;
|
||||||
import org.apache.poi.util.Internal;
|
import org.apache.poi.util.Internal;
|
||||||
|
import org.apache.poi.util.LocaleUtil;
|
||||||
import org.apache.poi.xssf.model.SharedStringsTable;
|
import org.apache.poi.xssf.model.SharedStringsTable;
|
||||||
import org.apache.poi.xssf.model.StylesTable;
|
import org.apache.poi.xssf.model.StylesTable;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell;
|
||||||
@ -452,6 +452,7 @@ public final class XSSFCell implements Cell {
|
|||||||
cellFormula.setRef(range.formatAsString());
|
cellFormula.setRef(range.formatAsString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("resource")
|
||||||
private void setFormula(String formula, int formulaType) {
|
private void setFormula(String formula, int formulaType) {
|
||||||
XSSFWorkbook wb = _row.getSheet().getWorkbook();
|
XSSFWorkbook wb = _row.getSheet().getWorkbook();
|
||||||
if (formula == null) {
|
if (formula == null) {
|
||||||
@ -841,7 +842,8 @@ public final class XSSFCell implements Cell {
|
|||||||
return getCellFormula();
|
return getCellFormula();
|
||||||
case CELL_TYPE_NUMERIC:
|
case CELL_TYPE_NUMERIC:
|
||||||
if (DateUtil.isCellDateFormatted(this)) {
|
if (DateUtil.isCellDateFormatted(this)) {
|
||||||
DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", Locale.ROOT);
|
DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", LocaleUtil.getUserLocale());
|
||||||
|
sdf.setTimeZone(LocaleUtil.getUserTimeZone());
|
||||||
return sdf.format(getDateCellValue());
|
return sdf.format(getDateCellValue());
|
||||||
}
|
}
|
||||||
return Double.toString(getNumericCellValue());
|
return Double.toString(getNumericCellValue());
|
||||||
|
@ -20,7 +20,8 @@ package org.apache.poi.hmef;
|
|||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.TimeZone;
|
|
||||||
|
import org.apache.poi.util.LocaleUtil;
|
||||||
|
|
||||||
public final class TestAttachments extends HMEFTest {
|
public final class TestAttachments extends HMEFTest {
|
||||||
private HMEFMessage quick;
|
private HMEFMessage quick;
|
||||||
@ -85,7 +86,7 @@ public final class TestAttachments extends HMEFTest {
|
|||||||
DateFormat fmt = DateFormat.getDateTimeInstance(
|
DateFormat fmt = DateFormat.getDateTimeInstance(
|
||||||
DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
|
DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
|
||||||
);
|
);
|
||||||
fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
|
fmt.setTimeZone(LocaleUtil.TIMEZONE_UTC);
|
||||||
|
|
||||||
// They should all have the same date on them
|
// They should all have the same date on them
|
||||||
assertEquals("28-Apr-2010 12:40:56", fmt.format( attachments.get(0).getModifiedDate()));
|
assertEquals("28-Apr-2010 12:40:56", fmt.format( attachments.get(0).getModifiedDate()));
|
||||||
|
@ -21,14 +21,14 @@ import java.io.ByteArrayInputStream;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.TimeZone;
|
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
|
||||||
|
|
||||||
import org.apache.poi.POIDataSamples;
|
import org.apache.poi.POIDataSamples;
|
||||||
import org.apache.poi.hmef.HMEFMessage;
|
import org.apache.poi.hmef.HMEFMessage;
|
||||||
import org.apache.poi.hsmf.datatypes.MAPIProperty;
|
import org.apache.poi.hsmf.datatypes.MAPIProperty;
|
||||||
import org.apache.poi.util.LittleEndian;
|
import org.apache.poi.util.LittleEndian;
|
||||||
|
import org.apache.poi.util.LocaleUtil;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
public final class TestMAPIAttributes extends TestCase {
|
public final class TestMAPIAttributes extends TestCase {
|
||||||
private static final POIDataSamples _samples = POIDataSamples.getHMEFInstance();
|
private static final POIDataSamples _samples = POIDataSamples.getHMEFInstance();
|
||||||
@ -161,7 +161,7 @@ public final class TestMAPIAttributes extends TestCase {
|
|||||||
DateFormat fmt = DateFormat.getDateTimeInstance(
|
DateFormat fmt = DateFormat.getDateTimeInstance(
|
||||||
DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
|
DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
|
||||||
);
|
);
|
||||||
fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
|
fmt.setTimeZone(LocaleUtil.TIMEZONE_UTC);
|
||||||
assertEquals("15-Dec-2010 14:46:31", fmt.format(date.getDate()));
|
assertEquals("15-Dec-2010 14:46:31", fmt.format(date.getDate()));
|
||||||
|
|
||||||
// RTF
|
// RTF
|
||||||
|
@ -20,15 +20,15 @@ package org.apache.poi.hmef.attribute;
|
|||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.TimeZone;
|
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
|
||||||
|
|
||||||
import org.apache.poi.POIDataSamples;
|
import org.apache.poi.POIDataSamples;
|
||||||
import org.apache.poi.hmef.Attachment;
|
import org.apache.poi.hmef.Attachment;
|
||||||
import org.apache.poi.hmef.HMEFMessage;
|
import org.apache.poi.hmef.HMEFMessage;
|
||||||
import org.apache.poi.hsmf.datatypes.MAPIProperty;
|
import org.apache.poi.hsmf.datatypes.MAPIProperty;
|
||||||
import org.apache.poi.util.LittleEndian;
|
import org.apache.poi.util.LittleEndian;
|
||||||
|
import org.apache.poi.util.LocaleUtil;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
public final class TestTNEFAttributes extends TestCase {
|
public final class TestTNEFAttributes extends TestCase {
|
||||||
private static final POIDataSamples _samples = POIDataSamples.getHMEFInstance();
|
private static final POIDataSamples _samples = POIDataSamples.getHMEFInstance();
|
||||||
@ -162,7 +162,7 @@ public final class TestTNEFAttributes extends TestCase {
|
|||||||
DateFormat fmt = DateFormat.getDateTimeInstance(
|
DateFormat fmt = DateFormat.getDateTimeInstance(
|
||||||
DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
|
DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
|
||||||
);
|
);
|
||||||
fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
|
fmt.setTimeZone(LocaleUtil.TIMEZONE_UTC);
|
||||||
assertEquals("28-Apr-2010 12:40:56", fmt.format(date.getDate()));
|
assertEquals("28-Apr-2010 12:40:56", fmt.format(date.getDate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,6 +241,7 @@ public final class TestHSSFDataFormatter {
|
|||||||
String monthPtrn = fmt.indexOf("mmmm") != -1 ? "MMMM" : "MMM";
|
String monthPtrn = fmt.indexOf("mmmm") != -1 ? "MMMM" : "MMM";
|
||||||
// this line is intended to compute how "July" would look like in the current locale
|
// this line is intended to compute how "July" would look like in the current locale
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat(monthPtrn, LocaleUtil.getUserLocale());
|
SimpleDateFormat sdf = new SimpleDateFormat(monthPtrn, LocaleUtil.getUserLocale());
|
||||||
|
sdf.setTimeZone(LocaleUtil.getUserTimeZone());
|
||||||
Calendar calDef = LocaleUtil.getLocaleCalendar(2010, 6, 15, 0, 0, 0);
|
Calendar calDef = LocaleUtil.getLocaleCalendar(2010, 6, 15, 0, 0, 0);
|
||||||
String jul = sdf.format(calDef.getTime());
|
String jul = sdf.format(calDef.getTime());
|
||||||
// special case for MMMMM = 1st letter of month name
|
// special case for MMMMM = 1st letter of month name
|
||||||
|
Loading…
Reference in New Issue
Block a user