From 30d72fa828d46f5de76d70cea106c87767dc300d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vojt=C4=9Bch=20Moravec?= <theazgra@gmail.com>
Date: Sun, 26 Jul 2020 21:24:19 +0200
Subject: [PATCH] Improve the reporting to listeners.

---
 .../java/azgracompress/compression/SQImageCompressor.java  | 6 ++----
 .../java/azgracompress/compression/VQImageCompressor.java  | 6 ++----
 .../azgracompress/compression/VQImageDecompressor.java     | 7 ++++---
 3 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/main/java/azgracompress/compression/SQImageCompressor.java b/src/main/java/azgracompress/compression/SQImageCompressor.java
index 2796178..77760d8 100644
--- a/src/main/java/azgracompress/compression/SQImageCompressor.java
+++ b/src/main/java/azgracompress/compression/SQImageCompressor.java
@@ -138,7 +138,6 @@ public class SQImageCompressor extends CompressorDecompressorBase implements IIm
         int planeCounter = 0;
         for (final int planeIndex : planeIndices) {
             stopwatch.restart();
-            reportStatusToListeners(String.format("Loading plane %d.", planeIndex));
 
             ImageU16 plane = null;
 
@@ -161,14 +160,13 @@ public class SQImageCompressor extends CompressorDecompressorBase implements IIm
             assert (quantizer != null) : "Scalar Quantizer wasn't initialized.";
             assert (huffman != null) : "Huffman wasn't initialized.";
 
-            reportStatusToListeners("Compressing plane...");
             final int[] indices = quantizer.quantizeIntoIndices(plane.getData(), 1);
 
             planeDataSizes[planeCounter++] = writeHuffmanEncodedIndices(compressStream, huffman, indices);
 
             stopwatch.stop();
-            reportStatusToListeners("Plane time: " + stopwatch.getElapsedTimeString());
-            reportStatusToListeners(String.format("Finished processing of plane %d", planeIndex));
+            reportProgressListeners(planeIndex, planeIndices.length,
+                    "Compressed plane %d in %s.", planeIndex, stopwatch.getElapsedTimeString());
         }
         return planeDataSizes;
     }
diff --git a/src/main/java/azgracompress/compression/VQImageCompressor.java b/src/main/java/azgracompress/compression/VQImageCompressor.java
index 98bb498..6c02329 100644
--- a/src/main/java/azgracompress/compression/VQImageCompressor.java
+++ b/src/main/java/azgracompress/compression/VQImageCompressor.java
@@ -161,19 +161,17 @@ public class VQImageCompressor extends CompressorDecompressorBase implements IIm
                 quantizer = trainVectorQuantizerFromPlaneVectors(planeVectors);
                 huffman = createHuffmanCoder(huffmanSymbols, quantizer.getFrequencies());
                 writeQuantizerToCompressStream(quantizer, compressStream);
-                reportStatusToListeners("Wrote plane codebook.");
             }
 
             assert (quantizer != null);
 
-            reportProgressListeners(planeCounter, planeIndices.length, "Compressing plane %d", planeIndex);
             final int[] indices = quantizer.quantizeIntoIndices(planeVectors, options.getWorkerCount());
 
             planeDataSizes[planeCounter++] = writeHuffmanEncodedIndices(compressStream, huffman, indices);
 
             stopwatch.stop();
-            reportStatusToListeners("Plane time: " + stopwatch.getElapsedTimeString());
-            reportStatusToListeners(String.format("Finished processing of plane %d.", planeIndex));
+            reportProgressListeners(planeIndex, planeIndices.length,
+                    "Finished compression of plane %d in %s.", planeIndex, stopwatch.getElapsedTimeString());
         }
         return planeDataSizes;
     }
diff --git a/src/main/java/azgracompress/compression/VQImageDecompressor.java b/src/main/java/azgracompress/compression/VQImageDecompressor.java
index 1e1d61e..ed2935a 100644
--- a/src/main/java/azgracompress/compression/VQImageDecompressor.java
+++ b/src/main/java/azgracompress/compression/VQImageDecompressor.java
@@ -132,8 +132,6 @@ public class VQImageDecompressor extends CompressorDecompressorBase implements I
             }
             assert (codebook != null && huffman != null);
 
-            reportStatusToListeners(String.format("Decompressing plane %d...", planeIndex));
-
             byte[] decompressedPlaneData = null;
 
             final int planeDataSize = (int) header.getPlaneDataSizes()[planeIndex];
@@ -176,7 +174,8 @@ public class VQImageDecompressor extends CompressorDecompressorBase implements I
             }
 
             stopwatch.stop();
-            reportStatusToListeners(String.format("Decompressed plane %d in %s.", planeIndex, stopwatch.getElapsedTimeString()));
+            reportProgressListeners(planeIndex, planeCountForDecompression,
+                    "Decompressed plane %d in %s", planeIndex, stopwatch.getElapsedTimeString());
         }
     }
 
@@ -240,6 +239,8 @@ public class VQImageDecompressor extends CompressorDecompressorBase implements I
             } catch (Exception ex) {
                 throw new ImageDecompressionException("Unable to read indices from InBitStream.", ex);
             }
+            reportProgressListeners(planeIndex, planeCountForDecompression,
+                    "Decompressed plane %d.", planeIndex);
         }
     }
 }
-- 
GitLab