From 2624f889d5adadc592c015e31deeb32a8d0e3a23 Mon Sep 17 00:00:00 2001 From: Matthias Jaros Date: Thu, 2 Jul 2026 11:29:17 +0200 Subject: Added new Class ScanState in order to make Scanner stateless during scan process. Not regarding config which is given to the constructor --- src/main/java/com/it_jaros/jscanner/ProgressBar.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/main/java/com/it_jaros/jscanner/ProgressBar.java') diff --git a/src/main/java/com/it_jaros/jscanner/ProgressBar.java b/src/main/java/com/it_jaros/jscanner/ProgressBar.java index 35c8fd5..fdae944 100644 --- a/src/main/java/com/it_jaros/jscanner/ProgressBar.java +++ b/src/main/java/com/it_jaros/jscanner/ProgressBar.java @@ -15,11 +15,15 @@ import java.util.regex.Pattern; public class ProgressBar { - private final ScheduledExecutorService ui = Executors.newSingleThreadScheduledExecutor(); + private List hosts = new ArrayList<>(); private final ReentrantLock lock = new ReentrantLock(); + private final ScheduledExecutorService ui = Executors.newSingleThreadScheduledExecutor(); + private final boolean quiet; private final int columnWidth = ProgressBar.getColumnWidth(); - private List hosts; + public ProgressBar(boolean quiet) { + this.quiet = quiet; + } private static int getColumnWidth() { try { @@ -42,10 +46,9 @@ public class ProgressBar { return 120; } - public void start(boolean quiet) { - this.hosts = new ArrayList<>(); - System.out.print("Scanning targets...\n\n"); + public void start() { if (quiet) { return; } + System.out.print("Scanning targets...\n\n"); ui.scheduleAtFixedRate(() -> { lock.lock(); drawProgress(false); @@ -106,7 +109,7 @@ public class ProgressBar { return String.format("%s%s%s %s %s", label, " ".repeat(spacesBetween),statsLeft, brackets, statsRight); } - public void stop(boolean quiet) { + public void stop() { ui.shutdown(); try { ui.awaitTermination(10, TimeUnit.SECONDS); -- cgit v1.3.1