You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2019/03/30 21:57:51 UTC

svn commit: r1856649 - in /poi/trunk/src: java/org/apache/poi/ss/usermodel/DataFormatter.java java/org/apache/poi/ss/usermodel/Date1904Support.java ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java

Author: fanningpj
Date: Sat Mar 30 21:57:50 2019
New Revision: 1856649

URL: http://svn.apache.org/viewvc?rev=1856649&view=rev
Log:
fix build issue

Added:
    poi/trunk/src/java/org/apache/poi/ss/usermodel/Date1904Support.java   (with props)
Modified:
    poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.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=1856649&r1=1856648&r2=1856649&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 Mar 30 21:57:50 2019
@@ -49,7 +49,6 @@ import org.apache.poi.ss.util.NumberToTe
 import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.util.POILogFactory;
 import org.apache.poi.util.POILogger;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 
 /**
@@ -311,10 +310,11 @@ public class DataFormatter implements Ob
     }
 
     private boolean isDate1904(Cell cell) {
-        if (cell == null || ! (cell.getSheet().getWorkbook() instanceof XSSFWorkbook) ) {
-            return false;
+        if ( cell != null && cell.getSheet().getWorkbook() instanceof Date1904Support) {
+            return ((Date1904Support)cell.getSheet().getWorkbook()).isDate1904();
+
         }
-        return ((XSSFWorkbook) cell.getSheet().getWorkbook()).isDate1904();
+        return false;
     }
     
     private Format getFormat(double cellValue, int formatIndex, String formatStrIn, boolean use1904Windowing) {

Added: poi/trunk/src/java/org/apache/poi/ss/usermodel/Date1904Support.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/Date1904Support.java?rev=1856649&view=auto
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/Date1904Support.java (added)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/Date1904Support.java Sat Mar 30 21:57:50 2019
@@ -0,0 +1,35 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+
+package org.apache.poi.ss.usermodel;
+
+import org.apache.poi.util.Internal;
+
+@Internal
+public interface Date1904Support {
+    /**
+     * Gets a boolean value that indicates whether the date systems used in the workbook starts in 1904.
+     * <p>
+     * The default value is false, meaning that the workbook uses the 1900 date system,
+     * where 1/1/1900 is the first day in the system.
+     *
+     * 1904 based dates are only supported in XSSF workbooks.
+     * </p>
+     * @return true if the date systems used in the workbook starts in 1904
+     */
+    boolean isDate1904();
+}

Propchange: poi/trunk/src/java/org/apache/poi/ss/usermodel/Date1904Support.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java?rev=1856649&r1=1856648&r2=1856649&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java Sat Mar 30 21:57:50 2019
@@ -67,12 +67,8 @@ import org.apache.poi.ss.formula.SheetNa
 import org.apache.poi.ss.formula.udf.AggregatingUDFFinder;
 import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
 import org.apache.poi.ss.formula.udf.UDFFinder;
-import org.apache.poi.ss.usermodel.Name;
-import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.SheetVisibility;
-import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.ss.util.WorkbookUtil;
 import org.apache.poi.util.Beta;
@@ -119,7 +115,7 @@ import org.openxmlformats.schemas.spread
  * will construct whether they are reading or writing a workbook.  It is also the
  * top level object for creating new sheets/etc.
  */
-public class XSSFWorkbook extends POIXMLDocument implements Workbook {
+public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Support {
     private static final Pattern COMMA_PATTERN = Pattern.compile(",");
 
     /**
@@ -1854,7 +1850,8 @@ public class XSSFWorkbook extends POIXML
      * @return true if the date systems used in the workbook starts in 1904
      */
     @Internal
-    public boolean isDate1904(){
+    @Override
+    public boolean isDate1904() {
         CTWorkbookPr workbookPr = workbook.getWorkbookPr();
         return workbookPr != null && workbookPr.getDate1904();
     }



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