poi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kiwiwi...@apache.org
Subject svn commit: r1700076 - in /poi/trunk/src: java/org/apache/poi/ss/usermodel/ java/org/apache/poi/ss/util/ testcases/org/apache/poi/ss/util/
Date Sat, 29 Aug 2015 21:45:08 GMT
Author: kiwiwings
Date: Sat Aug 29 21:45:08 2015
New Revision: 1700076

URL: http://svn.apache.org/r1700076
Log:
forbidden apis fixes

Modified:
    poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java
    poi/trunk/src/java/org/apache/poi/ss/usermodel/ExcelStyleDateFormatter.java
    poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java
    poi/trunk/src/testcases/org/apache/poi/ss/util/AllSSUtilTests.java
    poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java

Modified: poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java?rev=1700076&r1=1700075&r2=1700076&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java Sat Aug 29 21:45:08
2015
@@ -440,8 +440,8 @@ public class DataFormatter {
 
         Matcher dateMatcher = daysAsText.matcher(formatStr);
         if (dateMatcher.find()) {
-            String match = dateMatcher.group(0);
-            formatStr = dateMatcher.replaceAll(match.toUpperCase().replaceAll("D", "E"));
+            String match = dateMatcher.group(0).toUpperCase(Locale.ROOT).replaceAll("D",
"E");
+            formatStr = dateMatcher.replaceAll(match);
         }
 
         // Convert excel date format to SimpleDateFormat.
@@ -903,8 +903,9 @@ public class DataFormatter {
     /**
      * @return a <tt>DecimalFormat</tt> with parseIntegerOnly set <code>true</code>
      */
-    /* package */ static DecimalFormat createIntegerOnlyFormat(String fmt) {
-        DecimalFormat result = new DecimalFormat(fmt);
+    private static DecimalFormat createIntegerOnlyFormat(String fmt) {
+        DecimalFormatSymbols dsf = DecimalFormatSymbols.getInstance(Locale.ROOT);
+        DecimalFormat result = new DecimalFormat(fmt, dsf);
         result.setParseIntegerOnly(true);
         return result;
     }

Modified: poi/trunk/src/java/org/apache/poi/ss/usermodel/ExcelStyleDateFormatter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/ExcelStyleDateFormatter.java?rev=1700076&r1=1700075&r2=1700076&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/ExcelStyleDateFormatter.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/ExcelStyleDateFormatter.java Sat Aug 29
21:45:08 2015
@@ -40,13 +40,18 @@ public class ExcelStyleDateFormatter ext
     public static final char L_BRACKET_SYMBOL = '\ue016';
     public static final char LL_BRACKET_SYMBOL = '\ue017';
 
-    private DecimalFormat format1digit = new DecimalFormat("0");
-    private DecimalFormat format2digits = new DecimalFormat("00");
+    private final DecimalFormat format1digit;
+    private final DecimalFormat format2digits;
 
-    private DecimalFormat format3digit = new DecimalFormat("0");
-    private DecimalFormat format4digits = new DecimalFormat("00");
+    private final DecimalFormat format3digit;
+    private final DecimalFormat format4digits;
 
     {
+        DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(Locale.ROOT);
+        format1digit = new DecimalFormat("0", dfs);
+        format2digits = new DecimalFormat("00", dfs);
+        format3digit = new DecimalFormat("0", dfs);
+        format4digits = new DecimalFormat("00", dfs);
         DataFormatter.setExcelStyleRoundingMode(format1digit, RoundingMode.DOWN);
         DataFormatter.setExcelStyleRoundingMode(format2digits, RoundingMode.DOWN);
         DataFormatter.setExcelStyleRoundingMode(format3digit);

Modified: poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java?rev=1700076&r1=1700075&r2=1700076&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java Sat Aug 29 21:45:08 2015
@@ -17,6 +17,7 @@
 
 package org.apache.poi.ss.util;
 
+import java.util.Locale;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -86,7 +87,7 @@ public class CellReference {
      * delimited and escaped as per normal syntax rules for formulas.
      */
     public CellReference(String cellRef) {
-        if(cellRef.toUpperCase().endsWith("#REF!")) {
+        if(cellRef.toUpperCase(Locale.ROOT).endsWith("#REF!")) {
             throw new IllegalArgumentException("Cell reference invalid: " + cellRef);
         }
 

Modified: poi/trunk/src/testcases/org/apache/poi/ss/util/AllSSUtilTests.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/util/AllSSUtilTests.java?rev=1700076&r1=1700075&r2=1700076&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/util/AllSSUtilTests.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/util/AllSSUtilTests.java Sat Aug 29 21:45:08
2015
@@ -26,12 +26,17 @@ import org.junit.runners.Suite;
  */
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
+    TestAreaReference.class,
     TestCellRangeAddress.class,
     TestCellReference.class,
+    TestDateFormatConverter.class,
     TestExpandedDouble.class,
     TestNumberComparer.class,
     TestNumberToTextConverter.class,
-    TestRegion.class
+    TestRegion.class,
+    TestSheetBuilder.class,
+    TestSheetUtil.class,
+    TestWorkbookUtil.class
 })
 public class AllSSUtilTests {
 }

Modified: poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java?rev=1700076&r1=1700075&r2=1700076&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java Sat Aug 29
21:45:08 2015
@@ -42,78 +42,82 @@ public final class TestDateFormatConvert
     private void outputLocaleDataFormats( Date date, boolean dates, boolean times, int style,
String styleName ) throws Exception {
 
         Workbook workbook = new HSSFWorkbook();
-        String sheetName;
-        if( dates ) {
-            if( times ) {
-                sheetName = "DateTimes";
+        try {
+            String sheetName;
+            if( dates ) {
+                if( times ) {
+                    sheetName = "DateTimes";
+                } else {
+                    sheetName = "Dates";
+                }
             } else {
-                sheetName = "Dates";
+                sheetName = "Times";
             }
-        } else {
-            sheetName = "Times";
-        }
-        Sheet sheet = workbook.createSheet(sheetName);
-        Row header = sheet.createRow(0);
-        header.createCell(0).setCellValue("locale");
-        header.createCell(1).setCellValue("DisplayName");
-        header.createCell(2).setCellValue("Excel " + styleName);
-        header.createCell(3).setCellValue("java.text.DateFormat");
-        header.createCell(4).setCellValue("Equals");
-        header.createCell(5).setCellValue("Java pattern");
-        header.createCell(6).setCellValue("Excel pattern");
-
-        int rowNum = 1;
-        for( Locale locale : DateFormat.getAvailableLocales() ) {
-            try {
-                Row row = sheet.createRow(rowNum++);
-    
-                row.createCell(0).setCellValue(locale.toString());
-                row.createCell(1).setCellValue(locale.getDisplayName());
-    
-                DateFormat dateFormat;
-                if( dates ) {
-                    if( times ) {
-                        dateFormat = DateFormat.getDateTimeInstance(style, style, locale);
+            Sheet sheet = workbook.createSheet(sheetName);
+            Row header = sheet.createRow(0);
+            header.createCell(0).setCellValue("locale");
+            header.createCell(1).setCellValue("DisplayName");
+            header.createCell(2).setCellValue("Excel " + styleName);
+            header.createCell(3).setCellValue("java.text.DateFormat");
+            header.createCell(4).setCellValue("Equals");
+            header.createCell(5).setCellValue("Java pattern");
+            header.createCell(6).setCellValue("Excel pattern");
+    
+            int rowNum = 1;
+            for( Locale locale : DateFormat.getAvailableLocales() ) {
+                try {
+                    Row row = sheet.createRow(rowNum++);
+        
+                    row.createCell(0).setCellValue(locale.toString());
+                    row.createCell(1).setCellValue(locale.getDisplayName());
+        
+                    DateFormat dateFormat;
+                    if( dates ) {
+                        if( times ) {
+                            dateFormat = DateFormat.getDateTimeInstance(style, style, locale);
+                        } else {
+                            dateFormat = DateFormat.getDateInstance(style, locale);
+                        }
                     } else {
-                        dateFormat = DateFormat.getDateInstance(style, locale);
+                        dateFormat = DateFormat.getTimeInstance(style, locale);
                     }
-                } else {
-                    dateFormat = DateFormat.getTimeInstance(style, locale);
+        
+                    Cell cell = row.createCell(2);
+        
+                    cell.setCellValue(date);
+                    CellStyle cellStyle = row.getSheet().getWorkbook().createCellStyle();
+        
+                    String javaDateFormatPattern = ((SimpleDateFormat)dateFormat).toPattern();
+                    String excelFormatPattern = DateFormatConverter.convert(locale, javaDateFormatPattern);
+        
+                    DataFormat poiFormat = row.getSheet().getWorkbook().createDataFormat();
+                    cellStyle.setDataFormat(poiFormat.getFormat(excelFormatPattern));
+                    row.createCell(3).setCellValue(dateFormat.format(date));
+        
+                    cell.setCellStyle(cellStyle);
+        
+                    // the formula returns TRUE is the formatted date in column C equals
to the string in column D
+                    row.createCell(4).setCellFormula("TEXT(C"+rowNum+",G"+rowNum+")=D" +
rowNum);
+                    row.createCell(5).setCellValue(javaDateFormatPattern);
+                    row.createCell(6).setCellValue(excelFormatPattern);
+                } catch (Exception e) {
+                    throw new RuntimeException("Failed for locale: " + locale + ", having
locales: " + 
+                            Arrays.toString(DateFormat.getAvailableLocales()), e);
                 }
+            }
     
-                Cell cell = row.createCell(2);
-    
-                cell.setCellValue(date);
-                CellStyle cellStyle = row.getSheet().getWorkbook().createCellStyle();
-    
-                String javaDateFormatPattern = ((SimpleDateFormat)dateFormat).toPattern();
-                String excelFormatPattern = DateFormatConverter.convert(locale, javaDateFormatPattern);
-    
-                DataFormat poiFormat = row.getSheet().getWorkbook().createDataFormat();
-                cellStyle.setDataFormat(poiFormat.getFormat(excelFormatPattern));
-                row.createCell(3).setCellValue(dateFormat.format(date));
-    
-                cell.setCellStyle(cellStyle);
-    
-                // the formula returns TRUE is the formatted date in column C equals to the
string in column D
-                row.createCell(4).setCellFormula("TEXT(C"+rowNum+",G"+rowNum+")=D" + rowNum);
-                row.createCell(5).setCellValue(javaDateFormatPattern);
-                row.createCell(6).setCellValue(excelFormatPattern);
-            } catch (Exception e) {
-                throw new RuntimeException("Failed for locale: " + locale + ", having locales:
" + 
-                        Arrays.toString(DateFormat.getAvailableLocales()), e);
+            File outputFile = TempFile.createTempFile("Locale" + sheetName + styleName, ".xlsx");
+            FileOutputStream outputStream = new FileOutputStream(outputFile);
+            try {
+                workbook.write(outputStream);
+            } finally {
+                outputStream.close();
             }
-        }
-
-        File outputFile = TempFile.createTempFile("Locale" + sheetName + styleName, ".xlsx");
-        FileOutputStream outputStream = new FileOutputStream(outputFile);
-        try {
-            workbook.write(outputStream);
+    
+            System.out.println("Open " + outputFile.getAbsolutePath()+" in Excel");
         } finally {
-            outputStream.close();
+            workbook.close();
         }
-
-        System.out.println("Open " + outputFile.getAbsolutePath()+" in Excel");
     }
 
     public void testJavaDateFormatsInExcel() throws Exception {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org


Mime
View raw message