19 package org.sleuthkit.autopsy.directorytree;
 
   21 import java.awt.EventQueue;
 
   22 import java.awt.event.ActionEvent;
 
   23 import java.beans.PropertyVetoException;
 
   24 import java.util.ArrayList;
 
   25 import java.util.Collections;
 
   26 import java.util.List;
 
   27 import java.util.concurrent.ExecutionException;
 
   28 import java.util.logging.Level;
 
   30 import javax.swing.AbstractAction;
 
   31 import javax.swing.SwingWorker;
 
   32 import org.openide.nodes.AbstractNode;
 
   33 import org.openide.explorer.ExplorerManager;
 
   34 import org.openide.explorer.view.TreeView;
 
   35 import org.openide.nodes.Children;
 
   36 import org.openide.nodes.Node;
 
   66         this.content = node.getLookup().lookup(Content.class);
 
   72         this.content = node.getLookup().lookup(Content.class);
 
   82         EventQueue.invokeLater(
new Runnable() {
 
   88                 List<Content> hierarchy = content.accept(vtor);
 
   89                 Collections.reverse(hierarchy);
 
   91                 Node generated = 
new DirectoryTreeFilterNode(
new AbstractNode(
new RootContentChildren(hierarchy)), 
true);
 
   92                 Children genChilds = generated.getChildren();
 
   95                 TreeView dirTreeView = dirTree.
getTree();
 
   97                 Node dirTreeRootNode = dirTreeExplorerManager.getRootContext();
 
   98                 Children dirChilds = dirTreeRootNode.getChildren();
 
  101                 Node dirExplored = null;
 
  104                 for (
int i = 0; i < genChilds.getNodesCount() - 1; i++) {
 
  105                     Node currentGeneratedNode = genChilds.getNodeAt(i);
 
  106                     for (
int j = 0; j < currentChildren.getNodesCount(); j++) {
 
  107                         Node currentDirectoryTreeNode = currentChildren.getNodeAt(j);
 
  108                         if (currentGeneratedNode.getDisplayName().equals(currentDirectoryTreeNode.getDisplayName())) {
 
  109                             dirExplored = currentDirectoryTreeNode;
 
  110                             dirTreeView.expandNode(dirExplored);
 
  111                             currentChildren = currentDirectoryTreeNode.getChildren();
 
  120                     if (dirExplored != null) {
 
  121                         dirTreeView.expandNode(dirExplored);
 
  122                         dirTreeExplorerManager.setExploredContextAndSelection(dirExplored, 
new Node[]{dirExplored});
 
  124                 } 
catch (PropertyVetoException ex) {
 
  125                     logger.log(Level.WARNING, 
"Couldn't set selected node", ex); 
 
  128                 EventQueue.invokeLater(
new Runnable() {
 
  132                         Node currentRootNodeOfDataResultTC = dataResultTC.
getRootNode();
 
  134                         new SelectionWorker(dataResultTC, contentNode.getName(), currentRootNodeOfDataResultTC).execute();
 
  149         String nameOfNodeToSelect;
 
  150         Node originalRootNodeOfDataResultTC;
 
  153             this.dataResultTC = dataResult;
 
  154             this.nameOfNodeToSelect = nameToSelect;
 
  155             this.originalRootNodeOfDataResultTC = originalRoot;
 
  166             return originalRootNodeOfDataResultTC.getChildren().getNodes(
true);
 
  171             Node[] nodesDisplayedInDataResultViewer;
 
  173                 nodesDisplayedInDataResultViewer = 
get();
 
  174             } 
catch (InterruptedException | ExecutionException ex) {
 
  175                 logger.log(Level.WARNING, 
"Failed to get nodes in selection worker.", ex); 
 
  178             catch (java.util.concurrent.CancellationException ex) {
 
  188             if (dataResultTC.
getRootNode().equals(originalRootNodeOfDataResultTC) == 
false) {
 
  195             for (Node node : nodesDisplayedInDataResultViewer) {
 
  196                 if (nameOfNodeToSelect.equals(node.getName())) {
 
  197                     dataResultTC.requestActive();
 
  218         List<Content> ret = 
new ArrayList<Content>();
 
  221             Content parent = null;
 
  223                 parent = content.getParent();
 
  224             } 
catch (TskCoreException ex) {
 
  225                 logger.log(Level.WARNING, 
"Couldn't get parent of Content object: " + content); 
 
  227             return parent == null ? ret : parent.accept(
this);
 
  233             Content parent = null;
 
  235                 parent = content.getParent();
 
  236             } 
catch (TskCoreException ex) {
 
  237                 logger.log(Level.WARNING, 
"Couldn't get parent of Content object: " + content); 
 
  239             return parent == null ? ret : parent.accept(
this);
 
  243         public List<Content> 
visit(FileSystem fs) {
 
  248         public List<Content> 
visit(VolumeSystem vs) {
 
DataResultTopComponent getDirectoryListing()
ViewContextAction(String title, BlackboardArtifactNode node)
List< Content > visit(FileSystem fs)
static synchronized DirectoryTreeTopComponent getDefault()
ViewContextAction(String title, Content content)
ViewContextAction(String title, AbstractFsContentNode<?extends AbstractFile > node)
ExplorerManager getExplorerManager()
synchronized static Logger getLogger(String name)
static final Logger logger
List< Content > defaultVisit(Content content)
void actionPerformed(ActionEvent e)
void setSelectedNodes(Node[] selected)
static synchronized DirectoryTreeTopComponent findInstance()
List< Content > visit(VolumeSystem vs)
List< Content > visitParentButDontAddMe(Content content)