pass controller to DrawableTagsManager constructor, ImageGalleryController keeps reference to Case object

This commit is contained in:
millmanorama 2018-09-04 09:46:10 +02:00
parent 76668f53ec
commit 8df6dfb8f7
2 changed files with 145 additions and 135 deletions

View File

@ -140,6 +140,11 @@ public final class ImageGalleryController {
private ListeningExecutorService dbExecutor; private ListeningExecutorService dbExecutor;
private Case autopsyCase;
public Case getAutopsyCase() {
return autopsyCase;
}
private SleuthkitCase sleuthKitCase; private SleuthkitCase sleuthKitCase;
private DrawableDB db; private DrawableDB db;
@ -379,6 +384,7 @@ public final class ImageGalleryController {
if (null == theNewCase) { if (null == theNewCase) {
reset(); reset();
} else { } else {
this.autopsyCase = theNewCase;
this.sleuthKitCase = theNewCase.getSleuthkitCase(); this.sleuthKitCase = theNewCase.getSleuthkitCase();
this.db = DrawableDB.getDrawableDB(ImageGalleryModule.getModuleOutputDir(theNewCase), this); this.db = DrawableDB.getDrawableDB(ImageGalleryModule.getModuleOutputDir(theNewCase), this);
@ -396,7 +402,7 @@ public final class ImageGalleryController {
tagsManager.unregisterListener(groupManager); tagsManager.unregisterListener(groupManager);
tagsManager.unregisterListener(categoryManager); tagsManager.unregisterListener(categoryManager);
} }
tagsManager = new DrawableTagsManager(theNewCase.getServices().getTagsManager()); tagsManager = new DrawableTagsManager(this);
tagsManager.registerListener(groupManager); tagsManager.registerListener(groupManager);
tagsManager.registerListener(categoryManager); tagsManager.registerListener(categoryManager);
shutDownDBExecutor(); shutDownDBExecutor();
@ -420,6 +426,7 @@ public final class ImageGalleryController {
*/ */
public synchronized void reset() { public synchronized void reset() {
logger.info("resetting ImageGalleryControler to initial state."); //NON-NLS logger.info("resetting ImageGalleryControler to initial state."); //NON-NLS
autopsyCase = null;
selectionModel.clearSelection(); selectionModel.clearSelection();
setListeningEnabled(false); setListeningEnabled(false);
ThumbnailCache.getDefault().clearCache(); ThumbnailCache.getDefault().clearCache();

View File

@ -34,6 +34,7 @@ import org.sleuthkit.autopsy.casemodule.events.ContentTagDeletedEvent;
import org.sleuthkit.autopsy.casemodule.services.TagsManager; import org.sleuthkit.autopsy.casemodule.services.TagsManager;
import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.datamodel.DhsImageCategory; import org.sleuthkit.autopsy.datamodel.DhsImageCategory;
import org.sleuthkit.autopsy.imagegallery.ImageGalleryController;
import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Content;
import org.sleuthkit.datamodel.ContentTag; import org.sleuthkit.datamodel.ContentTag;
import org.sleuthkit.datamodel.TagName; import org.sleuthkit.datamodel.TagName;
@ -58,7 +59,7 @@ public final class DrawableTagsManager {
private final TagName bookmarkTagName; private final TagName bookmarkTagName;
/** /**
* Used to distribute {@link TagsChangeEvent}s * Used to distribute TagsChangeEvents
*/ */
private final EventBus tagsEventBus private final EventBus tagsEventBus
= new AsyncEventBus( = new AsyncEventBus(
@ -70,10 +71,10 @@ public final class DrawableTagsManager {
}) })
.build())); .build()));
public DrawableTagsManager(TagsManager autopsyTagsManager) throws TskCoreException { public DrawableTagsManager(ImageGalleryController controller) throws TskCoreException {
this.autopsyTagsManager = autopsyTagsManager; this.autopsyTagsManager = controller.getAutopsyCase().getServices().getTagsManager();
followUpTagName = getTagName(NbBundle.getMessage(DrawableTagsManager.class, "DrawableTagsManager.followUp")); followUpTagName = getTagName(Bundle.DrawableTagsManager_followUp());
bookmarkTagName = getTagName(NbBundle.getMessage(DrawableTagsManager.class, "DrawableTagsManager.bookMark")); bookmarkTagName = getTagName(Bundle.DrawableTagsManager_bookMark());
} }
/** /**
@ -125,6 +126,8 @@ public final class DrawableTagsManager {
* *
* @return All the TagNames that are not categories, in alphabetical order * @return All the TagNames that are not categories, in alphabetical order
* by displayName. * by displayName.
*
* @throws org.sleuthkit.datamodel.TskCoreException
*/ */
public List<TagName> getNonCategoryTagNames() throws TskCoreException { public List<TagName> getNonCategoryTagNames() throws TskCoreException {