19 package org.sleuthkit.autopsy.datamodel;
21 import java.util.ArrayList;
22 import java.util.Collection;
23 import java.util.HashSet;
24 import java.util.List;
25 import javax.swing.Action;
27 import org.openide.util.NbBundle;
28 import org.openide.util.Utilities;
80 public static List<Action>
getActions(File file,
boolean isArtifactSource) {
81 List<Action> actionsList =
new ArrayList<>();
82 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file));
84 actionsList.add(null);
86 final Collection<AbstractFile> selectedFilesList
87 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
88 if (selectedFilesList.size() == 1) {
93 actionsList.add(null);
95 actionsList.add(null);
97 if (isArtifactSource) {
100 if (selectedFilesList.size() == 1) {
103 if (isArtifactSource) {
104 final Collection<BlackboardArtifact> selectedArtifactsList
105 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
106 if (selectedArtifactsList.size() == 1) {
114 public static List<Action>
getActions(SlackFile slackFile,
boolean isArtifactSource) {
115 List<Action> actionsList =
new ArrayList<>();
116 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), slackFile));
118 actionsList.add(null);
120 actionsList.add(null);
122 actionsList.add(null);
124 if (isArtifactSource) {
127 final Collection<AbstractFile> selectedFilesList
128 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
129 if (selectedFilesList.size() == 1) {
132 if (isArtifactSource) {
133 final Collection<BlackboardArtifact> selectedArtifactsList
134 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
135 if (selectedArtifactsList.size() == 1) {
143 public static List<Action>
getActions(LayoutFile file,
boolean isArtifactSource) {
144 List<Action> actionsList =
new ArrayList<>();
145 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file));
147 actionsList.add(null);
149 final Collection<AbstractFile> selectedFilesList
150 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
151 if (selectedFilesList.size() == 1) {
156 actionsList.add(null);
158 actionsList.add(null);
160 if (isArtifactSource) {
163 if (selectedFilesList.size() == 1) {
166 if (isArtifactSource) {
167 final Collection<BlackboardArtifact> selectedArtifactsList
168 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
169 if (selectedArtifactsList.size() == 1) {
177 public static List<Action>
getActions(Directory directory,
boolean isArtifactSource) {
178 List<Action> actionsList =
new ArrayList<>();
179 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), directory));
181 actionsList.add(null);
183 final Collection<AbstractFile> selectedFilesList
184 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
185 if (selectedFilesList.size() == 1) {
190 actionsList.add(null);
192 actionsList.add(null);
194 if (isArtifactSource) {
197 if (selectedFilesList.size() == 1) {
200 if (isArtifactSource) {
201 final Collection<BlackboardArtifact> selectedArtifactsList
202 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
203 if (selectedArtifactsList.size() == 1) {
211 public static List<Action>
getActions(VirtualDirectory directory,
boolean isArtifactSource) {
212 List<Action> actionsList =
new ArrayList<>();
213 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), directory));
215 actionsList.add(null);
217 final Collection<AbstractFile> selectedFilesList
218 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
219 if (selectedFilesList.size() == 1) {
224 actionsList.add(null);
226 actionsList.add(null);
228 if (isArtifactSource) {
231 if (selectedFilesList.size() == 1) {
234 if (isArtifactSource) {
235 final Collection<BlackboardArtifact> selectedArtifactsList
236 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
237 if (selectedArtifactsList.size() == 1) {
245 public static List<Action>
getActions(LocalDirectory directory,
boolean isArtifactSource) {
246 List<Action> actionsList =
new ArrayList<>();
247 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), directory));
249 actionsList.add(null);
251 final Collection<AbstractFile> selectedFilesList
252 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
253 if (selectedFilesList.size() == 1) {
258 actionsList.add(null);
260 actionsList.add(null);
262 if (isArtifactSource) {
265 if (selectedFilesList.size() == 1) {
268 if (isArtifactSource) {
269 final Collection<BlackboardArtifact> selectedArtifactsList
270 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
271 if (selectedArtifactsList.size() == 1) {
279 public static List<Action>
getActions(LocalFile file,
boolean isArtifactSource) {
280 List<Action> actionsList =
new ArrayList<>();
281 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file));
283 actionsList.add(null);
285 final Collection<AbstractFile> selectedFilesList
286 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
287 if (selectedFilesList.size() == 1) {
292 actionsList.add(null);
294 actionsList.add(null);
296 if (isArtifactSource) {
299 if (selectedFilesList.size() == 1) {
302 if (isArtifactSource) {
303 final Collection<BlackboardArtifact> selectedArtifactsList
304 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
305 if (selectedArtifactsList.size() == 1) {
313 public static List<Action>
getActions(DerivedFile file,
boolean isArtifactSource) {
314 List<Action> actionsList =
new ArrayList<>();
315 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file));
317 actionsList.add(null);
319 final Collection<AbstractFile> selectedFilesList
320 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
321 if (selectedFilesList.size() == 1) {
326 actionsList.add(null);
328 actionsList.add(null);
330 if (isArtifactSource) {
333 if (selectedFilesList.size() == 1) {
336 if (isArtifactSource) {
337 final Collection<BlackboardArtifact> selectedArtifactsList
338 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
339 if (selectedArtifactsList.size() == 1) {
347 public static List<Action>
getActions(Report report,
boolean isArtifactSource) {
348 List<Action> actionsList =
new ArrayList<>();
350 actionsList.add(null);
352 actionsList.add(null);
353 if (isArtifactSource) {
356 if (isArtifactSource) {
357 final Collection<BlackboardArtifact> selectedArtifactsList
358 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
359 if (selectedArtifactsList.size() == 1) {
367 public static List<Action>
getActions(ContentTag contentTag,
boolean isArtifactSource) {
368 List<Action> actionsList =
new ArrayList<>();
369 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), contentTag.getContent()));
370 final ContentTagNode tagNode =
new ContentTagNode(contentTag);
371 actionsList.add(null);
373 final Collection<AbstractFile> selectedFilesList
374 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
375 if (selectedFilesList.size() == 1) {
380 actionsList.add(null);
382 actionsList.add(null);
384 if (isArtifactSource) {
387 if (selectedFilesList.size() == 1) {
390 if (isArtifactSource) {
391 final Collection<BlackboardArtifact> selectedArtifactsList
392 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
393 if (selectedArtifactsList.size() == 1) {
403 public static List<Action>
getActions(BlackboardArtifactTag artifactTag,
boolean isArtifactSource) {
404 List<Action> actionsList =
new ArrayList<>();
405 actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), artifactTag.getContent()));
407 actionsList.add(null);
409 final Collection<AbstractFile> selectedFilesList
410 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
411 if (selectedFilesList.size() == 1) {
416 actionsList.add(null);
418 actionsList.add(null);
420 if (isArtifactSource) {
423 if (selectedFilesList.size() == 1) {
426 if (isArtifactSource) {
427 final Collection<BlackboardArtifact> selectedArtifactsList
428 =
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
429 if (selectedArtifactsList.size() == 1) {
439 public static List<Action>
getActions(Content content,
boolean isArtifactSource) {
440 if (content instanceof File) {
441 return getActions((File) content, isArtifactSource);
442 }
else if (content instanceof LayoutFile) {
443 return getActions((LayoutFile) content, isArtifactSource);
444 }
else if (content instanceof Directory) {
445 return getActions((Directory) content, isArtifactSource);
446 }
else if (content instanceof VirtualDirectory) {
447 return getActions((VirtualDirectory) content, isArtifactSource);
448 }
else if (content instanceof LocalFile) {
449 return getActions((LocalFile) content, isArtifactSource);
450 }
else if (content instanceof DerivedFile) {
451 return getActions((DerivedFile) content, isArtifactSource);
452 }
else if (content instanceof SlackFile) {
453 return getActions((SlackFile) content, isArtifactSource);
454 }
else if (content instanceof Report) {
455 return getActions((Report) content, isArtifactSource);
457 return new ArrayList<>();
static synchronized DeleteContentTagAction getInstance()
static final String OPEN_IN_EXTERNAL_VIEWER
static List< Action > getActions(LayoutFile file, boolean isArtifactSource)
static final String VIEW_FILE_IN_DIR
static List< Action > getActions(File file, boolean isArtifactSource)
static synchronized AddBlackboardArtifactTagAction getInstance()
static synchronized DeleteFileBlackboardArtifactTagAction getInstance()
static List< Action > getActions(Report report, boolean isArtifactSource)
static synchronized DeleteBlackboardArtifactTagAction getInstance()
static List< Action > getActions(Content content, boolean isArtifactSource)
static synchronized ReplaceContentTagAction getInstance()
static final String VIEW_IN_NEW_WINDOW
static synchronized DeleteFileContentTagAction getInstance()
static List< Action > getActions(BlackboardArtifactTag artifactTag, boolean isArtifactSource)
static synchronized ReplaceBlackboardArtifactTagAction getInstance()
static List< Action > getActions(ContentTag contentTag, boolean isArtifactSource)
static List< Action > getActions(LocalFile file, boolean isArtifactSource)
static final String VIEW_SOURCE_FILE_IN_DIR
static List< Action > getActions(SlackFile slackFile, boolean isArtifactSource)
static synchronized ExternalViewerShortcutAction getInstance()
static List< Action > getActions(DerivedFile file, boolean isArtifactSource)
static List< Action > getActions(Directory directory, boolean isArtifactSource)
static List< Action > getActions(LocalDirectory directory, boolean isArtifactSource)
static synchronized AddContentTagAction getInstance()
static List< Action > getActions(VirtualDirectory directory, boolean isArtifactSource)