Autopsy 4.22.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
FileSearchAction.java
Go to the documentation of this file.
1/*
2 * Autopsy Forensic Browser
3 *
4 * Copyright 2011-2021 Basis Technology Corp.
5 * Contact: carrier <at> sleuthkit <dot> org
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 */
19package org.sleuthkit.autopsy.filesearch;
20
21import java.awt.event.ActionEvent;
22import java.beans.PropertyChangeEvent;
23import java.util.EnumSet;
24import org.openide.util.HelpCtx;
25import org.openide.util.NbBundle;
26import org.openide.util.actions.CallableSystemAction;
27import org.sleuthkit.autopsy.casemodule.Case;
28import org.sleuthkit.autopsy.timeline.OpenTimelineAction;
29
30final public class FileSearchAction extends CallableSystemAction {
31
32 private static final long serialVersionUID = 1L;
33 private static FileSearchAction instance = null;
34 private static FileSearchDialog searchDialog;
35 private static Long selectedDataSourceId;
36
37 private FileSearchAction() {
38 super();
39 setEnabled(Case.isCaseOpen());
40 Case.addEventTypeSubscriber(EnumSet.of(Case.Events.CURRENT_CASE), (PropertyChangeEvent evt) -> {
41 if (evt.getPropertyName().equals(Case.Events.CURRENT_CASE.toString())) {
42 setEnabled(evt.getNewValue() != null);
43 if (searchDialog != null && evt.getNewValue() != null) {
44 searchDialog.resetCaseDependentFilters();
45 }
46 }
47 });
48 }
49
50 public static FileSearchAction getDefault() {
51 if (instance == null) {
52 instance = CallableSystemAction.get(FileSearchAction.class);
53 }
54 return instance;
55 }
56
57 @Override
58 public void actionPerformed(ActionEvent e) {
59 if (searchDialog == null) {
60 searchDialog = new FileSearchDialog();
61 }
62 //Preserve whatever the previously selected data source was
64 searchDialog.setVisible(true);
65 }
66
67 @Override
68 public void performAction() {
69 if (searchDialog == null) {
70 searchDialog = new FileSearchDialog();
71 }
72 //
73 searchDialog.setSelectedDataSourceFilter(selectedDataSourceId);
74 searchDialog.setVisible(true);
75 }
76
77 @Override
78 public String getName() {
79 return NbBundle.getMessage(this.getClass(), "FileSearchAction.getName.text");
80 }
81
82 @Override
83 public HelpCtx getHelpCtx() {
84 return HelpCtx.DEFAULT_HELP;
85 }
86
87 @Override
88 protected boolean asynchronous() {
89 return false;
90 }
91
92 public void showDialog(Long dataSourceId) {
93 selectedDataSourceId = dataSourceId;
95
96 }
97
98 public void showDialog() {
99 showDialog(null);
100 }
101}
static void addEventTypeSubscriber(Set< Events > eventTypes, PropertyChangeListener subscriber)
Definition Case.java:712

Copyright © 2012-2024 Sleuth Kit Labs. Generated on:
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.