- Make the progressbar only update if it is worth updating.
diff --git a/flex-maven-tools/flex-sdk-converter/retrievers/base/src/main/java/org/apache/flex/utilities/converter/retrievers/utils/ProgressBar.java b/flex-maven-tools/flex-sdk-converter/retrievers/base/src/main/java/org/apache/flex/utilities/converter/retrievers/utils/ProgressBar.java
index c15d26b..1a1b775 100644
--- a/flex-maven-tools/flex-sdk-converter/retrievers/base/src/main/java/org/apache/flex/utilities/converter/retrievers/utils/ProgressBar.java
+++ b/flex-maven-tools/flex-sdk-converter/retrievers/base/src/main/java/org/apache/flex/utilities/converter/retrievers/utils/ProgressBar.java
@@ -24,9 +24,11 @@
public class ProgressBar {
protected long total;
+ protected int curValue;
public ProgressBar(long total) {
this.total = total;
+ this.curValue = 0;
drawOutput(0l);
}
@@ -37,11 +39,14 @@
protected void drawOutput(long current) {
final int transferredPercent = (int) Math.round(
((double) current / (double) total) * (double) 100);
- final int segmentsTransferred = transferredPercent / 2;
- final int segmentsRest = 50 - segmentsTransferred;
- System.out.print("\r" + String.format(" %3d", transferredPercent) + "% [" +
- StringUtils.repeat("=", segmentsTransferred) +
- ((segmentsRest > 0) ? ">" + StringUtils.repeat(" ", segmentsRest - 1) : "") + "] ");
+ if(transferredPercent != curValue) {
+ curValue = transferredPercent;
+ final int segmentsTransferred = transferredPercent / 2;
+ final int segmentsRest = 50 - segmentsTransferred;
+ System.out.print("\r" + String.format(" %3d", transferredPercent) + "% [" +
+ StringUtils.repeat("=", segmentsTransferred) +
+ ((segmentsRest > 0) ? ">" + StringUtils.repeat(" ", segmentsRest - 1) : "") + "] ");
+ }
}
}