aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2016-02-15 14:40:24 +0000
committerNick Burch <nick@apache.org>2016-02-15 14:40:24 +0000
commit3b5586ea794a2f9c371bc516ae3368c75d1a49d3 (patch)
treeed8c1cf4cf1fc88b25bf427741d31f429b83aa3d /src
parentd1d31485a1dafd410da4cebe7a032f728a51cf1d (diff)
downloadpoi-3b5586ea794a2f9c371bc516ae3368c75d1a49d3.tar.gz
poi-3b5586ea794a2f9c371bc516ae3368c75d1a49d3.zip
Start generalising the IgnoredErrorType code for later HSSF use too #56892
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1730540 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/java/org/apache/poi/ss/usermodel/IgnoredErrorType.java45
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java6
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFIgnoredErrorHelper.java (renamed from src/ooxml/java/org/apache/poi/xssf/usermodel/IgnoredErrorType.java)37
3 files changed, 57 insertions, 31 deletions
diff --git a/src/java/org/apache/poi/ss/usermodel/IgnoredErrorType.java b/src/java/org/apache/poi/ss/usermodel/IgnoredErrorType.java
new file mode 100644
index 0000000000..183fe29f29
--- /dev/null
+++ b/src/java/org/apache/poi/ss/usermodel/IgnoredErrorType.java
@@ -0,0 +1,45 @@
+/* ====================================================================
+ 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;
+
+
+/**
+ * Types of ignored workbook and worksheet error.
+ *
+ * TODO Give more details on what these mean
+ */
+public enum IgnoredErrorType {
+
+ CALCULATED_COLUMN,
+
+ EMPTY_CELL_REFERENCE,
+
+ EVALUATION_ERROR,
+
+ FORMULA,
+
+ FORMULA_RANGE,
+
+ LIST_DATA_VALIDATION,
+
+ NUMBER_STORED_AS_TEXT,
+
+ TWO_DIGIT_TEXT_YEAR,
+
+ UNLOCKED_FORMULA;
+}
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
index 5d4c6314d0..40d765a1da 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
@@ -62,6 +62,7 @@ import org.apache.poi.ss.usermodel.DataValidation;
import org.apache.poi.ss.usermodel.DataValidationHelper;
import org.apache.poi.ss.usermodel.Footer;
import org.apache.poi.ss.usermodel.Header;
+import org.apache.poi.ss.usermodel.IgnoredErrorType;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
@@ -78,6 +79,7 @@ import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
+import org.apache.poi.xssf.usermodel.helpers.XSSFIgnoredErrorHelper;
import org.apache.poi.xssf.usermodel.helpers.XSSFRowShifter;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlOptions;
@@ -4149,14 +4151,14 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
CTIgnoredError ctIgnoredError = ctIgnoredErrors.addNewIgnoredError();
ctIgnoredError.setSqref(Arrays.asList(ref));
for (IgnoredErrorType errType : ignoredErrorTypes) {
- errType.set(ctIgnoredError);
+ XSSFIgnoredErrorHelper.set(errType, ctIgnoredError);
}
}
private Set<IgnoredErrorType> getErrorTypes(CTIgnoredError err) {
Set<IgnoredErrorType> result = new LinkedHashSet<IgnoredErrorType>();
for (IgnoredErrorType errType : IgnoredErrorType.values()) {
- if (errType.isSet(err)) {
+ if (XSSFIgnoredErrorHelper.isSet(errType, err)) {
result.add(errType);
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/IgnoredErrorType.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFIgnoredErrorHelper.java
index 335d578838..4911a3532d 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/IgnoredErrorType.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFIgnoredErrorHelper.java
@@ -15,37 +15,17 @@
limitations under the License.
==================================================================== */
-package org.apache.poi.xssf.usermodel;
+package org.apache.poi.xssf.usermodel.helpers;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTIgnoredError;
+import org.apache.poi.ss.usermodel.IgnoredErrorType;
/**
- * Types of ignored error.
+ * XSSF-specific code for working with ignored errors
*/
-public enum IgnoredErrorType {
-
- CALCULATED_COLUMN,
-
- EMPTY_CELL_REFERENCE,
-
- EVALUATION_ERROR,
-
- FORMULA,
-
- FORMULA_RANGE,
-
- LIST_DATA_VALIDATION,
-
- NUMBER_STORED_AS_TEXT,
-
- TWO_DIGIT_TEXT_YEAR,
-
- UNLOCKED_FORMULA;
-
- // Methods below are not part of the public API
-
- boolean isSet(CTIgnoredError error) {
- switch(this) {
+public class XSSFIgnoredErrorHelper {
+ public static boolean isSet(IgnoredErrorType errorType, CTIgnoredError error) {
+ switch(errorType) {
case CALCULATED_COLUMN:
return error.isSetCalculatedColumn();
case EMPTY_CELL_REFERENCE:
@@ -69,8 +49,8 @@ public enum IgnoredErrorType {
}
}
- void set(CTIgnoredError error) {
- switch(this) {
+ public static void set(IgnoredErrorType errorType, CTIgnoredError error) {
+ switch(errorType) {
case CALCULATED_COLUMN:
error.setCalculatedColumn(true);
break;
@@ -102,5 +82,4 @@ public enum IgnoredErrorType {
throw new IllegalStateException();
}
}
-
}