From 81e0823ba8e19bf044c348ab51aab9eb329bc462 Mon Sep 17 00:00:00 2001 From: esaunders Date: Tue, 9 Apr 2019 16:47:37 -0400 Subject: [PATCH] Reverted DataResultViewerTable to original state and added a comment to KnownAndSlackFilter. --- .../corecomponents/DataResultViewerTable.java | 290 +----------------- .../datamodel/KnownAndSlackFilter.java | 3 +- 2 files changed, 14 insertions(+), 279 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java index a6acc8f9ec..bf18c4b831 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java @@ -18,8 +18,6 @@ */ package org.sleuthkit.autopsy.corecomponents; -import com.google.common.eventbus.EventBus; -import com.google.common.eventbus.Subscribe; import java.awt.Component; import java.awt.Cursor; import java.awt.FontMetrics; @@ -28,7 +26,6 @@ import java.awt.dnd.DnDConstants; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.beans.FeatureDescriptor; -import java.beans.PropertyChangeEvent; import java.beans.PropertyVetoException; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; @@ -41,8 +38,6 @@ import java.util.TreeSet; import java.util.logging.Level; import java.util.prefs.Preferences; import javax.swing.ImageIcon; -import javax.swing.InputVerifier; -import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.ListSelectionModel; import static javax.swing.SwingConstants.CENTER; @@ -66,10 +61,6 @@ import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.nodes.Node.Property; -import org.openide.nodes.NodeEvent; -import org.openide.nodes.NodeListener; -import org.openide.nodes.NodeMemberEvent; -import org.openide.nodes.NodeReorderEvent; import org.openide.util.ImageUtilities; import org.openide.util.NbBundle; import org.openide.util.NbPreferences; @@ -79,10 +70,6 @@ import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.ThreadConfined; import org.sleuthkit.autopsy.datamodel.NodeProperty; import org.sleuthkit.autopsy.datamodel.NodeSelectionInfo; -import org.sleuthkit.autopsy.datamodel.BaseChildFactory; -import org.sleuthkit.autopsy.datamodel.BaseChildFactory.PageChangeEvent; -import org.sleuthkit.autopsy.datamodel.BaseChildFactory.PageCountChangeEvent; -import org.sleuthkit.autopsy.datamodel.BaseChildFactory.PagingDestroyedEvent; /** * A tabular result viewer that displays the children of the given root node @@ -108,7 +95,7 @@ public class DataResultViewerTable extends AbstractDataResultViewer { private static final ImageIcon INTERESTING_SCORE_ICON = new ImageIcon(ImageUtilities.loadImage(YELLOW_CIRCLE_ICON_PATH, false)); private static final ImageIcon NOTABLE_ICON_SCORE = new ImageIcon(ImageUtilities.loadImage(RED_CIRCLE_ICON_PATH, false)); @NbBundle.Messages("DataResultViewerTable.firstColLbl=Name") - static protected final String FIRST_COLUMN_LABEL = Bundle.DataResultViewerTable_firstColLbl(); + static private final String FIRST_COLUMN_LABEL = Bundle.DataResultViewerTable_firstColLbl(); private final String title; private final Map columnMap; private final Map> propertiesMap; @@ -116,8 +103,6 @@ public class DataResultViewerTable extends AbstractDataResultViewer { private final TableListener outlineViewListener; private final IconRendererTableListener iconRendererListener; private Node rootNode; - private final Map pagingSupportMap = new HashMap<>(); - private PagingSupport pagingSupport = null; /** * Constructs a tabular result viewer that displays the children of the @@ -159,15 +144,11 @@ public class DataResultViewerTable extends AbstractDataResultViewer { this.columnMap = new HashMap<>(); this.propertiesMap = new TreeMap<>(); - this.pagingSupport = new PagingSupport(); - /* * Execute the code generated by the GUI builder. */ initComponents(); - this.pagingSupport.updateControls(); - /* * Configure the child OutlineView (explorer view) component. */ @@ -271,40 +252,6 @@ public class DataResultViewerTable extends AbstractDataResultViewer { */ if (rootNode != null && rootNode.getChildren().getNodesCount() > 0) { this.rootNode = rootNode; - pagingSupport = pagingSupportMap.get(rootNode.getName()); - if (pagingSupport == null) { - EventBus bus = BaseChildFactory.nodeNameToEventBusMap.get(rootNode.getName()); - pagingSupport = new PagingSupport(); - pagingSupport.registerWithEventBus(bus); - pagingSupportMap.put(rootNode.getName(), pagingSupport); - } - pagingSupport.updateControls(); - - rootNode.addNodeListener(new NodeListener() { - @Override - public void childrenAdded(NodeMemberEvent nme) { - SwingUtilities.invokeLater(() -> { - setCursor(null); - }); - } - - @Override - public void childrenRemoved(NodeMemberEvent nme) { - } - - @Override - public void childrenReordered(NodeReorderEvent nre) { - } - - @Override - public void nodeDestroyed(NodeEvent ne) { - } - - @Override - public void propertyChange(PropertyChangeEvent evt) { - } - }); - this.getExplorerManager().setRootContext(this.rootNode); setupTable(); } else { @@ -718,107 +665,6 @@ public class DataResultViewerTable extends AbstractDataResultViewer { } } - private class PagingSupport { - - private int currentPage; - private int totalPages; - private EventBus eb; - - PagingSupport() { - currentPage = 1; - totalPages = 0; - eb = null; - } - - void reset() { - currentPage = 1; - totalPages = 0; - - if (eb != null) { - eb.unregister(this); - eb = null; - } - updateControls(); - } - - void registerWithEventBus(EventBus bus) { - if (eb == bus) { - return; - } - - if (bus != null) { - eb = bus; - eb.register(this); - } - - updateControls(); - } - - void nextPage() { - currentPage++; - postPageChangeEvent(); - } - - void previousPage() { - currentPage--; - postPageChangeEvent(); - } - - void gotoPage() { - currentPage = Integer.decode(gotoPageTextField.getText()); - postPageChangeEvent(); - } - - void postPageChangeEvent() { - if (eb != null) { - eb.post(new PageChangeEvent(currentPage)); - setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - } - updateControls(); - } - - boolean isValidPage() { - if (gotoPageTextField.getText().length() > 0) { - Integer value = Integer.decode(gotoPageTextField.getText()); - return value >= 1 && value <= totalPages; - } else { - return true; - } - } - - @Subscribe - public void subscribeToPageCountChange(PageCountChangeEvent event) { - if (event != null) { - totalPages = event.getPageCount(); - updateControls(); - } - } - - @Subscribe - public void subscribeToPagingDestroyedEvent(PagingDestroyedEvent event) { - if (eb != null) { - pagingSupportMap.remove(eb.identifier()); - } - } - - private void updateControls() { - if (totalPages == 0) { - pagePrevButton.setEnabled(false); - pageNextButton.setEnabled(false); - pageNumLabel.setText(""); - gotoPageTextField.setText(""); - gotoPageTextField.setEnabled(false); - } else { - pageNumLabel.setText(NbBundle.getMessage(this.getClass(), "DataResultViewerThumbnail.pageNumbers.curOfTotal", - Integer.toString(currentPage), Integer.toString(totalPages))); - - pageNextButton.setEnabled(!(currentPage == totalPages)); - pagePrevButton.setEnabled(!(currentPage == 1)); - gotoPageTextField.setEnabled(true); - } - } - } - /** * Listener which sets the custom icon renderer on columns which contain * icons instead of text when a column is added. @@ -1187,133 +1033,21 @@ public class DataResultViewerTable extends AbstractDataResultViewer { // //GEN-BEGIN:initComponents private void initComponents() { - pageLabel = new javax.swing.JLabel(); - pageNumLabel = new javax.swing.JLabel(); - pagesLabel = new javax.swing.JLabel(); - pagePrevButton = new javax.swing.JButton(); - pageNextButton = new javax.swing.JButton(); outlineView = new OutlineView(DataResultViewerTable.FIRST_COLUMN_LABEL); - gotoPageLabel = new javax.swing.JLabel(); - gotoPageTextField = new javax.swing.JTextField(); - - pageLabel.setText(org.openide.util.NbBundle.getMessage(DataResultViewerTable.class, "DataResultViewerTable.pageLabel.text")); // NOI18N - - pageNumLabel.setText(org.openide.util.NbBundle.getMessage(DataResultViewerTable.class, "DataResultViewerTable.pageNumLabel.text")); // NOI18N - - pagesLabel.setText(org.openide.util.NbBundle.getMessage(DataResultViewerTable.class, "DataResultViewerTable.pagesLabel.text")); // NOI18N - - pagePrevButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back.png"))); // NOI18N - pagePrevButton.setText(org.openide.util.NbBundle.getMessage(DataResultViewerTable.class, "DataResultViewerTable.pagePrevButton.text")); // NOI18N - pagePrevButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back_disabled.png"))); // NOI18N - pagePrevButton.setFocusable(false); - pagePrevButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - pagePrevButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - pagePrevButton.setPreferredSize(new java.awt.Dimension(55, 23)); - pagePrevButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back_hover.png"))); // NOI18N - pagePrevButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - pagePrevButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - pagePrevButtonActionPerformed(evt); - } - }); - - pageNextButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward.png"))); // NOI18N - pageNextButton.setText(org.openide.util.NbBundle.getMessage(DataResultViewerTable.class, "DataResultViewerTable.pageNextButton.text")); // NOI18N - pageNextButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward_disabled.png"))); // NOI18N - pageNextButton.setFocusable(false); - pageNextButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - pageNextButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - pageNextButton.setMaximumSize(new java.awt.Dimension(27, 23)); - pageNextButton.setMinimumSize(new java.awt.Dimension(27, 23)); - pageNextButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward_hover.png"))); // NOI18N - pageNextButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - pageNextButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - pageNextButtonActionPerformed(evt); - } - }); - - gotoPageLabel.setText(org.openide.util.NbBundle.getMessage(DataResultViewerTable.class, "DataResultViewerTable.gotoPageLabel.text")); // NOI18N - - gotoPageTextField.setText(org.openide.util.NbBundle.getMessage(DataResultViewerTable.class, "DataResultViewerTable.gotoPageTextField.text")); // NOI18N - gotoPageTextField.setInputVerifier(new InputVerifier() { - @Override - public boolean verify(JComponent input) { - return pagingSupport.isValidPage(); - }}); - gotoPageTextField.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - gotoPageTextFieldActionPerformed(evt); - } - }); - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(outlineView, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap(373, Short.MAX_VALUE) - .addComponent(pageLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(pageNumLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(pagesLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(pagePrevButton, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pageNextButton, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(gotoPageLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(gotoPageTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) - ); - - layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {pageNextButton, pagePrevButton}); - - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) - .addComponent(pageLabel) - .addComponent(pageNumLabel) - .addComponent(pagesLabel) - .addComponent(pagePrevButton, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pageNextButton, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(gotoPageLabel) - .addComponent(gotoPageTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(outlineView, javax.swing.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE) - .addContainerGap()) - ); - - layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {pageNextButton, pagePrevButton}); - - }// //GEN-END:initComponents - - private void pagePrevButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pagePrevButtonActionPerformed - pagingSupport.previousPage(); - }//GEN-LAST:event_pagePrevButtonActionPerformed - - private void pageNextButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pageNextButtonActionPerformed - pagingSupport.nextPage(); - }//GEN-LAST:event_pageNextButtonActionPerformed - - private void gotoPageTextFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_gotoPageTextFieldActionPerformed - pagingSupport.gotoPage(); - }//GEN-LAST:event_gotoPageTextFieldActionPerformed + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(outlineView, javax.swing.GroupLayout.DEFAULT_SIZE, 691, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(outlineView, javax.swing.GroupLayout.DEFAULT_SIZE, 366, Short.MAX_VALUE) + ); + }// //GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JLabel gotoPageLabel; - private javax.swing.JTextField gotoPageTextField; private org.openide.explorer.view.OutlineView outlineView; - private javax.swing.JLabel pageLabel; - private javax.swing.JButton pageNextButton; - private javax.swing.JLabel pageNumLabel; - private javax.swing.JButton pagePrevButton; - private javax.swing.JLabel pagesLabel; // End of variables declaration//GEN-END:variables } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/KnownAndSlackFilter.java b/Core/src/org/sleuthkit/autopsy/datamodel/KnownAndSlackFilter.java index 2d780328be..5c97a5a044 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/KnownAndSlackFilter.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/KnownAndSlackFilter.java @@ -28,7 +28,8 @@ import org.sleuthkit.datamodel.TskCoreException; import org.sleuthkit.datamodel.TskData; /** - * + * Predicate that can be used to filter known and/or slack files from + * Content collections based on user preferences. */ class KnownAndSlackFilter implements Predicate {