Go to the documentation of this file.
19package org.sleuthkit.autopsy.datamodel.utils;
21import com.google.common.util.concurrent.ThreadFactoryBuilder;
22import java.beans.PropertyChangeEvent;
23import java.beans.PropertyChangeListener;
24import java.lang.ref.WeakReference;
25import java.util.concurrent.ExecutorService;
26import java.util.concurrent.Executors;
27import java.util.concurrent.Future;
28import java.util.logging.Level;
29import org.openide.nodes.AbstractNode;
30import org.sleuthkit.autopsy.coreutils.Logger;
31import org.sleuthkit.autopsy.datamodel.AbstractContentNode;
53 private static final ExecutorService
executor = Executors.newFixedThreadPool(
THREAD_POOL_SIZE,
new ThreadFactoryBuilder().setNameFormat(
"node-background-task-%d").build());
92 this.weakNodeRef =
new WeakReference<>(node);
93 this.weakListenerRef =
new WeakReference<>(listener);
124 T node = this.weakNodeRef.get();
125 PropertyChangeListener listener = this.weakListenerRef.get();
126 if (node ==
null || listener ==
null) {
130 if (Thread.currentThread().isInterrupted()) {
136 if (Thread.currentThread().isInterrupted()) {
140 if (changeEvent !=
null) {
141 listener.propertyChange(changeEvent);
144 }
catch (Exception ex) {
145 LOGGER.log(Level.WARNING,
"Error executing property sheet values computation background task", ex);
synchronized static Logger getLogger(String name)
static final ExecutorService executor
final WeakReference< PropertyChangeListener > weakListenerRef
AbstractNodePropertySheetTask(T node, PropertyChangeListener listener)
static final Integer THREAD_POOL_SIZE
abstract PropertyChangeEvent computePropertyValue(T node)
static final Logger LOGGER
final WeakReference< T > weakNodeRef
static Future<?> submitTask(AbstractNodePropertySheetTask<?> task)
Copyright © 2012-2024 Sleuth Kit Labs. Generated on:
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.