mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 18:17:43 +00:00
Merge pull request #4836 from esaunders/5120-view-file-in-dir
Use asynchronous node creation for directory tree to support view fil…
This commit is contained in:
commit
1c4c3b2524
@ -301,20 +301,7 @@ public class DataResultViewerTable extends AbstractDataResultViewer {
|
|||||||
|
|
||||||
this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||||
try {
|
try {
|
||||||
/*
|
if (rootNode != null) {
|
||||||
* If the given node is not null and has children, set it as the
|
|
||||||
* root context of the child OutlineView, otherwise make an
|
|
||||||
* "empty"node the root context.
|
|
||||||
*
|
|
||||||
* IMPORTANT NOTE: This is the first of many times where a
|
|
||||||
* getChildren call on the current root node causes all of the
|
|
||||||
* children of the root node to be created and defeats lazy child
|
|
||||||
* node creation, if it is enabled. It also likely leads to many
|
|
||||||
* case database round trips.
|
|
||||||
*/
|
|
||||||
if (rootNode != null && rootNode.getChildren().getNodesCount() > 0) {
|
|
||||||
this.rootNode = rootNode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check to see if we have previously created a paging support
|
* Check to see if we have previously created a paging support
|
||||||
* class for this node.
|
* class for this node.
|
||||||
@ -363,6 +350,21 @@ public class DataResultViewerTable extends AbstractDataResultViewer {
|
|||||||
// No-op
|
// No-op
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the given node is not null and has children, set it as the
|
||||||
|
* root context of the child OutlineView, otherwise make an
|
||||||
|
* "empty"node the root context.
|
||||||
|
*
|
||||||
|
* IMPORTANT NOTE: This is the first of many times where a
|
||||||
|
* getChildren call on the current root node causes all of the
|
||||||
|
* children of the root node to be created and defeats lazy child
|
||||||
|
* node creation, if it is enabled. It also likely leads to many
|
||||||
|
* case database round trips.
|
||||||
|
*/
|
||||||
|
if (rootNode != null && rootNode.getChildren().getNodesCount() > 0) {
|
||||||
|
this.rootNode = rootNode;
|
||||||
|
|
||||||
this.getExplorerManager().setRootContext(this.rootNode);
|
this.getExplorerManager().setRootContext(this.rootNode);
|
||||||
setupTable();
|
setupTable();
|
||||||
|
@ -107,7 +107,7 @@ public abstract class AbstractContentNode<T extends Content> extends ContentNode
|
|||||||
* @param lookup The Lookup object for the node.
|
* @param lookup The Lookup object for the node.
|
||||||
*/
|
*/
|
||||||
AbstractContentNode(T content, Lookup lookup) {
|
AbstractContentNode(T content, Lookup lookup) {
|
||||||
super(Children.create(new ContentChildren(content), true), lookup);
|
super(Children.create(new ContentChildren(content), false), lookup);
|
||||||
this.content = content;
|
this.content = content;
|
||||||
//super.setName(ContentUtils.getSystemName(content));
|
//super.setName(ContentUtils.getSystemName(content));
|
||||||
super.setName("content_" + Long.toString(content.getId())); //NON-NLS
|
super.setName("content_" + Long.toString(content.getId())); //NON-NLS
|
||||||
|
@ -57,7 +57,7 @@ public class DataSourcesNode extends DisplayableItemNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public DataSourcesNode(long dsObjId) {
|
public DataSourcesNode(long dsObjId) {
|
||||||
super(Children.create(new DataSourcesNodeChildren(dsObjId), true), Lookups.singleton(NAME));
|
super(Children.create(new DataSourcesNodeChildren(dsObjId), false), Lookups.singleton(NAME));
|
||||||
displayName = (dsObjId > 0) ? NbBundle.getMessage(DataSourcesNode.class, "DataSourcesNode.group_by_datasource.name") : NAME;
|
displayName = (dsObjId > 0) ? NbBundle.getMessage(DataSourcesNode.class, "DataSourcesNode.group_by_datasource.name") : NAME;
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ import org.openide.nodes.Children;
|
|||||||
import org.openide.nodes.Node;
|
import org.openide.nodes.Node;
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.sleuthkit.autopsy.datamodel.accounts.Accounts;
|
import org.sleuthkit.autopsy.datamodel.accounts.Accounts;
|
||||||
|
import org.sleuthkit.datamodel.SleuthkitVisitableItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Children implementation for the root node of a ContentNode tree. Accepts a
|
* Children implementation for the root node of a ContentNode tree. Accepts a
|
||||||
@ -34,6 +35,7 @@ public class RootContentChildren extends Children.Keys<Object> {
|
|||||||
|
|
||||||
private final Collection<? extends Object> contentKeys;
|
private final Collection<? extends Object> contentKeys;
|
||||||
private final CreateAutopsyNodeVisitor createAutopsyNodeVisitor = new CreateAutopsyNodeVisitor();
|
private final CreateAutopsyNodeVisitor createAutopsyNodeVisitor = new CreateAutopsyNodeVisitor();
|
||||||
|
private final CreateSleuthkitNodeVisitor createSleuthkitNodeVisitor = new CreateSleuthkitNodeVisitor();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param contentKeys root Content objects for the Node tree
|
* @param contentKeys root Content objects for the Node tree
|
||||||
@ -68,7 +70,7 @@ public class RootContentChildren extends Children.Keys<Object> {
|
|||||||
if (key instanceof AutopsyVisitableItem) {
|
if (key instanceof AutopsyVisitableItem) {
|
||||||
return new Node[] {((AutopsyVisitableItem)key).accept(createAutopsyNodeVisitor)};
|
return new Node[] {((AutopsyVisitableItem)key).accept(createAutopsyNodeVisitor)};
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return new Node[] {((SleuthkitVisitableItem)key).accept(createSleuthkitNodeVisitor)};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user