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 82a466828fa5a13aa508764a9d040496da592457
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Dec 23 15:20:59 2023 -0500

    Refactor common code
---
 .../imaging/formats/pnm/PnmImageParser.java        | 27 +++++++++-------------
 1 file changed, 11 insertions(+), 16 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
index c3aaa235..d78f2de1 100644
--- a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
@@ -63,6 +63,13 @@ public class PnmImageParser extends 
AbstractImageParser<PnmImagingParameters> {
         super(ByteOrder.LITTLE_ENDIAN);
     }
 
+    private int checkHasMoreTokens(final StringTokenizer tokenizer, final 
String type) throws ImagingException {
+        if (!tokenizer.hasMoreTokens()) {
+            throw new ImagingException("PAM header has no " + type + " value");
+        }
+        return Integer.parseInt(tokenizer.nextToken());
+    }
+
     @Override
     public boolean dumpImageFile(final PrintWriter pw, final ByteSource 
byteSource) throws ImagingException, IOException {
         pw.println("pnm.dumpImageFile");
@@ -248,28 +255,16 @@ public class PnmImageParser extends 
AbstractImageParser<PnmImagingParameters> {
                 final String type = tokenizer.nextToken();
                 if ("WIDTH".equals(type)) {
                     seenWidth = true;
-                    if (!tokenizer.hasMoreTokens()) {
-                        throw new ImagingException("PAM header has no WIDTH 
value");
-                    }
-                    width = Integer.parseInt(tokenizer.nextToken());
+                    width = checkHasMoreTokens(tokenizer, type);
                 } else if ("HEIGHT".equals(type)) {
                     seenHeight = true;
-                    if (!tokenizer.hasMoreTokens()) {
-                        throw new ImagingException("PAM header has no HEIGHT 
value");
-                    }
-                    height = Integer.parseInt(tokenizer.nextToken());
+                    height = checkHasMoreTokens(tokenizer, type);
                 } else if ("DEPTH".equals(type)) {
                     seenDepth = true;
-                    if (!tokenizer.hasMoreTokens()) {
-                        throw new ImagingException("PAM header has no DEPTH 
value");
-                    }
-                    depth = Integer.parseInt(tokenizer.nextToken());
+                    depth = checkHasMoreTokens(tokenizer, type);
                 } else if ("MAXVAL".equals(type)) {
                     seenMaxVal = true;
-                    if (!tokenizer.hasMoreTokens()) {
-                        throw new ImagingException("PAM header has no MAXVAL 
value");
-                    }
-                    maxVal = Integer.parseInt(tokenizer.nextToken());
+                    maxVal = checkHasMoreTokens(tokenizer, type);
                 } else if ("TUPLTYPE".equals(type)) {
                     seenTupleType = true;
                     if (!tokenizer.hasMoreTokens()) {

Reply via email to