set display name,

get rid of extra data,
added decorators to start supporting context menu
This commit is contained in:
Brian Sweeney 2018-03-28 11:32:59 -06:00
parent 0eb9282afe
commit 4a7fbdae59
3 changed files with 19 additions and 7 deletions

View File

@ -35,7 +35,11 @@ public class CommonFileChildNode extends FileNode {
super(fsContent); super(fsContent);
this.content = fsContent; this.content = fsContent;
this.dataSource = dataSource; this.dataSource = dataSource;
this.setDisplayName(fsContent.getName()); }
@Override
public <T> T accept(DisplayableItemNodeVisitor<T> visitor){
return visitor.visit(this);
} }
@Override @Override
@ -76,14 +80,17 @@ public class CommonFileChildNode extends FileNode {
* @param node The item to get properties for. * @param node The item to get properties for.
*/ */
static private void fillPropertyMap(Map<String, Object> map, CommonFileChildNode node) { static private void fillPropertyMap(Map<String, Object> map, CommonFileChildNode node) {
map.put(CommonFilePropertyType.File.toString(), node.getName());
map.put(CommonFilePropertyType.DataSource.toString(), node.getDataSource()); map.put(CommonFilePropertyType.DataSource.toString(), node.getDataSource());
} }
@NbBundle.Messages({ @NbBundle.Messages({
"CommonFilePropertyType.fileColLbl=File",
"CommonFilePropertyType.dataSourceColLbl=Data Source" "CommonFilePropertyType.dataSourceColLbl=Data Source"
}) })
public enum CommonFilePropertyType { public enum CommonFilePropertyType {
File(Bundle.CommonFilePropertyType_fileColLbl()),
DataSource(Bundle.CommonFilePropertyType_dataSourceColLbl()); DataSource(Bundle.CommonFilePropertyType_dataSourceColLbl());
final private String displayString; final private String displayString;

View File

@ -21,7 +21,6 @@ package org.sleuthkit.autopsy.datamodel;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.openide.nodes.Children; import org.openide.nodes.Children;
import org.openide.nodes.Sheet; import org.openide.nodes.Sheet;
import org.openide.util.NbBundle; import org.openide.util.NbBundle;
@ -41,6 +40,8 @@ public class CommonFileParentNode extends DisplayableItemNode {
this.commonFileCount = commonFileCount; this.commonFileCount = commonFileCount;
this.dataSources = dataSources; this.dataSources = dataSources;
this.md5Hash = md5Hash; this.md5Hash = md5Hash;
this.setDisplayName(md5Hash);
} }
int getCommonFileCount() { int getCommonFileCount() {
@ -63,7 +64,7 @@ public class CommonFileParentNode extends DisplayableItemNode {
sheetSet = Sheet.createPropertiesSet(); sheetSet = Sheet.createPropertiesSet();
sheet.put(sheetSet); sheet.put(sheetSet);
} }
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
fillPropertyMap(map, this); fillPropertyMap(map, this);
@ -84,8 +85,7 @@ public class CommonFileParentNode extends DisplayableItemNode {
* @param node The item to get properties for. * @param node The item to get properties for.
*/ */
static private void fillPropertyMap(Map<String, Object> map, CommonFileParentNode node) { static private void fillPropertyMap(Map<String, Object> map, CommonFileParentNode node) {
map.put(CommonFileParentPropertyType.File.toString(), String.format("Match: %s", new String[]{node.getMd5()})); map.put(CommonFileParentPropertyType.File.toString(), node.getMd5());
map.put(CommonFileParentPropertyType.MD5.toString(), StringUtils.defaultString(node.getMd5()));
map.put(CommonFileParentPropertyType.InstanceCount.toString(), node.getCommonFileCount()); map.put(CommonFileParentPropertyType.InstanceCount.toString(), node.getCommonFileCount());
map.put(CommonFileParentPropertyType.DataSource.toString(), node.getDataSources()); map.put(CommonFileParentPropertyType.DataSource.toString(), node.getDataSources());
} }
@ -107,13 +107,11 @@ public class CommonFileParentNode extends DisplayableItemNode {
@NbBundle.Messages({ @NbBundle.Messages({
"CommonFileParentPropertyType.fileColLbl=File", "CommonFileParentPropertyType.fileColLbl=File",
"CommonFileParentPropertyType.md5ColLbl=MD5 Hash",
"CommonFileParentPropertyType.instanceColLbl=Instance Count", "CommonFileParentPropertyType.instanceColLbl=Instance Count",
"CommonFileParentPropertyType.dataSourceColLbl=Data Source"}) "CommonFileParentPropertyType.dataSourceColLbl=Data Source"})
public enum CommonFileParentPropertyType { public enum CommonFileParentPropertyType {
File(Bundle.CommonFileParentPropertyType_fileColLbl()), File(Bundle.CommonFileParentPropertyType_fileColLbl()),
MD5(Bundle.CommonFileParentPropertyType_md5ColLbl()),
InstanceCount(Bundle.CommonFileParentPropertyType_instanceColLbl()), InstanceCount(Bundle.CommonFileParentPropertyType_instanceColLbl()),
DataSource(Bundle.CommonFileParentPropertyType_dataSourceColLbl()); DataSource(Bundle.CommonFileParentPropertyType_dataSourceColLbl());

View File

@ -113,6 +113,8 @@ public interface DisplayableItemNodeVisitor<T> {
T visit (CommonFileParentNode cfpn); T visit (CommonFileParentNode cfpn);
T visit (CommonFilesSearchNode cfsn); T visit (CommonFilesSearchNode cfsn);
T visit (CommonFileChildNode cfcn);
/* /*
* Tags * Tags
@ -182,6 +184,11 @@ public interface DisplayableItemNodeVisitor<T> {
*/ */
protected abstract T defaultVisit(DisplayableItemNode c); protected abstract T defaultVisit(DisplayableItemNode c);
@Override
public T visit(CommonFileChildNode c){ //TODO this may be fine but how do we add missing functions back to nows? or do we?
return defaultVisit(c);
}
@Override @Override
public T visit(CommonFileParentNode p){ //TODO this may be fine but how do we add missing functions back to nows? or do we? public T visit(CommonFileParentNode p){ //TODO this may be fine but how do we add missing functions back to nows? or do we?
return defaultVisit(p); return defaultVisit(p);