Go to the documentation of this file.
19package org.sleuthkit.autopsy.datasourcesummary.uiutils;
21import com.google.common.util.concurrent.ThreadFactoryBuilder;
22import java.util.ArrayList;
23import java.util.Collections;
25import java.util.concurrent.ExecutorService;
26import java.util.concurrent.Executors;
27import java.util.concurrent.Future;
28import java.util.stream.Collectors;
29import javax.swing.SwingWorker;
40 private final ExecutorService
executorService = Executors.newFixedThreadPool(1,
new ThreadFactoryBuilder().setNameFormat(
"SwingWorkerSequentialExecutor-%d").build());
41 private List<? extends SwingWorker<?, ?>>
workers = Collections.emptyList();
42 private List<Future<?>>
futures = Collections.emptyList();
50 public synchronized void submit(List<? extends SwingWorker<?, ?>> submittedWorkers) {
55 if (submittedWorkers ==
null) {
59 this.workers =
new ArrayList<>(submittedWorkers);
62 this.futures = this.workers.stream()
64 .collect(Collectors.toList());
71 futures.forEach((f) -> f.cancel(
true));
72 workers = Collections.emptyList();
73 futures = Collections.emptyList();
85 for (Future<?> future :
futures) {
86 if (!future.isDone()) {
synchronized void submit(List<? extends SwingWorker<?, ?> > submittedWorkers)
List<? extends SwingWorker<?, ?> > workers
final ExecutorService executorService
synchronized boolean isRunning()
List< Future<?> > futures
synchronized void cancelRunning()
Copyright © 2012-2024 Sleuth Kit Labs. Generated on:
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.