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;
 
   79     public static List<Action> 
getActions(File file, 
boolean isArtifactSource) {
 
   80         List<Action> actionsList = 
new ArrayList<>();
 
   81         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file));
 
   83         actionsList.add(null); 
 
   86         actionsList.add(null); 
 
   88         actionsList.add(null); 
 
   90         if (isArtifactSource) {
 
   94         final Collection<AbstractFile> selectedFilesList =
 
   95                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
   96         if(selectedFilesList.size() == 1) {
 
   99         if(isArtifactSource) {
 
  100             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  101                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  102             if(selectedArtifactsList.size() == 1) {
 
  111     public static List<Action> 
getActions(SlackFile slackFile, 
boolean isArtifactSource) {
 
  112         List<Action> actionsList = 
new ArrayList<>();
 
  113         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), slackFile));
 
  115         actionsList.add(null); 
 
  117         actionsList.add(null); 
 
  119         actionsList.add(null); 
 
  121         if (isArtifactSource) {
 
  125         final Collection<AbstractFile> selectedFilesList =
 
  126                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
  127         if(selectedFilesList.size() == 1) {
 
  130         if(isArtifactSource) {
 
  131             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  132                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  133             if(selectedArtifactsList.size() == 1) {
 
  142     public static List<Action> 
getActions(LayoutFile file, 
boolean isArtifactSource) {
 
  143         List<Action> actionsList = 
new ArrayList<>();
 
  144         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file));
 
  146         actionsList.add(null); 
 
  149         actionsList.add(null); 
 
  151         actionsList.add(null); 
 
  153         if (isArtifactSource) {
 
  157         final Collection<AbstractFile> selectedFilesList =
 
  158                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
  159         if(selectedFilesList.size() == 1) {
 
  162         if(isArtifactSource) {
 
  163             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  164                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  165             if(selectedArtifactsList.size() == 1) {
 
  174     public static List<Action> 
getActions(Directory directory, 
boolean isArtifactSource) {
 
  175         List<Action> actionsList = 
new ArrayList<>();
 
  176         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), directory));
 
  178         actionsList.add(null); 
 
  181         actionsList.add(null); 
 
  183         actionsList.add(null); 
 
  185         if (isArtifactSource) {
 
  189         final Collection<AbstractFile> selectedFilesList =
 
  190                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
  191         if(selectedFilesList.size() == 1) {
 
  194         if(isArtifactSource) {
 
  195             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  196                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  197             if(selectedArtifactsList.size() == 1) {
 
  206     public static List<Action> 
getActions(VirtualDirectory directory, 
boolean isArtifactSource) {
 
  207         List<Action> actionsList = 
new ArrayList<>();
 
  208         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), directory));
 
  210         actionsList.add(null); 
 
  213         actionsList.add(null); 
 
  215         actionsList.add(null); 
 
  217         if (isArtifactSource) {
 
  221         final Collection<AbstractFile> selectedFilesList =
 
  222                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
  223         if(selectedFilesList.size() == 1) {
 
  226         if(isArtifactSource) {
 
  227             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  228                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  229             if(selectedArtifactsList.size() == 1) {
 
  238     public static List<Action> 
getActions(LocalDirectory directory, 
boolean isArtifactSource) {
 
  239         List<Action> actionsList = 
new ArrayList<>();
 
  240         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), directory));
 
  242         actionsList.add(null); 
 
  245         actionsList.add(null); 
 
  247         actionsList.add(null); 
 
  249         if (isArtifactSource) {
 
  253         final Collection<AbstractFile> selectedFilesList =
 
  254                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
  255         if(selectedFilesList.size() == 1) {
 
  258         if(isArtifactSource) {
 
  259             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  260                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  261             if(selectedArtifactsList.size() == 1) {
 
  270     public static List<Action> 
getActions(LocalFile file, 
boolean isArtifactSource) {
 
  271         List<Action> actionsList = 
new ArrayList<>();
 
  272         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file));
 
  274         actionsList.add(null); 
 
  277         actionsList.add(null); 
 
  279         actionsList.add(null); 
 
  281         if (isArtifactSource) {
 
  285         final Collection<AbstractFile> selectedFilesList =
 
  286                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
  287         if(selectedFilesList.size() == 1) {
 
  290         if(isArtifactSource) {
 
  291             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  292                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  293             if(selectedArtifactsList.size() == 1) {
 
  302     public static List<Action> 
getActions(DerivedFile file, 
boolean isArtifactSource) {
 
  303         List<Action> actionsList = 
new ArrayList<>();
 
  304         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file));
 
  306         actionsList.add(null); 
 
  309         actionsList.add(null); 
 
  311         actionsList.add(null); 
 
  313         if (isArtifactSource) {
 
  317         final Collection<AbstractFile> selectedFilesList =
 
  318                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
  319         if(selectedFilesList.size() == 1) {
 
  322         if(isArtifactSource) {
 
  323             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  324                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  325             if(selectedArtifactsList.size() == 1) {
 
  334     public static List<Action> 
getActions(Report report, 
boolean isArtifactSource) {
 
  335         List<Action> actionsList = 
new ArrayList<>();
 
  337         actionsList.add(null); 
 
  339         actionsList.add(null); 
 
  340         if (isArtifactSource) {
 
  344         if (isArtifactSource) {
 
  345             final Collection<BlackboardArtifact> selectedArtifactsList
 
  346                     = 
new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  347             if (selectedArtifactsList.size() == 1) {
 
  356     public static List<Action> 
getActions(ContentTag contentTag, 
boolean isArtifactSource) {
 
  358         List<Action> actionsList = 
new ArrayList<>();
 
  359         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), contentTag.getContent()));
 
  360         final ContentTagNode tagNode = 
new ContentTagNode(contentTag);
 
  361         actionsList.add(null); 
 
  364         actionsList.add(null); 
 
  366         actionsList.add(null); 
 
  368         if (isArtifactSource) {
 
  372         final Collection<AbstractFile> selectedFilesList =
 
  373                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
  374         if(selectedFilesList.size() == 1) {
 
  377         if(isArtifactSource) {
 
  378             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  379                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  380             if(selectedArtifactsList.size() == 1) {
 
  393     public static List<Action> 
getActions(BlackboardArtifactTag artifactTag, 
boolean isArtifactSource) {
 
  394         List<Action> actionsList = 
new ArrayList<>();
 
  395         actionsList.add(
new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), artifactTag.getContent()));
 
  397         actionsList.add(null); 
 
  400         actionsList.add(null); 
 
  402         actionsList.add(null); 
 
  404         if (isArtifactSource) {
 
  408         final Collection<AbstractFile> selectedFilesList =
 
  409                 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
 
  410         if(selectedFilesList.size() == 1) {
 
  413         if(isArtifactSource) {
 
  414             final Collection<BlackboardArtifact> selectedArtifactsList =
 
  415                     new HashSet<>(Utilities.actionsGlobalContext().lookupAll(BlackboardArtifact.class));
 
  416             if(selectedArtifactsList.size() == 1) {
 
  428     public static List<Action> 
getActions(Content content, 
boolean isArtifactSource) {
 
  429         if (content instanceof File) {
 
  430             return getActions((File) content, isArtifactSource);
 
  431         } 
else if (content instanceof LayoutFile) {
 
  432             return getActions((LayoutFile) content, isArtifactSource);
 
  433         } 
else if (content instanceof Directory) {
 
  434             return getActions((Directory) content, isArtifactSource);
 
  435         } 
else if (content instanceof VirtualDirectory) {
 
  436             return getActions((VirtualDirectory) content, isArtifactSource);
 
  437         } 
else if (content instanceof LocalFile) {
 
  438             return getActions((LocalFile) content, isArtifactSource);
 
  439         } 
else if (content instanceof DerivedFile) {
 
  440             return getActions((DerivedFile) content, isArtifactSource);
 
  441         } 
else if (content instanceof SlackFile) {
 
  442             return getActions((SlackFile) content, isArtifactSource);
 
  443         } 
else if (content instanceof Report) {
 
  444             return getActions((Report) content, isArtifactSource);
 
  446             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 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)