mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 10:17:41 +00:00
Refine events package classes
This commit is contained in:
parent
a9ca930a60
commit
ba2ecb8ab3
@ -191,7 +191,7 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
private boolean hasData = false;
|
private boolean hasData = false;
|
||||||
|
|
||||||
private static final LocalPublisher eventPublisher = new LocalPublisher();
|
private static final LocalPublisher eventPublisher = new LocalPublisher();
|
||||||
private RemotePublisher messenger;
|
private RemotePublisher remoteEventPublisher;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for the Case class
|
* Constructor for the Case class
|
||||||
@ -207,7 +207,7 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
this.services = new Services(db);
|
this.services = new Services(db);
|
||||||
if (CaseType.MULTI_USER_CASE == this.caseType) {
|
if (CaseType.MULTI_USER_CASE == this.caseType) {
|
||||||
try {
|
try {
|
||||||
this.messenger = new RemotePublisher(this.name, eventPublisher, UserPreferences.getMessageServiceConnectionInfo());
|
this.remoteEventPublisher = new RemotePublisher(this.name, eventPublisher, UserPreferences.getMessageServiceConnectionInfo());
|
||||||
} catch (URISyntaxException | JMSException ex) {
|
} catch (URISyntaxException | JMSException ex) {
|
||||||
// RJCTODO: Add some sort of notification to user.
|
// RJCTODO: Add some sort of notification to user.
|
||||||
logger.log(Level.SEVERE, "Failed to start messenger", ex);
|
logger.log(Level.SEVERE, "Failed to start messenger", ex);
|
||||||
@ -607,7 +607,7 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
changeCase(null);
|
changeCase(null);
|
||||||
try {
|
try {
|
||||||
if (CaseType.MULTI_USER_CASE == this.caseType) {
|
if (CaseType.MULTI_USER_CASE == this.caseType) {
|
||||||
messenger.stop();
|
remoteEventPublisher.stop();
|
||||||
}
|
}
|
||||||
services.close();
|
services.close();
|
||||||
this.xmlcm.close(); // close the xmlcm
|
this.xmlcm.close(); // close the xmlcm
|
||||||
@ -976,7 +976,7 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
* @param eventNames The events the subscriber is interested in.
|
* @param eventNames The events the subscriber is interested in.
|
||||||
* @param subscriber The subscriber to add.
|
* @param subscriber The subscriber to add.
|
||||||
*/
|
*/
|
||||||
public static void addEventSubscriber(Collection<String> eventNames, PropertyChangeListener subscriber) {
|
public static void addEventSubscriber(Set<String> eventNames, PropertyChangeListener subscriber) {
|
||||||
eventPublisher.addSubscriber(eventNames, subscriber);
|
eventPublisher.addSubscriber(eventNames, subscriber);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1009,7 +1009,7 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
* @param eventNames The event the subscriber is no longer interested in.
|
* @param eventNames The event the subscriber is no longer interested in.
|
||||||
* @param subscriber The subscriber to add.
|
* @param subscriber The subscriber to add.
|
||||||
*/
|
*/
|
||||||
public static void removeEventSubscriber(Collection<String> eventNames, PropertyChangeListener subscriber) {
|
public static void removeEventSubscriber(Set<String> eventNames, PropertyChangeListener subscriber) {
|
||||||
eventPublisher.removeSubscriber(eventNames, subscriber);
|
eventPublisher.removeSubscriber(eventNames, subscriber);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1019,9 +1019,9 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
* @param event The event to send.
|
* @param event The event to send.
|
||||||
*/
|
*/
|
||||||
public void sendEventMessage(AutopsyEvent event) {
|
public void sendEventMessage(AutopsyEvent event) {
|
||||||
if (CaseType.MULTI_USER_CASE == this.caseType && null != messenger) {
|
if (CaseType.MULTI_USER_CASE == this.caseType && null != remoteEventPublisher) {
|
||||||
try {
|
try {
|
||||||
messenger.send(event);
|
remoteEventPublisher.send(event);
|
||||||
} catch (JMSException ex) {
|
} catch (JMSException ex) {
|
||||||
logger.log(Level.SEVERE, String.format("Failed to send %s event message", event.getPropertyName()), ex);
|
logger.log(Level.SEVERE, String.format("Failed to send %s event message", event.getPropertyName()), ex);
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ public final class LocalPublisher {
|
|||||||
* @param eventNames The events the subscriber is interested in.
|
* @param eventNames The events the subscriber is interested in.
|
||||||
* @param subscriber The subscriber to add.
|
* @param subscriber The subscriber to add.
|
||||||
*/
|
*/
|
||||||
synchronized public void addSubscriber(Collection<String> eventNames, PropertyChangeListener subscriber) {
|
synchronized public void addSubscriber(Set<String> eventNames, PropertyChangeListener subscriber) {
|
||||||
for (String eventName : eventNames) {
|
for (String eventName : eventNames) {
|
||||||
addSubscriber(eventName, subscriber);
|
addSubscriber(eventName, subscriber);
|
||||||
}
|
}
|
||||||
@ -83,7 +83,7 @@ public final class LocalPublisher {
|
|||||||
* @param eventNames The events the subscriber is no longer interested in.
|
* @param eventNames The events the subscriber is no longer interested in.
|
||||||
* @param subscriber The subscriber to remove.
|
* @param subscriber The subscriber to remove.
|
||||||
*/
|
*/
|
||||||
synchronized public void removeSubscriber(Collection<String> eventNames, PropertyChangeListener subscriber) {
|
synchronized public void removeSubscriber(Set<String> eventNames, PropertyChangeListener subscriber) {
|
||||||
for (String eventName : eventNames) {
|
for (String eventName : eventNames) {
|
||||||
removeSubscriber(eventName, subscriber);
|
removeSubscriber(eventName, subscriber);
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,7 @@ import java.util.Date;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
@ -36,6 +37,8 @@ import java.util.concurrent.Executors;
|
|||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
import javax.jms.JMSException;
|
import javax.jms.JMSException;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import org.netbeans.api.progress.ProgressHandle;
|
import org.netbeans.api.progress.ProgressHandle;
|
||||||
@ -98,28 +101,24 @@ public class IngestManager {
|
|||||||
private int numberOfFileIngestThreads;
|
private int numberOfFileIngestThreads;
|
||||||
private final ExecutorService fileIngestThreadPool;
|
private final ExecutorService fileIngestThreadPool;
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* The ingest manager uses the property change feature from JavaBeans as an
|
* The ingest manager uses the property change feature from JavaBeans as an
|
||||||
* application event publishing mechanism. There are two kinds of events,
|
* application event publishing mechanism. There are two kinds of events,
|
||||||
ingest job events and ingest module events. Events are published locally
|
* ingest job events and ingest module events. Events are published locally
|
||||||
(via LocalPublisher) and remotely (via RemotePublisher) in a dedicated event
|
* (via LocalPublisher) and remotely (via RemotePublisher) in a dedicated
|
||||||
publishing thread.
|
* event publishing thread.
|
||||||
*/
|
*/
|
||||||
private static final Map<IngestJobEvent, String> jobEventToName = new HashMap<>();
|
private static final Set<String> jobEventNames = Stream.of(IngestJobEvent.values())
|
||||||
private static final Map<IngestModuleEvent, String> moduleEventToName = new HashMap<>();
|
.map(IngestJobEvent::toString)
|
||||||
// RJCTODO: Can this be done with lambdas?
|
.collect(Collectors.toSet());
|
||||||
static {
|
private final LocalPublisher localJobEventPublisher;
|
||||||
for (IngestJobEvent event : IngestJobEvent.values()) {
|
private RemotePublisher remoteJobEventPublisher;
|
||||||
jobEventToName.put(event, event.toString());
|
|
||||||
}
|
private static final Set<String> moduleEventNames = Stream.of(IngestModuleEvent.values())
|
||||||
for (IngestModuleEvent event : IngestModuleEvent.values()) {
|
.map(IngestModuleEvent::toString)
|
||||||
moduleEventToName.put(event, event.toString());
|
.collect(Collectors.toSet());
|
||||||
}
|
private final LocalPublisher localModuleEventPublisher;
|
||||||
}
|
private RemotePublisher remoteModuleEventPublisher;
|
||||||
private final LocalPublisher jobEventPublisher;
|
|
||||||
private RemotePublisher jobEventMessenger;
|
|
||||||
private final LocalPublisher moduleEventPublisher;
|
|
||||||
private RemotePublisher moduleEventMessenger;
|
|
||||||
private final ExecutorService eventPublishingExecutor;
|
private final ExecutorService eventPublishingExecutor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -246,9 +245,9 @@ public class IngestManager {
|
|||||||
this.ingestThreadActivitySnapshots = new ConcurrentHashMap<>();
|
this.ingestThreadActivitySnapshots = new ConcurrentHashMap<>();
|
||||||
this.ingestErrorMessagePosts = new AtomicLong(0L);
|
this.ingestErrorMessagePosts = new AtomicLong(0L);
|
||||||
this.ingestMonitor = new IngestMonitor();
|
this.ingestMonitor = new IngestMonitor();
|
||||||
this.moduleEventPublisher = new LocalPublisher();
|
this.localModuleEventPublisher = new LocalPublisher();
|
||||||
this.eventPublishingExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IM-ingest-events-%d").build()); //NON-NLS
|
this.eventPublishingExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IM-ingest-events-%d").build()); //NON-NLS
|
||||||
this.jobEventPublisher = new LocalPublisher();
|
this.localJobEventPublisher = new LocalPublisher();
|
||||||
this.dataSourceIngestThreadPool = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IM-data-source-ingest-%d").build()); //NON-NLS
|
this.dataSourceIngestThreadPool = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IM-data-source-ingest-%d").build()); //NON-NLS
|
||||||
this.startIngestJobsThreadPool = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IM-start-ingest-jobs-%d").build()); //NON-NLS
|
this.startIngestJobsThreadPool = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IM-start-ingest-jobs-%d").build()); //NON-NLS
|
||||||
this.nextThreadId = new AtomicLong(0L);
|
this.nextThreadId = new AtomicLong(0L);
|
||||||
@ -313,14 +312,14 @@ public class IngestManager {
|
|||||||
Case openedCase = Case.getCurrentCase();
|
Case openedCase = Case.getCurrentCase();
|
||||||
if (Case.CaseType.MULTI_USER_CASE == openedCase.getCaseType()) {
|
if (Case.CaseType.MULTI_USER_CASE == openedCase.getCaseType()) {
|
||||||
try {
|
try {
|
||||||
jobEventMessenger = new RemotePublisher(openedCase.getName(), jobEventPublisher, UserPreferences.getMessageServiceConnectionInfo());
|
remoteJobEventPublisher = new RemotePublisher(openedCase.getName(), localJobEventPublisher, UserPreferences.getMessageServiceConnectionInfo());
|
||||||
} catch (URISyntaxException | JMSException ex) {
|
} catch (URISyntaxException | JMSException ex) {
|
||||||
logger.log(Level.SEVERE, "Failed to start messenger, cannot publish job events to remotes", ex);
|
logger.log(Level.SEVERE, "Failed to start remote job events publisher", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
moduleEventMessenger = new RemotePublisher(openedCase.getName(), moduleEventPublisher, UserPreferences.getMessageServiceConnectionInfo());
|
remoteModuleEventPublisher = new RemotePublisher(openedCase.getName(), localModuleEventPublisher, UserPreferences.getMessageServiceConnectionInfo());
|
||||||
} catch (URISyntaxException | JMSException ex) {
|
} catch (URISyntaxException | JMSException ex) {
|
||||||
logger.log(Level.SEVERE, "Failed to start messenger, cannot publish module events to remotes", ex);
|
logger.log(Level.SEVERE, "Failed to start remote module events publisher", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IllegalStateException ex) {
|
} catch (IllegalStateException ex) {
|
||||||
@ -329,11 +328,11 @@ public class IngestManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
synchronized void handleCaseClosed() {
|
synchronized void handleCaseClosed() {
|
||||||
if (null != jobEventMessenger) {
|
if (null != remoteJobEventPublisher) {
|
||||||
jobEventMessenger.stop();
|
remoteJobEventPublisher.stop();
|
||||||
}
|
}
|
||||||
if (null != moduleEventMessenger) {
|
if (null != remoteModuleEventPublisher) {
|
||||||
moduleEventMessenger.stop();
|
remoteModuleEventPublisher.stop();
|
||||||
}
|
}
|
||||||
this.jobCreationIsEnabled = false;
|
this.jobCreationIsEnabled = false;
|
||||||
cancelAllIngestJobs();
|
cancelAllIngestJobs();
|
||||||
@ -557,7 +556,7 @@ public class IngestManager {
|
|||||||
* @param listener The PropertyChangeListener to register.
|
* @param listener The PropertyChangeListener to register.
|
||||||
*/
|
*/
|
||||||
public void addIngestJobEventListener(final PropertyChangeListener listener) {
|
public void addIngestJobEventListener(final PropertyChangeListener listener) {
|
||||||
jobEventPublisher.addSubscriber(jobEventToName.values(), listener);
|
localJobEventPublisher.addSubscriber(jobEventNames, listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -566,7 +565,7 @@ public class IngestManager {
|
|||||||
* @param listener The PropertyChangeListener to unregister.
|
* @param listener The PropertyChangeListener to unregister.
|
||||||
*/
|
*/
|
||||||
public void removeIngestJobEventListener(final PropertyChangeListener listener) {
|
public void removeIngestJobEventListener(final PropertyChangeListener listener) {
|
||||||
jobEventPublisher.removeSubscriber(jobEventToName.values(), listener);
|
localJobEventPublisher.removeSubscriber(jobEventNames, listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -575,7 +574,7 @@ public class IngestManager {
|
|||||||
* @param listener The PropertyChangeListener to register.
|
* @param listener The PropertyChangeListener to register.
|
||||||
*/
|
*/
|
||||||
public void addIngestModuleEventListener(final PropertyChangeListener listener) {
|
public void addIngestModuleEventListener(final PropertyChangeListener listener) {
|
||||||
moduleEventPublisher.addSubscriber(moduleEventToName.values(), listener);
|
localModuleEventPublisher.addSubscriber(moduleEventNames, listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -584,7 +583,7 @@ public class IngestManager {
|
|||||||
* @param listener The PropertyChangeListener to unregister.
|
* @param listener The PropertyChangeListener to unregister.
|
||||||
*/
|
*/
|
||||||
public void removeIngestModuleEventListener(final PropertyChangeListener listener) {
|
public void removeIngestModuleEventListener(final PropertyChangeListener listener) {
|
||||||
moduleEventPublisher.removeSubscriber(moduleEventToName.values(), listener);
|
localModuleEventPublisher.removeSubscriber(moduleEventNames, listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -596,8 +595,8 @@ public class IngestManager {
|
|||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static void addPropertyChangeListener(final PropertyChangeListener listener) {
|
public static void addPropertyChangeListener(final PropertyChangeListener listener) {
|
||||||
instance.jobEventPublisher.addSubscriber(jobEventToName.values(), listener);
|
instance.localJobEventPublisher.addSubscriber(jobEventNames, listener);
|
||||||
instance.moduleEventPublisher.addSubscriber(moduleEventToName.values(), listener);
|
instance.localModuleEventPublisher.addSubscriber(moduleEventNames, listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -609,8 +608,8 @@ public class IngestManager {
|
|||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static void removePropertyChangeListener(final PropertyChangeListener listener) {
|
public static void removePropertyChangeListener(final PropertyChangeListener listener) {
|
||||||
instance.jobEventPublisher.removeSubscriber(jobEventToName.values(), listener);
|
instance.localJobEventPublisher.removeSubscriber(jobEventNames, listener);
|
||||||
instance.moduleEventPublisher.removeSubscriber(moduleEventToName.values(), listener);
|
instance.localModuleEventPublisher.removeSubscriber(moduleEventNames, listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -620,7 +619,7 @@ public class IngestManager {
|
|||||||
*/
|
*/
|
||||||
void fireIngestJobStarted(long ingestJobId) {
|
void fireIngestJobStarted(long ingestJobId) {
|
||||||
AutopsyEvent event = new AutopsyEvent(AutopsyEvent.SourceType.LOCAL, IngestJobEvent.STARTED.toString(), ingestJobId, null);
|
AutopsyEvent event = new AutopsyEvent(AutopsyEvent.SourceType.LOCAL, IngestJobEvent.STARTED.toString(), ingestJobId, null);
|
||||||
eventPublishingExecutor.submit(new PublishEventTask(event, jobEventPublisher, jobEventMessenger));
|
eventPublishingExecutor.submit(new PublishEventTask(event, localJobEventPublisher, remoteJobEventPublisher));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -630,7 +629,7 @@ public class IngestManager {
|
|||||||
*/
|
*/
|
||||||
void fireIngestJobCompleted(long ingestJobId) {
|
void fireIngestJobCompleted(long ingestJobId) {
|
||||||
AutopsyEvent event = new AutopsyEvent(AutopsyEvent.SourceType.LOCAL, IngestJobEvent.COMPLETED.toString(), ingestJobId, null);
|
AutopsyEvent event = new AutopsyEvent(AutopsyEvent.SourceType.LOCAL, IngestJobEvent.COMPLETED.toString(), ingestJobId, null);
|
||||||
eventPublishingExecutor.submit(new PublishEventTask(event, jobEventPublisher, jobEventMessenger));
|
eventPublishingExecutor.submit(new PublishEventTask(event, localJobEventPublisher, remoteJobEventPublisher));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -640,7 +639,7 @@ public class IngestManager {
|
|||||||
*/
|
*/
|
||||||
void fireIngestJobCancelled(long ingestJobId) {
|
void fireIngestJobCancelled(long ingestJobId) {
|
||||||
AutopsyEvent event = new AutopsyEvent(AutopsyEvent.SourceType.LOCAL, IngestJobEvent.CANCELLED.toString(), ingestJobId, null);
|
AutopsyEvent event = new AutopsyEvent(AutopsyEvent.SourceType.LOCAL, IngestJobEvent.CANCELLED.toString(), ingestJobId, null);
|
||||||
eventPublishingExecutor.submit(new PublishEventTask(event, jobEventPublisher, jobEventMessenger));
|
eventPublishingExecutor.submit(new PublishEventTask(event, localJobEventPublisher, remoteJobEventPublisher));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -650,7 +649,7 @@ public class IngestManager {
|
|||||||
*/
|
*/
|
||||||
void fireFileIngestDone(AbstractFile file) {
|
void fireFileIngestDone(AbstractFile file) {
|
||||||
AutopsyEvent event = new FileAnalyzedEvent(AutopsyEvent.SourceType.LOCAL, file);
|
AutopsyEvent event = new FileAnalyzedEvent(AutopsyEvent.SourceType.LOCAL, file);
|
||||||
eventPublishingExecutor.submit(new PublishEventTask(event, moduleEventPublisher, jobEventMessenger));
|
eventPublishingExecutor.submit(new PublishEventTask(event, localModuleEventPublisher, remoteJobEventPublisher));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -660,7 +659,7 @@ public class IngestManager {
|
|||||||
*/
|
*/
|
||||||
void fireIngestModuleDataEvent(ModuleDataEvent moduleDataEvent) {
|
void fireIngestModuleDataEvent(ModuleDataEvent moduleDataEvent) {
|
||||||
AutopsyEvent event = new BlackboardPostEvent(AutopsyEvent.SourceType.LOCAL, moduleDataEvent);
|
AutopsyEvent event = new BlackboardPostEvent(AutopsyEvent.SourceType.LOCAL, moduleDataEvent);
|
||||||
eventPublishingExecutor.submit(new PublishEventTask(event, moduleEventPublisher, jobEventMessenger));
|
eventPublishingExecutor.submit(new PublishEventTask(event, localModuleEventPublisher, remoteJobEventPublisher));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -672,7 +671,7 @@ public class IngestManager {
|
|||||||
*/
|
*/
|
||||||
void fireIngestModuleContentEvent(ModuleContentEvent moduleContentEvent) {
|
void fireIngestModuleContentEvent(ModuleContentEvent moduleContentEvent) {
|
||||||
AutopsyEvent event = new ContentChangedEvent(AutopsyEvent.SourceType.LOCAL, moduleContentEvent);
|
AutopsyEvent event = new ContentChangedEvent(AutopsyEvent.SourceType.LOCAL, moduleContentEvent);
|
||||||
eventPublishingExecutor.submit(new PublishEventTask(event, moduleEventPublisher, jobEventMessenger));
|
eventPublishingExecutor.submit(new PublishEventTask(event, localModuleEventPublisher, remoteJobEventPublisher));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -876,23 +875,21 @@ public class IngestManager {
|
|||||||
private static final class PublishEventTask implements Runnable {
|
private static final class PublishEventTask implements Runnable {
|
||||||
|
|
||||||
private final AutopsyEvent event;
|
private final AutopsyEvent event;
|
||||||
private final LocalPublisher publisher;
|
private final LocalPublisher localPublisher;
|
||||||
private final RemotePublisher messenger;
|
private final RemotePublisher remotePublisher;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs an object that publishes ingest events to both local and
|
* Constructs an object that publishes ingest events to both local and
|
||||||
* remote subscribers.
|
* remote subscribers.
|
||||||
*
|
*
|
||||||
* @param event The event to publish
|
* @param event The event to publish.
|
||||||
* @param publisher The event publisher to use for local event
|
* @param localPublisher The local event publisher.
|
||||||
* publications.
|
* @param remotePublisher The remote event publisher.
|
||||||
* @param messenger The jobEventMessenger to use for remote event
|
|
||||||
* publication.
|
|
||||||
*/
|
*/
|
||||||
PublishEventTask(AutopsyEvent event, LocalPublisher publisher, RemotePublisher messenger) {
|
PublishEventTask(AutopsyEvent event, LocalPublisher localPublisher, RemotePublisher remotePublisher) {
|
||||||
this.event = event;
|
this.event = event;
|
||||||
this.publisher = publisher;
|
this.localPublisher = localPublisher;
|
||||||
this.messenger = messenger;
|
this.remotePublisher = remotePublisher;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -909,7 +906,7 @@ public class IngestManager {
|
|||||||
*/
|
*/
|
||||||
private void publishLocally() {
|
private void publishLocally() {
|
||||||
event.setSourceType(AutopsyEvent.SourceType.LOCAL);
|
event.setSourceType(AutopsyEvent.SourceType.LOCAL);
|
||||||
publisher.publish(event);
|
localPublisher.publish(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -918,7 +915,7 @@ public class IngestManager {
|
|||||||
private void publishRemotely() {
|
private void publishRemotely() {
|
||||||
event.setSourceType(AutopsyEvent.SourceType.REMOTE);
|
event.setSourceType(AutopsyEvent.SourceType.REMOTE);
|
||||||
try {
|
try {
|
||||||
messenger.send(event);
|
remotePublisher.send(event);
|
||||||
} catch (JMSException ex) {
|
} catch (JMSException ex) {
|
||||||
logger.log(Level.SEVERE, "Failed to publish event to remote subscribers", ex);
|
logger.log(Level.SEVERE, "Failed to publish event to remote subscribers", ex);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user