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()) {