This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-imaging.git

commit d9c27638eda92186880b8d8f80a9162e65b65d25
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Tue May 16 10:37:18 2023 -0400

    Encapsulate PngChunkScal
---
 .../imaging/formats/png/PngImageParser.java        | 10 +--
 .../imaging/formats/png/chunks/PngChunkScal.java   | 74 +++++++++++++---------
 .../formats/png/chunks/PngChunkScalTest.java       | 12 ++--
 3 files changed, 54 insertions(+), 42 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
index 021b7e0e..f103510c 100644
--- a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
@@ -428,12 +428,12 @@ public class PngImageParser extends 
ImageParser<PngImagingParameters>  implement
         }
         if (sCALs.size() == 1) {
             final PngChunkScal pngChunkScal = (PngChunkScal) sCALs.get(0);
-            if (pngChunkScal.unitSpecifier == 1) {
-                physicalScale = 
PhysicalScale.createFromMeters(pngChunkScal.unitsPerPixelXAxis,
-                      pngChunkScal.unitsPerPixelYAxis);
+            if (pngChunkScal.getUnitSpecifier() == 1) {
+                physicalScale = 
PhysicalScale.createFromMeters(pngChunkScal.getUnitsPerPixelXAxis(),
+                      pngChunkScal.getUnitsPerPixelYAxis());
             } else {
-                physicalScale = 
PhysicalScale.createFromRadians(pngChunkScal.unitsPerPixelXAxis,
-                      pngChunkScal.unitsPerPixelYAxis);
+                physicalScale = 
PhysicalScale.createFromRadians(pngChunkScal.getUnitsPerPixelXAxis(),
+                      pngChunkScal.getUnitsPerPixelYAxis());
             }
         }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/png/chunks/PngChunkScal.java 
b/src/main/java/org/apache/commons/imaging/formats/png/chunks/PngChunkScal.java
index 2d38239d..9c026e14 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/png/chunks/PngChunkScal.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/png/chunks/PngChunkScal.java
@@ -23,42 +23,54 @@ import java.nio.charset.StandardCharsets;
 import org.apache.commons.imaging.ImagingException;
 
 public class PngChunkScal extends PngChunk {
-   public final double unitsPerPixelXAxis;
-   public final double unitsPerPixelYAxis;
-   public final int unitSpecifier;
 
-   public PngChunkScal(final int length, final int chunkType, final int crc, 
final byte[] bytes)
-         throws ImagingException {
-      super(length, chunkType, crc, bytes);
+    private final double unitsPerPixelXAxis;
+    private final double unitsPerPixelYAxis;
+    private final int unitSpecifier;
 
-      unitSpecifier = bytes[0];
-      if (unitSpecifier != 1 && unitSpecifier != 2) {
-         throw new ImagingException("PNG sCAL invalid unit specifier: " + 
unitSpecifier);
-      }
+    public PngChunkScal(final int length, final int chunkType, final int crc, 
final byte[] bytes) throws ImagingException {
+        super(length, chunkType, crc, bytes);
 
-      final int separator = findNull(bytes);
-      if (separator < 0) {
-         throw new ImagingException("PNG sCAL x and y axis value separator not 
found.");
-      }
+        unitSpecifier = bytes[0];
+        if (getUnitSpecifier() != 1 && getUnitSpecifier() != 2) {
+            throw new ImagingException("PNG sCAL invalid unit specifier: " + 
getUnitSpecifier());
+        }
 
-      final int xIndex = 1;
-      final String xStr = new String(bytes, xIndex, separator - 1, 
StandardCharsets.ISO_8859_1);
-      unitsPerPixelXAxis = toDouble(xStr);
+        final int separator = findNull(bytes);
+        if (separator < 0) {
+            throw new ImagingException("PNG sCAL x and y axis value separator 
not found.");
+        }
 
-      final int yIndex = separator + 1;
-      if (yIndex >= length) {
-         throw new ImagingException("PNG sCAL chunk missing the y axis 
value.");
-      }
+        final int xIndex = 1;
+        final String xStr = new String(bytes, xIndex, separator - 1, 
StandardCharsets.ISO_8859_1);
+        unitsPerPixelXAxis = toDouble(xStr);
 
-      final String yStr = new String(bytes, yIndex, length - yIndex, 
StandardCharsets.ISO_8859_1);
-      unitsPerPixelYAxis = toDouble(yStr);
-   }
+        final int yIndex = separator + 1;
+        if (yIndex >= length) {
+            throw new ImagingException("PNG sCAL chunk missing the y axis 
value.");
+        }
 
-   private double toDouble(final String str) throws ImagingException {
-      try {
-         return Double.parseDouble(str);
-      } catch (final NumberFormatException e) {
-         throw new ImagingException("PNG sCAL error reading axis value - " + 
str);
-      }
-   }
+        final String yStr = new String(bytes, yIndex, length - yIndex, 
StandardCharsets.ISO_8859_1);
+        unitsPerPixelYAxis = toDouble(yStr);
+    }
+
+    public int getUnitSpecifier() {
+        return unitSpecifier;
+    }
+
+    public double getUnitsPerPixelXAxis() {
+        return unitsPerPixelXAxis;
+    }
+
+    public double getUnitsPerPixelYAxis() {
+        return unitsPerPixelYAxis;
+    }
+
+    private double toDouble(final String str) throws ImagingException {
+        try {
+            return Double.parseDouble(str);
+        } catch (final NumberFormatException e) {
+            throw new ImagingException("PNG sCAL error reading axis value - " 
+ str);
+        }
+    }
 }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/png/chunks/PngChunkScalTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/png/chunks/PngChunkScalTest.java
index 96036270..baf608f6 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/png/chunks/PngChunkScalTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/png/chunks/PngChunkScalTest.java
@@ -56,9 +56,9 @@ public class PngChunkScalTest {
       final PngChunkScal pngChunkScal = new PngChunkScal(10, chunkType, 0,
             new byte[]{1, 48, 46, 48, 49, 0, 48, 46, 48, 50});
 
-      assertEquals(pngChunkScal.unitSpecifier, 1);
-      assertEquals(pngChunkScal.unitsPerPixelXAxis, 0.01, delta);
-      assertEquals(pngChunkScal.unitsPerPixelYAxis, 0.02, delta);
+      assertEquals(pngChunkScal.getUnitSpecifier(), 1);
+      assertEquals(pngChunkScal.getUnitsPerPixelXAxis(), 0.01, delta);
+      assertEquals(pngChunkScal.getUnitsPerPixelYAxis(), 0.02, delta);
    }
 
    @Test
@@ -66,8 +66,8 @@ public class PngChunkScalTest {
       final PngChunkScal pngChunkScal = new PngChunkScal(10, chunkType, 0,
             new byte[]{2, 48, 46, 48, 49, 0, 48, 46, 48, 50});
 
-      assertEquals(pngChunkScal.unitSpecifier, 2);
-      assertEquals(pngChunkScal.unitsPerPixelXAxis, 0.01, delta);
-      assertEquals(pngChunkScal.unitsPerPixelYAxis, 0.02, delta);
+      assertEquals(pngChunkScal.getUnitSpecifier(), 2);
+      assertEquals(pngChunkScal.getUnitsPerPixelXAxis(), 0.01, delta);
+      assertEquals(pngChunkScal.getUnitsPerPixelYAxis(), 0.02, delta);
    }
 }

Reply via email to