19 package org.sleuthkit.autopsy.discovery.ui;
21 import java.util.ArrayList;
22 import java.util.Arrays;
23 import java.util.List;
31 final class DocumentFilterPanel
extends AbstractFiltersPanel {
33 private static final long serialVersionUID = 1L;
34 private static final SearchData.
Type TYPE = SearchData.
Type.DOCUMENT;
39 @ThreadConfined(type = ThreadConfined.ThreadType.AWT)
40 DocumentFilterPanel() {
43 SizeFilterPanel sizeFilterPanel =
new SizeFilterPanel(TYPE);
44 List<SearchData.FileSize> defaultSizes =
new ArrayList<>();
45 defaultSizes.add(SearchData.FileSize.LARGE_IMAGE);
46 defaultSizes.add(SearchData.FileSize.XLARGE_IMAGE);
47 defaultSizes.add(SearchData.FileSize.XXLARGE_IMAGE);
48 addFilter(sizeFilterPanel,
true, defaultSizes, 0);
49 addFilter(
new DataSourceFilterPanel(),
false, null, 0);
50 List<SearchData.Frequency> defaultFrequencies =
new ArrayList<>();
51 if (!CentralRepository.isEnabled()) {
52 defaultFrequencies.add(SearchData.Frequency.UNKNOWN);
54 defaultFrequencies.add(SearchData.Frequency.RARE);
55 defaultFrequencies.add(SearchData.Frequency.UNIQUE);
56 defaultFrequencies.add(SearchData.Frequency.COMMON);
58 addFilter(
new PastOccurrencesFilterPanel(TYPE),
true, defaultFrequencies, 0);
59 addFilter(
new HashSetFilterPanel(),
false, null, 1);
60 addFilter(
new InterestingItemsFilterPanel(),
false, null, 1);
61 addFilter(
new ParentFolderFilterPanel(),
false, null, 1);
62 addPanelsToScrollPane(documentsFiltersSplitPane);
70 @SuppressWarnings(
"unchecked")
72 private
void initComponents() {
74 javax.swing.JScrollPane documentFiltersScrollPane =
new javax.swing.JScrollPane();
75 javax.swing.JPanel documentFiltersPanel =
new javax.swing.JPanel();
76 documentsFiltersSplitPane =
new javax.swing.JSplitPane();
78 setLayout(
new java.awt.BorderLayout());
80 documentsFiltersSplitPane.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(DocumentFilterPanel.class,
"DocumentFilterPanel.documentsFiltersSplitPane.border.title")));
81 documentsFiltersSplitPane.setResizeWeight(0.5);
83 javax.swing.GroupLayout documentFiltersPanelLayout =
new javax.swing.GroupLayout(documentFiltersPanel);
84 documentFiltersPanel.setLayout(documentFiltersPanelLayout);
85 documentFiltersPanelLayout.setHorizontalGroup(
86 documentFiltersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
87 .addGroup(documentFiltersPanelLayout.createSequentialGroup()
89 .addComponent(documentsFiltersSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 294, Short.MAX_VALUE)
92 documentFiltersPanelLayout.setVerticalGroup(
93 documentFiltersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
94 .addGroup(documentFiltersPanelLayout.createSequentialGroup()
96 .addComponent(documentsFiltersSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE)
100 documentFiltersScrollPane.setViewportView(documentFiltersPanel);
102 add(documentFiltersScrollPane, java.awt.BorderLayout.CENTER);
105 SearchData.Type getType() {
109 private javax.swing.JSplitPane documentsFiltersSplitPane;
Type(int value, String displayName, Collection< String > mediaTypes, Collection< BlackboardArtifact.ARTIFACT_TYPE > artifactTypes)