This is an automated email from the ASF dual-hosted git repository. kinow pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/commons-imaging.git.
from 5efcccd Simplify conditions and avoid extra computations. new 7f1c53e [IMAGING-159] Add ImagingParameters interface and BaseParameters (POJO) new 64234d4 [IMAGING-159] Replace interface with base class, and more WIP of formats new 9ab24f9 [IMAGING-159] Use ImagingParameters and define new classes as needed for other formats new 6f6e6e2 [IMAGING-159] Update code and parameters after reading tests and examples new b1970c7 [IMAGING-159] Update test and examples new d689c03 [IMAGING-159] Replace tabs by spaces and fix compiler issues new 461d385 [IMAGING-159] Add a method to create a parameter object, and a list of extensions to each format, and a default extension. Update tests. new dfaa610 [IMAGING-159] Need to pass a format to some Imaging as we don't have the parameters. Fix remaining unit tests new 98b3919 [IMAGING-159] Fix CI build errors new 07e0761 [IMAGING-159] Fix spotbugs errors new d9c1a0b [IMAGING-159] Remove unused code new 4785f10 [IMAGING-159] @darkma773r feedback, making the image format of a parameter instance immutable new 414d9e1 [IMAGING-159] Use List with generics instead of Array, update related code, and fix few issues found after IDE analysis new ad72bb1 [IMAGING-159] Simplify how the ImageFormats enum creates parameters. Replace reflection by a supplier (thanks @darkma773r) new 561945d [IMAGING-159] Remove formats from parameters (the parsers already know, thanks @darkma773r) new fe3199e [IMAGING-159] TIFF parameters implement single call to specify sub-image new ec786f1 [IMAGING-159] Apply parts of @darkma773r design suggestion, reducing the generics suppressed warnings new 761d284 [IMAGING-159] Update the rest of the code after rebasing onto master new 0a71367 [IMAGING-159] Remove unused factory, and prevent NPE (thanks @darkma773r) new 9b17258 [IMAGING-159] Jpeg parameter does not need to extend Tiff parameter new 406f140 [IMAGING-159] Remove Imaging class methods that accept parameters (users must use the ImageParsers directly) new 6fc547e [IMAGING-159] Changelog new 78b5b25 [IMAGING-159][IMAGING-320] Update test to use new TiffImagingParameter class new 8825e26 [IMAGING-159] Remove ImageParser#isStrict, please use param.isStrict() now The 24 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: src/changes/changes.xml | 15 + src/conf/spotbugs-exclude-filter.xml | 10 + .../org/apache/commons/imaging/ImageFormat.java | 4 +- .../org/apache/commons/imaging/ImageFormats.java | 59 +- .../org/apache/commons/imaging/ImageParser.java | 122 +- .../java/org/apache/commons/imaging/Imaging.java | 1214 +++++--------------- .../apache/commons/imaging/ImagingConstants.java | 92 -- .../apache/commons/imaging/ImagingParameters.java | 88 ++ .../commons/imaging/color/ColorConversions.java | 36 +- .../commons/imaging/common/XmpEmbeddable.java | 3 +- ...mageMetadata.java => XmpImagingParameters.java} | 22 +- .../imaging/common/itu_t4/T4_T6_Tables.java | 4 +- .../imaging/formats/bmp/BmpImageParser.java | 85 +- ...package-info.java => BmpImagingParameters.java} | 10 +- .../imaging/formats/dcx/DcxImageParser.java | 70 +- .../imaging/formats/gif/GifImageParser.java | 50 +- ...package-info.java => GifImagingParameters.java} | 10 +- .../imaging/formats/icns/IcnsImageParser.java | 55 +- .../Block.java => icns/IcnsImagingParameters.java} | 18 +- .../imaging/formats/ico/IcoImageParser.java | 44 +- .../Block.java => ico/IcoImagingParameters.java} | 18 +- .../imaging/formats/jpeg/JpegImageParser.java | 110 +- .../Block.java => JpegImagingParameters.java} | 18 +- .../imaging/formats/jpeg/iptc/IptcParser.java | 6 +- .../formats/jpeg/iptc/JpegIptcRewriter.java | 5 +- .../formats/jpeg/segments/App13Segment.java | 10 +- .../commons/imaging/formats/pcx/PcxConstants.java | 5 - .../imaging/formats/pcx/PcxImageParser.java | 37 +- .../imaging/formats/pcx/PcxImagingParameters.java | 54 + .../commons/imaging/formats/pcx/PcxWriter.java | 71 +- .../commons/imaging/formats/png/PngConstants.java | 25 - .../imaging/formats/png/PngImageParser.java | 34 +- .../imaging/formats/png/PngImagingParameters.java | 95 ++ .../commons/imaging/formats/png/PngWriter.java | 89 +- .../commons/imaging/formats/pnm/PamWriter.java | 3 +- .../commons/imaging/formats/pnm/PbmWriter.java | 3 +- .../commons/imaging/formats/pnm/PgmWriter.java | 3 +- .../imaging/formats/pnm/PnmImageParser.java | 68 +- .../imaging/formats/pnm/PnmImagingParameters.java} | 41 +- .../commons/imaging/formats/pnm/PnmWriter.java | 3 +- .../commons/imaging/formats/pnm/PpmWriter.java | 3 +- .../imaging/formats/psd/PsdImageParser.java | 26 +- ...package-info.java => PsdImagingParameters.java} | 10 +- .../imaging/formats/rgbe/RgbeImageParser.java | 38 +- .../Block.java => rgbe/RgbeImagingParameters.java} | 18 +- .../imaging/formats/tiff/TiffDirectory.java | 15 +- .../imaging/formats/tiff/TiffImageData.java | 2 +- .../imaging/formats/tiff/TiffImageParser.java | 174 ++- .../formats/tiff/TiffImagingParameters.java | 249 ++++ .../commons/imaging/formats/tiff/TiffReader.java | 30 +- .../formats/tiff/constants/TiffConstants.java | 45 - .../formats/tiff/write/TiffImageWriterBase.java | 67 +- .../tiff/write/TiffImageWriterLossless.java | 3 +- .../imaging/formats/wbmp/WbmpImageParser.java | 47 +- .../Block.java => wbmp/WbmpImagingParameters.java} | 18 +- .../imaging/formats/xbm/XbmImageParser.java | 42 +- .../Block.java => xbm/XbmImagingParameters.java} | 18 +- .../imaging/formats/xpm/XpmImageParser.java | 50 +- .../Block.java => xpm/XpmImagingParameters.java} | 19 +- .../org/apache/commons/imaging/internal/Util.java | 71 ++ .../common/bytesource/ByteSourceImageTest.java | 71 +- .../bytesource/ByteSourceInputStreamTest.java | 19 +- .../imaging/common/bytesource/ByteSourceTest.java | 4 +- .../examples/ApacheImagingSpeedAndMemoryTest.java | 4 +- .../commons/imaging/examples/ImageReadExample.java | 23 +- .../imaging/examples/ImageWriteExample.java | 28 +- .../commons/imaging/examples/SampleUsage.java | 21 +- .../tiff/ExampleReadFloatingPointData.java | 7 +- .../examples/tiff/ReadAndRenderFloatingPoint.java | 11 +- .../imaging/examples/tiff/ReadTagsAndImages.java | 4 +- .../imaging/formats/bmp/BmpImageParserTest.java | 5 +- .../commons/imaging/formats/bmp/BmpReadTest.java | 5 +- .../imaging/formats/bmp/BmpRoundtripTest.java | 32 +- .../commons/imaging/formats/dcx/DcxReadTest.java | 15 +- .../commons/imaging/formats/gif/GifReadTest.java | 7 +- .../commons/imaging/formats/icns/IcnsReadTest.java | 39 +- .../commons/imaging/formats/ico/IcoReadTest.java | 15 +- .../commons/imaging/formats/jpeg/JpegReadTest.java | 41 +- .../jpeg/JpegWithInvalidDhtSegmentTest.java | 7 +- .../formats/jpeg/JpegWithJpegThumbnailTest.java | 15 +- .../imaging/formats/jpeg/exif/AsciiFieldTest.java | 22 +- .../imaging/formats/jpeg/exif/ExifDumpTest.java | 20 +- .../commons/imaging/formats/jpeg/exif/GpsTest.java | 15 +- .../formats/jpeg/exif/MicrosoftTagTest.java | 16 +- .../formats/jpeg/exif/SpecificExifTagTest.java | 20 +- .../imaging/formats/jpeg/iptc/IptcAddTest.java | 8 +- .../imaging/formats/jpeg/iptc/IptcDumpTest.java | 21 +- .../imaging/formats/jpeg/iptc/IptcParserTest.java | 4 +- .../imaging/formats/jpeg/iptc/IptcUpdateTest.java | 20 +- .../formats/jpeg/segments/NegSizeSegmentTest.java | 4 +- .../imaging/formats/jpeg/xmp/JpegXmpDumpTest.java | 5 +- .../formats/jpeg/xmp/JpegXmpRewriteTest.java | 5 +- .../commons/imaging/formats/pam/PamReadTest.java | 17 +- .../commons/imaging/formats/pcx/PcxReadTest.java | 17 +- .../imaging/formats/png/ConvertPngToGifTest.java | 23 +- .../formats/png/PngMultipleRoundtripTest.java | 27 +- .../commons/imaging/formats/png/PngReadTest.java | 5 +- .../commons/imaging/formats/png/PngTextTest.java | 28 +- .../png/PngWithInvalidPngChunkSizeTest.java | 41 +- .../formats/png/PngWriteForceTrueColorText.java | 29 +- .../imaging/formats/png/PngWriteReadTest.java | 93 +- .../imaging/formats/pnm/PnmImageParserTest.java | 33 +- .../commons/imaging/formats/psd/PsdReadTest.java | 19 +- .../commons/imaging/formats/rgbe/RgbeReadTest.java | 4 +- .../formats/tiff/TiffAlphaRoundTripTest.java | 5 +- .../imaging/formats/tiff/TiffCcittTest.java | 86 +- .../tiff/TiffFloatingPointMultivariableTest.java | 12 +- .../formats/tiff/TiffFloatingPointReadTest.java | 21 +- .../tiff/TiffFloatingPointRoundTripTest.java | 6 +- .../commons/imaging/formats/tiff/TiffLzwTest.java | 4 +- .../imaging/formats/tiff/TiffRasterDataTest.java | 1 - .../commons/imaging/formats/tiff/TiffReadTest.java | 2 - .../formats/tiff/TiffReadWriteTagsTest.java | 3 +- .../formats/tiff/TiffRoundTripInt32Test.java | 17 +- .../imaging/formats/tiff/TiffRoundtripTest.java | 27 +- .../formats/tiff/TiffShortIntRoundTripTest.java | 17 +- .../imaging/formats/tiff/TiffSubImageTest.java | 72 +- .../commons/imaging/formats/wbmp/WbmpReadTest.java | 17 +- .../commons/imaging/formats/xbm/XbmReadTest.java | 17 +- .../commons/imaging/formats/xmp/XmpDumpTest.java | 3 +- .../commons/imaging/formats/xmp/XmpUpdateTest.java | 60 +- .../commons/imaging/formats/xpm/XpmReadTest.java | 17 +- .../commons/imaging/roundtrip/FormatInfo.java | 2 +- .../imaging/roundtrip/FullColorRoundtrip.java | 2 +- .../roundtrip/NullParametersRoundtripTest.java | 22 +- .../imaging/roundtrip/PixelDensityRoundtrip.java | 28 +- .../commons/imaging/roundtrip/RoundtripBase.java | 45 +- 127 files changed, 2115 insertions(+), 2894 deletions(-) create mode 100644 src/main/java/org/apache/commons/imaging/ImagingParameters.java copy src/main/java/org/apache/commons/imaging/common/{ImageMetadata.java => XmpImagingParameters.java} (70%) copy src/main/java/org/apache/commons/imaging/formats/bmp/{package-info.java => BmpImagingParameters.java} (84%) copy src/main/java/org/apache/commons/imaging/formats/gif/{package-info.java => GifImagingParameters.java} (82%) copy src/main/java/org/apache/commons/imaging/formats/{jpeg/decoder/Block.java => icns/IcnsImagingParameters.java} (66%) copy src/main/java/org/apache/commons/imaging/formats/{jpeg/decoder/Block.java => ico/IcoImagingParameters.java} (66%) copy src/main/java/org/apache/commons/imaging/formats/jpeg/{decoder/Block.java => JpegImagingParameters.java} (66%) create mode 100644 src/main/java/org/apache/commons/imaging/formats/pcx/PcxImagingParameters.java create mode 100644 src/main/java/org/apache/commons/imaging/formats/png/PngImagingParameters.java copy src/{test/java/org/apache/commons/imaging/formats/pnm/PpmFileInfoTest.java => main/java/org/apache/commons/imaging/formats/pnm/PnmImagingParameters.java} (56%) copy src/main/java/org/apache/commons/imaging/formats/psd/{package-info.java => PsdImagingParameters.java} (84%) copy src/main/java/org/apache/commons/imaging/formats/{jpeg/decoder/Block.java => rgbe/RgbeImagingParameters.java} (66%) create mode 100644 src/main/java/org/apache/commons/imaging/formats/tiff/TiffImagingParameters.java copy src/main/java/org/apache/commons/imaging/formats/{jpeg/decoder/Block.java => wbmp/WbmpImagingParameters.java} (66%) copy src/main/java/org/apache/commons/imaging/formats/{jpeg/decoder/Block.java => xbm/XbmImagingParameters.java} (66%) copy src/main/java/org/apache/commons/imaging/formats/{jpeg/decoder/Block.java => xpm/XpmImagingParameters.java} (63%) create mode 100644 src/main/java/org/apache/commons/imaging/internal/Util.java