From 332d90222d65df10df85e71c9c6b06b0c0b5dd08 Mon Sep 17 00:00:00 2001 From: jmillman Date: Mon, 20 Jul 2015 12:06:14 -0400 Subject: [PATCH] minor cleanup --- .../autopsy/imagegallery/FXMLConstructor.java | 5 +- .../imagegallery/datamodel/DrawableFile.java | 60 +++---------------- .../autopsy/imagegallery/gui/GuiUtils.java | 15 +++++ .../autopsy/imagegallery/gui/Toolbar.java | 52 +++++----------- .../gui/drawableviews/MetaDataPane.java | 18 ++---- 5 files changed, 48 insertions(+), 102 deletions(-) diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/FXMLConstructor.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/FXMLConstructor.java index 7dc9a86757..3b0a1dd4c8 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/FXMLConstructor.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/FXMLConstructor.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2013 Basis Technology Corp. + * Copyright 2013-15 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -60,4 +60,7 @@ public class FXMLConstructor { } } + + private FXMLConstructor() { + } } diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java index 1080e02a85..137611ffc7 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2013 Basis Technology Corp. + * Copyright 2013-15 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,7 +23,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Set; -import java.util.function.Function; import java.util.logging.Level; import java.util.stream.Collectors; import javafx.beans.property.SimpleBooleanProperty; @@ -90,7 +89,7 @@ public abstract class DrawableFile extends AbstractFile private String drawablePath; - protected T file; + private final T file; private final SimpleBooleanProperty analyzed; @@ -143,14 +142,14 @@ public abstract class DrawableFile extends AbstractFile return new ArrayList<>(); } - public List, ?>> getAttributesList() { - return DrawableAttribute.getValues().stream().map(new Function, Pair, ?>>() { - @Override - public Pair, ?> apply(DrawableAttribute t) { - return new Pair<>(t, t.getValue(DrawableFile.this)); - } + public List, Collection>> getAttributesList() { + return DrawableAttribute.getValues().stream() + .map(this::makeAttributeValuePair) + .collect(Collectors.toList()); + } - }).collect(Collectors.toList()); + private Pair, Collection> makeAttributeValuePair(DrawableAttribute t) { + return new Pair<>(t, t.getValue(DrawableFile.this)); } public String getModel() { @@ -181,47 +180,6 @@ public abstract class DrawableFile extends AbstractFile return Collections.emptySet(); } - @Deprecated - protected final List getValuesOfBBAttribute(BlackboardArtifact.ARTIFACT_TYPE artType, BlackboardAttribute.ATTRIBUTE_TYPE attrType) { - ArrayList vals = new ArrayList<>(); - try { - //why doesn't file.getArtifacts() work? - //TODO: this seams like overkill, use a more targeted query - ArrayList artifacts = getAllArtifacts(); - - for (BlackboardArtifact artf : artifacts) { - if (artf.getArtifactTypeID() == artType.getTypeID()) { - for (BlackboardAttribute attr : artf.getAttributes()) { - if (attr.getAttributeTypeID() == attrType.getTypeID()) { - - switch (attr.getValueType()) { - case BYTE: - vals.add(attr.getValueBytes()); - break; - case DOUBLE: - vals.add(attr.getValueDouble()); - break; - case INTEGER: - vals.add(attr.getValueInt()); - break; - case LONG: - vals.add(attr.getValueLong()); - break; - case STRING: - vals.add(attr.getValueString()); - break; - } - } - } - } - } - } catch (TskCoreException ex) { - Logger.getAnonymousLogger().log(Level.WARNING, "problem looking up {0}/{1}" + " " + " for {2}", new Object[]{artType.getDisplayName(), attrType.getDisplayName(), getName()}); - } - - return vals; - } - protected Object getValueOfBBAttribute(BlackboardArtifact.ARTIFACT_TYPE artType, BlackboardAttribute.ATTRIBUTE_TYPE attrType) { try { diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/GuiUtils.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/GuiUtils.java index 4a2a84fd46..27651147cc 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/GuiUtils.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/GuiUtils.java @@ -25,6 +25,8 @@ import javafx.scene.control.SplitMenuButton; import javafx.scene.image.ImageView; import org.sleuthkit.autopsy.imagegallery.ImageGalleryController; import org.sleuthkit.autopsy.imagegallery.actions.AddDrawableTagAction; +import org.sleuthkit.autopsy.imagegallery.actions.CategorizeAction; +import org.sleuthkit.autopsy.imagegallery.datamodel.Category; import org.sleuthkit.autopsy.imagegallery.datamodel.DrawableAttribute; import org.sleuthkit.datamodel.TagName; @@ -56,6 +58,19 @@ public class GuiUtils { return menuItem; } + public static MenuItem createSelCatMenuItem(Category cat, final SplitMenuButton catSelectedMenuButton, ImageGalleryController controller) { + final MenuItem menuItem = new MenuItem(cat.getDisplayName(), new ImageView(DrawableAttribute.CATEGORY.getIcon())); + menuItem.setOnAction(new EventHandler() { + @Override + public void handle(ActionEvent t) { + new CategorizeAction(controller).addTag(controller.getTagsManager().getTagName(cat), ""); + catSelectedMenuButton.setText(cat.getDisplayName()); + catSelectedMenuButton.setOnAction(this); + } + }); + return menuItem; + } + private GuiUtils() { } diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/Toolbar.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/Toolbar.java index 4b4e4a60ea..0af29e8d64 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/Toolbar.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/Toolbar.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2013 Basis Technology Corp. + * Copyright 2013-15 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,7 +18,11 @@ */ package org.sleuthkit.autopsy.imagegallery.gui; -import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.stream.Collectors; +import java.util.stream.Stream; import javafx.application.Platform; import javafx.beans.InvalidationListener; import javafx.beans.Observable; @@ -27,7 +31,6 @@ import javafx.beans.property.SimpleObjectProperty; import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.event.ActionEvent; -import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.scene.control.CheckBox; import javafx.scene.control.ComboBox; @@ -40,16 +43,13 @@ import javafx.scene.control.ToolBar; import javafx.scene.image.ImageView; import javafx.scene.layout.HBox; import javax.swing.SortOrder; -import org.openide.util.Exceptions; import org.sleuthkit.autopsy.imagegallery.FXMLConstructor; import org.sleuthkit.autopsy.imagegallery.FileIDSelectionModel; import org.sleuthkit.autopsy.imagegallery.ImageGalleryController; import org.sleuthkit.autopsy.imagegallery.ThumbnailCache; -import org.sleuthkit.autopsy.imagegallery.actions.CategorizeAction; import org.sleuthkit.autopsy.imagegallery.datamodel.Category; import org.sleuthkit.autopsy.imagegallery.datamodel.DrawableAttribute; import org.sleuthkit.autopsy.imagegallery.datamodel.grouping.GroupSortBy; -import org.sleuthkit.datamodel.TagName; import org.sleuthkit.datamodel.TskCoreException; /** @@ -57,6 +57,8 @@ import org.sleuthkit.datamodel.TskCoreException; */ public class Toolbar extends ToolBar { + private static final Logger LOGGER = Logger.getLogger(Toolbar.class.getName()); + private static final int SIZE_SLIDER_DEFAULT = 100; @FXML @@ -80,8 +82,6 @@ public class Toolbar extends ToolBar { @FXML private ToggleGroup orderGroup; -// @FXML -// private ToggleButton metaDataToggle; @FXML private HBox sortControlGroup; @@ -110,9 +110,6 @@ public class Toolbar extends ToolBar { return orderProperty.get(); } -// public ReadOnlyBooleanProperty showMetaDataProperty() { -// return metaDataToggle.selectedProperty(); -// } public DoubleProperty sizeSliderValue() { return sizeSlider.valueProperty(); } @@ -153,32 +150,28 @@ public class Toolbar extends ToolBar { try { GuiUtils.createSelTagMenuItem(getController().getTagsManager().getFollowUpTagName(), tagSelectedMenuButton, getController()).getOnAction().handle(t); } catch (TskCoreException ex) { - Exceptions.printStackTrace(ex); + LOGGER.log(Level.SEVERE, "Could create follow up tag menu item", ex); } }); tagSelectedMenuButton.setGraphic(new ImageView(DrawableAttribute.TAGS.getIcon())); tagSelectedMenuButton.showingProperty().addListener((ObservableValue ov, Boolean t, Boolean t1) -> { if (t1) { - ArrayList selTagMenues = new ArrayList<>(); - for (final TagName tn : getController().getTagsManager().getNonCategoryTagNames()) { - MenuItem menuItem = GuiUtils.createSelTagMenuItem(tn, tagSelectedMenuButton, getController()); - selTagMenues.add(menuItem); - } + List selTagMenues = getController().getTagsManager().getNonCategoryTagNames().stream() + .map(tn -> GuiUtils.createSelTagMenuItem(tn, tagSelectedMenuButton, getController())) + .collect(Collectors.toList()); tagSelectedMenuButton.getItems().setAll(selTagMenues); } }); - catSelectedMenuButton.setOnAction(createSelCatMenuItem(Category.FIVE, catSelectedMenuButton, getController()).getOnAction()); + catSelectedMenuButton.setOnAction(GuiUtils.createSelCatMenuItem(Category.FIVE, catSelectedMenuButton, getController()).getOnAction()); catSelectedMenuButton.setText(Category.FIVE.getDisplayName()); catSelectedMenuButton.setGraphic(new ImageView(DrawableAttribute.CATEGORY.getIcon())); catSelectedMenuButton.showingProperty().addListener((ObservableValue ov, Boolean t, Boolean t1) -> { if (t1) { - ArrayList categoryMenues = new ArrayList<>(); - for (final Category cat : Category.values()) { - MenuItem menuItem = createSelCatMenuItem(cat, catSelectedMenuButton, getController()); - categoryMenues.add(menuItem); - } + List categoryMenues = Stream.of(Category.values()) + .map((cat) -> GuiUtils.createSelCatMenuItem(cat, catSelectedMenuButton, getController())) + .collect(Collectors.toList()); catSelectedMenuButton.getItems().setAll(categoryMenues); } }); @@ -226,19 +219,6 @@ public class Toolbar extends ToolBar { FXMLConstructor.construct(this, "Toolbar.fxml"); } - private static MenuItem createSelCatMenuItem(Category cat, final SplitMenuButton catSelectedMenuButton, ImageGalleryController controller) { - final MenuItem menuItem = new MenuItem(cat.getDisplayName(), new ImageView(DrawableAttribute.CATEGORY.getIcon())); - menuItem.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - new CategorizeAction(controller).addTag(controller.getTagsManager().getTagName(cat), ""); - catSelectedMenuButton.setText(cat.getDisplayName()); - catSelectedMenuButton.setOnAction(this); - } - }); - return menuItem; - } - private ImageGalleryController getController() { return controller; } diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java index 1cda85eb9c..0776dc159a 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2013 Basis Technology Corp. + * Copyright 2013-15 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,7 +19,6 @@ package org.sleuthkit.autopsy.imagegallery.gui.drawableviews; import com.google.common.eventbus.Subscribe; -import java.io.IOException; import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -31,7 +30,6 @@ import javafx.application.Platform; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.fxml.FXML; -import javafx.fxml.FXMLLoader; import javafx.scene.control.Label; import javafx.scene.control.TableCell; import javafx.scene.control.TableColumn; @@ -46,6 +44,7 @@ import org.apache.commons.lang3.StringUtils; import org.sleuthkit.autopsy.events.ContentTagAddedEvent; import org.sleuthkit.autopsy.events.ContentTagDeletedEvent; import org.sleuthkit.autopsy.events.TagEvent; +import org.sleuthkit.autopsy.imagegallery.FXMLConstructor; import org.sleuthkit.autopsy.imagegallery.ImageGalleryController; import org.sleuthkit.autopsy.imagegallery.datamodel.Category; import org.sleuthkit.autopsy.imagegallery.datamodel.CategoryManager; @@ -77,16 +76,7 @@ public class MetaDataPane extends DrawableUIBase { public MetaDataPane(ImageGalleryController controller) { super(controller); - - FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("MetaDataPane.fxml")); - fxmlLoader.setRoot(this); - fxmlLoader.setController(this); - - try { - fxmlLoader.load(); - } catch (IOException exception) { - throw new RuntimeException(exception); - } + FXMLConstructor.construct(this, "MetaDataPane.fxml"); } @FXML @@ -167,7 +157,7 @@ public class MetaDataPane extends DrawableUIBase { public void updateUI() { getFile().ifPresent(file -> { final Image icon = file.getThumbnail(); - final List, ?>> attributesList = file.getAttributesList(); + final List, Collection>> attributesList = file.getAttributesList(); Platform.runLater(() -> { imageView.setImage(icon);