Author: fanningpj
Date: Thu Apr 24 11:21:36 2025
New Revision: 1925250

URL: http://svn.apache.org/viewvc?rev=1925250&view=rev
Log:
[bug-69658] use EnumMap elsewhere

Modified:
    poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java
    poi/trunk/poi/src/main/java/org/apache/poi/ss/util/PropertyTemplate.java
    poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtil.java

Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java?rev=1925250&r1=1925249&r2=1925250&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellUtil.java Thu Apr 24 
11:21:36 2025
@@ -571,7 +571,7 @@ public final class CellUtil {
     @Deprecated
     @Removal(version = "7.0.0")
     public static void setCellStyleProperties(Cell cell, Map<String, Object> 
properties) {
-        Map<CellPropertyType, Object> strPropMap = new 
HashMap<>(properties.size());
+        EnumMap<CellPropertyType, Object> strPropMap = new 
EnumMap<>(CellPropertyType.class);
         properties.forEach((k, v) -> strPropMap.put(namePropertyMap.get(k), 
v));
         setCellStyleProperties(cell, strPropMap, false);
     }
@@ -611,7 +611,7 @@ public final class CellUtil {
         CellStyle originalStyle = cell.getCellStyle();
 
         CellStyle newStyle = null;
-        Map<CellPropertyType, Object> values = 
getFormatProperties(originalStyle);
+        EnumMap<CellPropertyType, Object> values = 
getFormatProperties(originalStyle);
         if 
(properties.containsKey(CellPropertyType.FILL_FOREGROUND_COLOR_COLOR) && 
properties.get(CellPropertyType.FILL_FOREGROUND_COLOR_COLOR) == null) {
             values.remove(CellPropertyType.FILL_FOREGROUND_COLOR);
         }
@@ -777,7 +777,6 @@ public final class CellUtil {
      *
      * @param src the property map to copy from (read-only)
      * @param dest the property map to copy into
-     * @since POI 3.15 beta 3
      */
     private static void putAll(final Map<CellPropertyType, Object> src, 
Map<CellPropertyType, Object> dest) {
         for (final CellPropertyType key : src.keySet()) {

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/ss/util/PropertyTemplate.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/util/PropertyTemplate.java?rev=1925250&r1=1925249&r2=1925250&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/util/PropertyTemplate.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/util/PropertyTemplate.java 
Thu Apr 24 11:21:36 2025
@@ -28,7 +28,10 @@ import org.apache.poi.ss.usermodel.Index
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.util.Removal;
 
+import java.util.EnumMap;
+import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -42,9 +45,9 @@ import java.util.Set;
  * sheet in any workbook.
  *
  * This class requires the full spreadsheet to be in memory, so
- * {@link org.apache.poi.xssf.streaming.SXSSFWorkbook} Spreadsheets are not
+ * <code>SXSSFWorkbook</code> Spreadsheets are not
  * supported. The same PropertyTemplate can, however, be applied to both
- * {@link HSSFWorkbook} and {@link org.apache.poi.xssf.usermodel.XSSFWorkbook}
+ * {@link HSSFWorkbook} and <code>XSSFWorkbook</code>
  * objects if necessary. Portions of the border that fall outside the max range
  * of the {@link Workbook} sheet are ignored.
  * </p>
@@ -59,7 +62,7 @@ public final class PropertyTemplate {
      * This is a list of cell properties for one shot application to a range of
      * cells at a later time.
      */
-    private final Map<CellAddress, Map<CellPropertyType, Object>> 
_propertyTemplate;
+    private final Map<CellAddress, EnumMap<CellPropertyType, Object>> 
_propertyTemplate;
 
     /**
      * Create a PropertyTemplate object
@@ -75,17 +78,17 @@ public final class PropertyTemplate {
      */
     public PropertyTemplate(PropertyTemplate template) {
         this();
-        for (Map.Entry<CellAddress, Map<CellPropertyType, Object>> entry : 
template.getTemplate().entrySet()) {
+        for (Map.Entry<CellAddress, EnumMap<CellPropertyType, Object>> entry : 
template.getTemplate().entrySet()) {
             _propertyTemplate.put(new CellAddress(entry.getKey()), 
cloneCellProperties(entry.getValue()));
         }
     }
 
-    private Map<CellAddress, Map<CellPropertyType, Object>> getTemplate() {
+    private Map<CellAddress, EnumMap<CellPropertyType, Object>> getTemplate() {
         return _propertyTemplate;
     }
 
-    private static Map<CellPropertyType, Object> 
cloneCellProperties(Map<CellPropertyType, Object> properties) {
-        return new HashMap<>(properties);
+    private static EnumMap<CellPropertyType, Object> 
cloneCellProperties(EnumMap<CellPropertyType, Object> properties) {
+        return new EnumMap<>(properties);
     }
 
     /**
@@ -433,7 +436,7 @@ public final class PropertyTemplate {
      */
     public void applyBorders(Sheet sheet) {
         Workbook wb = sheet.getWorkbook();
-        for (Map.Entry<CellAddress, Map<CellPropertyType, Object>> entry : 
_propertyTemplate
+        for (Map.Entry<CellAddress, EnumMap<CellPropertyType, Object>> entry : 
_propertyTemplate
                 .entrySet()) {
             CellAddress cellAddress = entry.getKey();
             if (cellAddress.getRow() < wb.getSpreadsheetVersion().getMaxRows()
@@ -756,11 +759,11 @@ public final class PropertyTemplate {
      * @param range - {@link CellRangeAddress} range of cells to remove 
borders.
      */
     private void removeBorderColors(CellRangeAddress range) {
-        Set<CellPropertyType> properties = new HashSet<>();
-        properties.add(CellPropertyType.TOP_BORDER_COLOR);
-        properties.add(CellPropertyType.BOTTOM_BORDER_COLOR);
-        properties.add(CellPropertyType.LEFT_BORDER_COLOR);
-        properties.add(CellPropertyType.RIGHT_BORDER_COLOR);
+        Set<CellPropertyType> properties = EnumSet.of(
+                CellPropertyType.TOP_BORDER_COLOR,
+                CellPropertyType.BOTTOM_BORDER_COLOR,
+                CellPropertyType.LEFT_BORDER_COLOR,
+                CellPropertyType.RIGHT_BORDER_COLOR);
         for (int row = range.getFirstRow(); row <= range.getLastRow(); row++) {
             for (int col = range.getFirstColumn(); col <= range
                     .getLastColumn(); col++) {
@@ -781,9 +784,9 @@ public final class PropertyTemplate {
      */
     private void addProperty(int row, int col, CellPropertyType property, 
Object value) {
         CellAddress cell = new CellAddress(row, col);
-        Map<CellPropertyType, Object> cellProperties = 
_propertyTemplate.get(cell);
+        EnumMap<CellPropertyType, Object> cellProperties = 
_propertyTemplate.get(cell);
         if (cellProperties == null) {
-            cellProperties = new HashMap<>();
+            cellProperties = new EnumMap<>(CellPropertyType.class);
         }
         cellProperties.put(property, value);
         _propertyTemplate.put(cell, cellProperties);
@@ -795,7 +798,7 @@ public final class PropertyTemplate {
      */
     private void removeProperties(int row, int col, Set<CellPropertyType> 
properties) {
         CellAddress cell = new CellAddress(row, col);
-        Map<CellPropertyType, Object> cellProperties = 
_propertyTemplate.get(cell);
+        EnumMap<CellPropertyType, Object> cellProperties = 
_propertyTemplate.get(cell);
         if (cellProperties != null) {
             cellProperties.keySet().removeAll(properties);
             if (cellProperties.isEmpty()) {
@@ -946,6 +949,7 @@ public final class PropertyTemplate {
      * @deprecated See {@link #getTemplateProperty(int, int, CellPropertyType)}
      */
     @Deprecated
+    @Removal(version = "7.0.0")
     public short getTemplateProperty(int row, int col, String propertyName) {
         return getTemplateProperty(new CellAddress(row, col), 
CellUtil.namePropertyMap.get(propertyName));
     }

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtil.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtil.java?rev=1925250&r1=1925249&r2=1925250&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtil.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtil.java 
Thu Apr 24 11:21:36 2025
@@ -22,6 +22,7 @@ import org.apache.poi.ss.usermodel.*;
 import org.junit.jupiter.api.Test;
 
 import java.io.IOException;
+import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -339,7 +340,7 @@ public abstract class BaseTestCellUtil {
 
             // Add multiple border properties to cell should create a single 
new style
             int styCnt1 = wb.getNumCellStyles();
-            Map<CellPropertyType, Object> props = new HashMap<>();
+            EnumMap<CellPropertyType, Object> props = new 
EnumMap<>(CellPropertyType.class);
             props.put(CellPropertyType.BORDER_TOP, BorderStyle.THIN);
             props.put(CellPropertyType.BORDER_BOTTOM, BorderStyle.THIN);
             props.put(CellPropertyType.BORDER_LEFT, BorderStyle.THIN);
@@ -574,7 +575,7 @@ public abstract class BaseTestCellUtil {
     protected void setFillForegroundColorBeforeFillBackgroundColorEnumByEnum() 
throws IOException {
         try (Workbook wb1 = _testDataProvider.createWorkbook()) {
             Cell A1 = wb1.createSheet().createRow(0).createCell(0);
-            Map<CellPropertyType, Object> properties = new HashMap<>();
+            EnumMap<CellPropertyType, Object> properties = new 
EnumMap<>(CellPropertyType.class);
             properties.put(CellPropertyType.FILL_PATTERN, 
FillPatternType.BRICKS);
             properties.put(CellPropertyType.FILL_FOREGROUND_COLOR, 
IndexedColors.BLUE.index);
             properties.put(CellPropertyType.FILL_BACKGROUND_COLOR, 
IndexedColors.RED.index);



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to