reduce duplicate code

This commit is contained in:
jmillman 2015-06-22 15:11:16 -04:00
parent 7dfc17268e
commit ab8e68435d
5 changed files with 40 additions and 31 deletions

View File

@ -491,13 +491,13 @@ public final class ImageGalleryController {
break; break;
case CONTENT_TAG_ADDED: case CONTENT_TAG_ADDED:
final ContentTagAddedEvent tagAddedEvent = (ContentTagAddedEvent) evt; final ContentTagAddedEvent tagAddedEvent = (ContentTagAddedEvent) evt;
if (getDatabase().isInDB((tagAddedEvent).getAddedTag().getContent().getId())) { if (getDatabase().isInDB((tagAddedEvent).getTag().getContent().getId())) {
getTagsManager().fireTagAddedEvent(tagAddedEvent); getTagsManager().fireTagAddedEvent(tagAddedEvent);
} }
break; break;
case CONTENT_TAG_DELETED: case CONTENT_TAG_DELETED:
final ContentTagDeletedEvent tagDeletedEvent = (ContentTagDeletedEvent) evt; final ContentTagDeletedEvent tagDeletedEvent = (ContentTagDeletedEvent) evt;
if (getDatabase().isInDB((tagDeletedEvent).getDeletedTag().getContent().getId())) { if (getDatabase().isInDB((tagDeletedEvent).getTag().getContent().getId())) {
getTagsManager().fireTagDeletedEvent(tagDeletedEvent); getTagsManager().fireTagDeletedEvent(tagDeletedEvent);
} }
break; break;

View File

@ -226,7 +226,7 @@ public class CategoryManager {
@Subscribe @Subscribe
public void handleTagAdded(ContentTagAddedEvent event) { public void handleTagAdded(ContentTagAddedEvent event) {
ContentTag addedTag = event.getAddedTag(); ContentTag addedTag = event.getTag();
if (isCategoryTagName(addedTag.getName())) { if (isCategoryTagName(addedTag.getName())) {
final DrawableTagsManager tagsManager = controller.getTagsManager(); final DrawableTagsManager tagsManager = controller.getTagsManager();
try { try {
@ -256,7 +256,7 @@ public class CategoryManager {
} }
@Subscribe @Subscribe
public void handleTagDeleted(ContentTagDeletedEvent event) { public void handleTagDeleted(ContentTagDeletedEvent event) {
ContentTag deleted = event.getDeletedTag(); ContentTag deleted = event.getTag();
if (isCategoryTagName(deleted.getName())) { if (isCategoryTagName(deleted.getName())) {
Category deletedCat = CategoryManager.categoryFromTagName(deleted.getName()); Category deletedCat = CategoryManager.categoryFromTagName(deleted.getName());

View File

@ -541,11 +541,11 @@ public class GroupManager implements FileUpdateEvent.FileUpdateListener {
public void handleTagAdded(ContentTagAddedEvent evt) { public void handleTagAdded(ContentTagAddedEvent evt) {
GroupKey<?> groupKey = null; GroupKey<?> groupKey = null;
if (groupBy == DrawableAttribute.TAGS) { if (groupBy == DrawableAttribute.TAGS) {
groupKey = new GroupKey<TagName>(DrawableAttribute.TAGS, evt.getAddedTag().getName()); groupKey = new GroupKey<TagName>(DrawableAttribute.TAGS, evt.getTag().getName());
} else if (groupBy == DrawableAttribute.CATEGORY) { } else if (groupBy == DrawableAttribute.CATEGORY) {
groupKey = new GroupKey<Category>(DrawableAttribute.CATEGORY, CategoryManager.categoryFromTagName(evt.getAddedTag().getName())); groupKey = new GroupKey<Category>(DrawableAttribute.CATEGORY, CategoryManager.categoryFromTagName(evt.getTag().getName()));
} }
final long fileID = evt.getAddedTag().getContent().getId(); final long fileID = evt.getTag().getContent().getId();
DrawableGroup g = getGroupForKey(groupKey); DrawableGroup g = getGroupForKey(groupKey);
addFileToGroup(g, groupKey, fileID); addFileToGroup(g, groupKey, fileID);
@ -567,11 +567,11 @@ public class GroupManager implements FileUpdateEvent.FileUpdateListener {
public void handleTagDeleted(ContentTagDeletedEvent evt) { public void handleTagDeleted(ContentTagDeletedEvent evt) {
GroupKey<?> groupKey = null; GroupKey<?> groupKey = null;
if (groupBy == DrawableAttribute.TAGS) { if (groupBy == DrawableAttribute.TAGS) {
groupKey = new GroupKey<TagName>(DrawableAttribute.TAGS, evt.getDeletedTag().getName()); groupKey = new GroupKey<TagName>(DrawableAttribute.TAGS, evt.getTag().getName());
} else if (groupBy == DrawableAttribute.CATEGORY) { } else if (groupBy == DrawableAttribute.CATEGORY) {
groupKey = new GroupKey<Category>(DrawableAttribute.CATEGORY, CategoryManager.categoryFromTagName(evt.getDeletedTag().getName())); groupKey = new GroupKey<Category>(DrawableAttribute.CATEGORY, CategoryManager.categoryFromTagName(evt.getTag().getName()));
} }
final long fileID = evt.getDeletedTag().getContent().getId(); final long fileID = evt.getTag().getContent().getId();
DrawableGroup g = removeFromGroup(groupKey, fileID); DrawableGroup g = removeFromGroup(groupKey, fileID);
} }

View File

@ -62,6 +62,7 @@ import org.sleuthkit.autopsy.directorytree.ExtractAction;
import org.sleuthkit.autopsy.directorytree.NewWindowViewAction; import org.sleuthkit.autopsy.directorytree.NewWindowViewAction;
import org.sleuthkit.autopsy.events.ContentTagAddedEvent; import org.sleuthkit.autopsy.events.ContentTagAddedEvent;
import org.sleuthkit.autopsy.events.ContentTagDeletedEvent; import org.sleuthkit.autopsy.events.ContentTagDeletedEvent;
import org.sleuthkit.autopsy.events.TagEvent;
import org.sleuthkit.autopsy.imagegallery.FileIDSelectionModel; import org.sleuthkit.autopsy.imagegallery.FileIDSelectionModel;
import org.sleuthkit.autopsy.imagegallery.ImageGalleryTopComponent; import org.sleuthkit.autopsy.imagegallery.ImageGalleryTopComponent;
import org.sleuthkit.autopsy.imagegallery.actions.AddDrawableTagAction; import org.sleuthkit.autopsy.imagegallery.actions.AddDrawableTagAction;
@ -70,6 +71,7 @@ import org.sleuthkit.autopsy.imagegallery.actions.DeleteFollowUpTagAction;
import org.sleuthkit.autopsy.imagegallery.actions.SwingMenuItemAdapter; import org.sleuthkit.autopsy.imagegallery.actions.SwingMenuItemAdapter;
import org.sleuthkit.autopsy.imagegallery.datamodel.DrawableAttribute; import org.sleuthkit.autopsy.imagegallery.datamodel.DrawableAttribute;
import org.sleuthkit.autopsy.imagegallery.datamodel.DrawableFile; import org.sleuthkit.autopsy.imagegallery.datamodel.DrawableFile;
import org.sleuthkit.datamodel.ContentTag;
import org.sleuthkit.datamodel.TagName; import org.sleuthkit.datamodel.TagName;
import org.sleuthkit.datamodel.TskCoreException; import org.sleuthkit.datamodel.TskCoreException;
@ -349,36 +351,36 @@ public abstract class DrawableTileBase extends DrawableUIBase {
@Subscribe @Subscribe
@Override @Override
public void handleTagAdded(ContentTagAddedEvent evt) { public void handleTagAdded(ContentTagAddedEvent evt) {
getFileID().ifPresent(fileID -> {
try {
if (fileID == evt.getAddedTag().getContent().getId()
&& evt.getAddedTag().getName().equals(getController().getTagsManager().getFollowUpTagName())) {
handleTagEvent(evt, () -> {
Platform.runLater(() -> { Platform.runLater(() -> {
followUpImageView.setImage(followUpIcon); followUpImageView.setImage(followUpIcon);
followUpToggle.setSelected(true); followUpToggle.setSelected(true);
}); });
}
} catch (TskCoreException ex) {
LOGGER.log(Level.SEVERE, "Failed to get follow up status for file.", ex);
}
}); });
} }
@Subscribe @Subscribe
@Override @Override
public void handleTagDeleted(ContentTagDeletedEvent evt) { public void handleTagDeleted(ContentTagDeletedEvent evt) {
handleTagEvent(evt, this::updateFollowUpIcon);
}
void handleTagEvent(TagEvent<ContentTag> evt, Runnable runnable) {
getFileID().ifPresent(fileID -> { getFileID().ifPresent(fileID -> {
try { try {
if (fileID == evt.getDeletedTag().getContent().getId() final TagName followUpTagName = getController().getTagsManager().getFollowUpTagName();
&& evt.getDeletedTag().getName().equals(getController().getTagsManager().getFollowUpTagName())) { final ContentTag deletedTag = evt.getTag();
updateFollowUpIcon();
if (fileID == deletedTag.getContent().getId()
&& deletedTag.getName().equals(followUpTagName)) {
runnable.run();
} }
} catch (TskCoreException ex) { } catch (TskCoreException ex) {
LOGGER.log(Level.SEVERE, "Failed to get follow up status for file.", ex); LOGGER.log(Level.SEVERE, "Failed to get followup tag name. Unable to update follow up status for file. ", ex);
} }
}); });
} }
private void updateFollowUpIcon() { private void updateFollowUpIcon() {

View File

@ -46,10 +46,12 @@ import org.apache.commons.lang3.StringUtils;
import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.events.ContentTagAddedEvent; import org.sleuthkit.autopsy.events.ContentTagAddedEvent;
import org.sleuthkit.autopsy.events.ContentTagDeletedEvent; import org.sleuthkit.autopsy.events.ContentTagDeletedEvent;
import org.sleuthkit.autopsy.events.TagEvent;
import org.sleuthkit.autopsy.imagegallery.ImageGalleryController; import org.sleuthkit.autopsy.imagegallery.ImageGalleryController;
import org.sleuthkit.autopsy.imagegallery.datamodel.Category; import org.sleuthkit.autopsy.imagegallery.datamodel.Category;
import org.sleuthkit.autopsy.imagegallery.datamodel.CategoryChangeEvent; import org.sleuthkit.autopsy.imagegallery.datamodel.CategoryChangeEvent;
import org.sleuthkit.autopsy.imagegallery.datamodel.DrawableAttribute; import org.sleuthkit.autopsy.imagegallery.datamodel.DrawableAttribute;
import org.sleuthkit.datamodel.ContentTag;
import org.sleuthkit.datamodel.TagName; import org.sleuthkit.datamodel.TagName;
/** /**
@ -197,19 +199,24 @@ public class MetaDataPane extends DrawableUIBase {
@Subscribe @Subscribe
@Override @Override
public void handleTagAdded(ContentTagAddedEvent evt) { public void handleTagAdded(ContentTagAddedEvent evt) {
handleTagChanged(evt.getAddedTag().getContent().getId()); handleTagEvent(evt, this::updateUI);
} }
@Subscribe @Subscribe
@Override @Override
public void handleTagDeleted(ContentTagDeletedEvent evt) { public void handleTagDeleted(ContentTagDeletedEvent evt) {
handleTagChanged(evt.getDeletedTag().getContent().getId()); handleTagEvent(evt, this::updateUI);
} }
private void handleTagChanged(Long tagFileID) { /**
*
* @param tagFileID the value of tagEvent
* @param runnable the value of runnable
*/
void handleTagEvent(TagEvent<ContentTag> tagEvent, final Runnable runnable) {
getFileID().ifPresent(fileID -> { getFileID().ifPresent(fileID -> {
if (Objects.equals(tagFileID, fileID)) { if (Objects.equals(tagEvent.getTag().getContent().getId(), fileID)) {
updateUI(); runnable.run();
} }
}); });
} }