19 package org.sleuthkit.autopsy.datamodel;
21 import java.util.ArrayList;
22 import java.util.Arrays;
23 import java.util.Collection;
24 import java.util.HashSet;
25 import java.util.LinkedHashMap;
26 import java.util.List;
28 import javax.swing.Action;
29 import org.openide.nodes.Sheet;
30 import org.openide.util.NbBundle;
31 import org.openide.util.Utilities;
53 this.setDisplayName(af.getName());
57 this.setIconBaseWithExtension(
"org/sleuthkit/autopsy/images/Folder-icon.png");
59 this.setIconBaseWithExtension(
FileNode.getIconForFileType(af));
66 Sheet s = super.createSheet();
67 Sheet.Set ss = s.get(Sheet.PROPERTIES);
69 ss = Sheet.createPropertiesSet();
73 Map<String, Object> map =
new LinkedHashMap<>();
76 ss.put(
new NodeProperty<>(NbBundle.getMessage(
this.getClass(),
"LocalFileNode.createSheet.name.name"),
77 NbBundle.getMessage(
this.getClass(),
"LocalFileNode.createSheet.name.displayName"),
78 NbBundle.getMessage(
this.getClass(),
"LocalFileNode.createSheet.name.desc"),
81 final String NO_DESCR = NbBundle.getMessage(this.getClass(),
"LocalFileNode.createSheet.noDescr.text");
82 for (Map.Entry<String, Object> entry : map.entrySet()) {
83 ss.put(
new NodeProperty<>(entry.getKey(), entry.getKey(), NO_DESCR, entry.getValue()));
94 List<Action> actionsList =
new ArrayList<>();
95 actionsList.addAll(Arrays.asList(super.getActions(
true)));
96 actionsList.add(
new ViewContextAction(NbBundle.getMessage(
this.getClass(),
"LocalFileNode.viewFileInDir.text"), this.content));
97 actionsList.add(null);
99 NbBundle.getMessage(
this.getClass(),
"LocalFileNode.getActions.viewInNewWin.text"),
this));
101 NbBundle.getMessage(
this.getClass(),
"LocalFileNode.getActions.openInExtViewer.text"),
this));
102 actionsList.add(null);
105 NbBundle.getMessage(
this.getClass(),
"LocalFileNode.getActions.searchFilesSameMd5.text"),
this));
106 actionsList.add(null);
109 final Collection<AbstractFile> selectedFilesList =
110 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
111 if(selectedFilesList.size() == 1) {
116 return actionsList.toArray(
new Action[0]);
120 public <T> T accept(ContentNodeVisitor<T> v) {
121 return v.visit(
this);
125 public <T> T accept(DisplayableItemNodeVisitor<T> v) {
126 return v.visit(
this);
139 return getClass().getName();
void addTagProperty(Sheet.Set ss)
LocalFileNode(AbstractFile af)
static void fillPropertyMap(Map< String, Object > map, AbstractFile content)
static final Logger LOGGER
Action[] getActions(boolean context)
static synchronized DeleteFileContentTagAction getInstance()
synchronized static Logger getLogger(String name)
static synchronized AddContentTagAction getInstance()