From 6a30b9b8d4920cee4cc44da956772e5d848232ae Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Tue, 30 Apr 2019 13:00:38 -0400 Subject: [PATCH 1/6] 5001 change column widths for data source summary --- .../datasourcesummary/DataSourceBrowser.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java b/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java index 4610da61f2..753c18e5ae 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java @@ -55,7 +55,9 @@ final class DataSourceBrowser extends javax.swing.JPanel implements ExplorerMana private final ExplorerManager explorerManager; private final List dataSourceSummaryList; private final RightAlignedTableCellRenderer rightAlignedRenderer = new RightAlignedTableCellRenderer(); - + private final int COUNT_COLUMN_WIDTH = 25; + private final int USAGE_COLUMN_WIDTH = 120; + private final int DATA_SOURCE_COLUMN_WIDTH = 325; /** * Creates new form DataSourceBrowser */ @@ -84,6 +86,13 @@ final class DataSourceBrowser extends javax.swing.JPanel implements ExplorerMana || column.getHeaderValue().toString().equals(Bundle.DataSourceSummaryNode_column_results_header()) || column.getHeaderValue().toString().equals(Bundle.DataSourceSummaryNode_column_tags_header())) { column.setCellRenderer(rightAlignedRenderer); + column.setPreferredWidth(COUNT_COLUMN_WIDTH); + } + else if (column.getHeaderValue().toString().equals(Bundle.DataSourceSummaryNode_column_type_header())) { + column.setPreferredWidth(USAGE_COLUMN_WIDTH); + } + else { + column.setPreferredWidth(DATA_SOURCE_COLUMN_WIDTH); } } this.setVisible(true); From f0dca845bed3074d2f8645f4e223f9ecaddf6610 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Tue, 30 Apr 2019 13:29:17 -0400 Subject: [PATCH 2/6] 5001 auto format --- .../casemodule/datasourcesummary/DataSourceBrowser.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java b/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java index 753c18e5ae..40c9430c59 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java @@ -58,6 +58,7 @@ final class DataSourceBrowser extends javax.swing.JPanel implements ExplorerMana private final int COUNT_COLUMN_WIDTH = 25; private final int USAGE_COLUMN_WIDTH = 120; private final int DATA_SOURCE_COLUMN_WIDTH = 325; + /** * Creates new form DataSourceBrowser */ @@ -87,11 +88,9 @@ final class DataSourceBrowser extends javax.swing.JPanel implements ExplorerMana || column.getHeaderValue().toString().equals(Bundle.DataSourceSummaryNode_column_tags_header())) { column.setCellRenderer(rightAlignedRenderer); column.setPreferredWidth(COUNT_COLUMN_WIDTH); - } - else if (column.getHeaderValue().toString().equals(Bundle.DataSourceSummaryNode_column_type_header())) { + } else if (column.getHeaderValue().toString().equals(Bundle.DataSourceSummaryNode_column_type_header())) { column.setPreferredWidth(USAGE_COLUMN_WIDTH); - } - else { + } else { column.setPreferredWidth(DATA_SOURCE_COLUMN_WIDTH); } } @@ -177,7 +176,7 @@ final class DataSourceBrowser extends javax.swing.JPanel implements ExplorerMana */ DataSource getSelectedDataSource() { Node selectedNode[] = explorerManager.getSelectedNodes(); - if (selectedNode.length == 1 && selectedNode[0] instanceof DataSourceSummaryEntryNode) { + if (selectedNode.length == 1 && selectedNode[0] instanceof DataSourceSummaryEntryNode) { return ((DataSourceSummaryEntryNode) selectedNode[0]).getDataSource(); } return null; From 03e9f99c45bc9f833d894d582264f4a47d14ba65 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Tue, 30 Apr 2019 14:01:19 -0400 Subject: [PATCH 3/6] 5001 add missing static keyword --- .../casemodule/datasourcesummary/DataSourceBrowser.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java b/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java index 40c9430c59..e3b9fa0e93 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/datasourcesummary/DataSourceBrowser.java @@ -50,14 +50,14 @@ final class DataSourceBrowser extends javax.swing.JPanel implements ExplorerMana private static final long serialVersionUID = 1L; private static final Logger logger = Logger.getLogger(DataSourceBrowser.class.getName()); + private static final int COUNT_COLUMN_WIDTH = 25; + private static final int USAGE_COLUMN_WIDTH = 120; + private static final int DATA_SOURCE_COLUMN_WIDTH = 325; private final Outline outline; private final org.openide.explorer.view.OutlineView outlineView; private final ExplorerManager explorerManager; private final List dataSourceSummaryList; private final RightAlignedTableCellRenderer rightAlignedRenderer = new RightAlignedTableCellRenderer(); - private final int COUNT_COLUMN_WIDTH = 25; - private final int USAGE_COLUMN_WIDTH = 120; - private final int DATA_SOURCE_COLUMN_WIDTH = 325; /** * Creates new form DataSourceBrowser From 0e3c7890bc9b440f8c65cc44f10ecb3cbb2711bb Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Thu, 2 May 2019 12:40:06 -0400 Subject: [PATCH 4/6] Fix DeleteOrphanCaseNodesTask bug, make DeleteOrphanManifestNodesTask more efficient --- .../autoingest/Bundle.properties-MERGED | 7 +- .../autoingest/DeleteOrphanCaseNodesTask.java | 66 ++++++++++++------- .../DeleteOrphanManifestNodesTask.java | 34 ++++++---- 3 files changed, 70 insertions(+), 37 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED index 38d8ee47a1..d170670704 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED @@ -206,15 +206,20 @@ DeleteCaseTask.progress.releasingManifestLock=Releasing lock on the manifest fil DeleteCaseTask.progress.startMessage=Starting deletion... DeleteOrphanCaseNodesAction.progressDisplayName=Cleanup Case Znodes DeleteOrphanCaseNodesTask.progress.connectingToCoordSvc=Connecting to the coordination service +DeleteOrphanCaseNodesTask.progress.deletedOrphanedZnodes=Deleting orphaned case znodes # {0} - node path DeleteOrphanCaseNodesTask.progress.deletingOrphanedCaseNode=Deleting orphaned case znode {0} -DeleteOrphanCaseNodesTask.progress.gettingCaseNodesListing=Querying coordination service for case znodes +DeleteOrphanCaseNodesTask.progress.gettingCaseNodesListing=Querying coordination service for case znode paths +DeleteOrphanCaseNodesTask.progress.gettingCaseZnodes=Querying the coordination service for case znodes +DeleteOrphanCaseNodesTask.progress.lookingForOrphanedCaseNodes=Looking for orphaned case znodes +DeleteOrphanCaseNodesTask.progress.lookingForOrphanedCaseZnodes=Looking for orphaned case znodes DeleteOrphanCaseNodesTask.progress.startMessage=Starting orphaned case znode cleanup DeleteOrphanManifestNodesAction.progressDisplayName=Cleanup Manifest File Znodes DeleteOrphanManifestNodesTask.progress.connectingToCoordSvc=Connecting to the coordination service # {0} - node path DeleteOrphanManifestNodesTask.progress.deletingOrphanedManifestNode=Deleting orphaned manifest file znode {0} DeleteOrphanManifestNodesTask.progress.gettingManifestNodes=Querying the coordination service for manifest file znodes +DeleteOrphanManifestNodesTask.progress.lookingForOrphanedManifestFileZnodes=Looking for orphaned manifest file znodes DeleteOrphanManifestNodesTask.progress.startMessage=Starting orphaned manifest file znode cleanup HINT_CasesDashboardTopComponent=This is an adminstrative dashboard for multi-user cases OpenAutoIngestLogAction.deletedLogErrorMsg=The case auto ingest log has been deleted. diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index e06427e500..418500e9b6 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -20,12 +20,14 @@ package org.sleuthkit.autopsy.experimental.autoingest; import java.io.File; import java.nio.file.Path; +import java.nio.file.Paths; import java.util.List; import java.util.logging.Level; import org.openide.util.NbBundle; -import org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeData; -import org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeDataCollector; import org.sleuthkit.autopsy.casemodule.multiusercases.CoordinationServiceUtils; +import static org.sleuthkit.autopsy.casemodule.multiusercases.CoordinationServiceUtils.isCaseAutoIngestLogNodePath; +import static org.sleuthkit.autopsy.casemodule.multiusercases.CoordinationServiceUtils.isCaseNameNodePath; +import static org.sleuthkit.autopsy.casemodule.multiusercases.CoordinationServiceUtils.isCaseResourcesNodePath; import org.sleuthkit.autopsy.coordinationservice.CoordinationService; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.progress.ProgressIndicator; @@ -38,6 +40,8 @@ final class DeleteOrphanCaseNodesTask implements Runnable { private static final Logger logger = AutoIngestDashboardLogger.getLogger(); private final ProgressIndicator progress; + private int nodesCount; + private int casesCount; /** * Constucts an instance of a task for deleting case coordination service @@ -53,7 +57,8 @@ final class DeleteOrphanCaseNodesTask implements Runnable { @NbBundle.Messages({ "DeleteOrphanCaseNodesTask.progress.startMessage=Starting orphaned case znode cleanup", "DeleteOrphanCaseNodesTask.progress.connectingToCoordSvc=Connecting to the coordination service", - "DeleteOrphanCaseNodesTask.progress.gettingCaseNodesListing=Querying coordination service for case znodes" + "DeleteOrphanCaseNodesTask.progress.gettingCaseZnodes=Querying the coordination service for case znodes", + "DeleteOrphanCaseNodesTask.progress.lookingForOrphanedCaseZnodes=Looking for orphaned case znodes" }) public void run() { progress.start(Bundle.DeleteOrphanCaseNodesTask_progress_startMessage()); @@ -68,44 +73,55 @@ final class DeleteOrphanCaseNodesTask implements Runnable { return; } - progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseNodesListing()); - logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseNodesListing()); - List nodeDataList; + progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseZnodes()); + logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseZnodes()); + List nodePaths; try { - nodeDataList = CaseNodeDataCollector.getNodeData(); + nodePaths = coordinationService.getNodeList(CoordinationService.CategoryNode.CASES); } catch (CoordinationService.CoordinationServiceException ex) { - logger.log(Level.SEVERE, "Error collecting case node data", ex); //NON-NLS + logger.log(Level.SEVERE, "Error getting case znode list", ex); //NON-NLS return; } catch (InterruptedException unused) { - logger.log(Level.WARNING, "Task cancelled while collecting case node data"); //NON-NLS + logger.log(Level.WARNING, "Task cancelled while getting case znode list"); //NON-NLS return; } - for (CaseNodeData nodeData : nodeDataList) { - final Path caseDirectoryPath = nodeData.getDirectory(); + progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); + logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); + for (String nodePath : nodePaths) { + if (isCaseNameNodePath(nodePath) || isCaseResourcesNodePath(nodePath) || isCaseAutoIngestLogNodePath(nodePath)) { + continue; + } + + final Path caseDirectoryPath = Paths.get(nodePath); final File caseDirectory = caseDirectoryPath.toFile(); if (!caseDirectory.exists()) { - String caseName = nodeData.getDisplayName(); - String nodePath = ""; // NON-NLS + String caseName = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); + String nodeToDeletePath = ""; // NON-NLS try { - nodePath = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodePath); + nodeToDeletePath = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); + deleteNode(coordinationService, caseName, caseName); - nodePath = CoordinationServiceUtils.getCaseResourcesNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodePath); + nodeToDeletePath = CoordinationServiceUtils.getCaseResourcesNodePath(caseDirectoryPath); + deleteNode(coordinationService, caseName, nodeToDeletePath); - nodePath = CoordinationServiceUtils.getCaseAutoIngestLogNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodePath); + nodeToDeletePath = CoordinationServiceUtils.getCaseAutoIngestLogNodePath(caseDirectoryPath); + deleteNode(coordinationService, caseName, nodeToDeletePath); - nodePath = CoordinationServiceUtils.getCaseDirectoryNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodePath); + nodeToDeletePath = CoordinationServiceUtils.getCaseDirectoryNodePath(caseDirectoryPath); + deleteNode(coordinationService, caseName, nodeToDeletePath); + + ++casesCount; + progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); + logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); } catch (InterruptedException unused) { - logger.log(Level.WARNING, String.format("Task cancelled while deleting orphaned znode %s for %s", nodePath, caseName)); //NON-NLS + logger.log(Level.WARNING, String.format("Task cancelled while deleting orphaned znode %s for %s", nodeToDeletePath, caseName)); //NON-NLS return; } } } + } catch (Exception ex) { /* * This is an unexpected runtime exceptions firewall. It is here @@ -117,6 +133,7 @@ final class DeleteOrphanCaseNodesTask implements Runnable { throw ex; } finally { + logger.log(Level.INFO, String.format("Deleted %d orphaned case znodes for %d cases", nodesCount, casesCount)); progress.finish(); } } @@ -137,11 +154,12 @@ final class DeleteOrphanCaseNodesTask implements Runnable { private void deleteNode(CoordinationService coordinationService, String caseName, String nodePath) throws InterruptedException { try { progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_deletingOrphanedCaseNode(nodePath)); - logger.log(Level.INFO, String.format("Deleting orphaned case node %s for %s", nodePath, caseName)); //NON-NLS + logger.log(Level.INFO, String.format("Deleting orphaned case node %s for case %s", nodePath, caseName)); //NON-NLS coordinationService.deleteNode(CoordinationService.CategoryNode.CASES, nodePath); + ++nodesCount; } catch (CoordinationService.CoordinationServiceException ex) { if (!DeleteCaseUtils.isNoNodeException(ex)) { - logger.log(Level.SEVERE, String.format("Error deleting orphaned case node %s for %s", nodePath, caseName), ex); //NON-NLS + logger.log(Level.SEVERE, String.format("Error deleting orphaned case node %s for case %s", nodePath, caseName), ex); //NON-NLS } } } diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanManifestNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanManifestNodesTask.java index 158a092522..204d4c9e94 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanManifestNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanManifestNodesTask.java @@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.experimental.autoingest; import java.io.File; import java.nio.file.Path; +import java.nio.file.Paths; import java.util.List; import java.util.logging.Level; import org.openide.util.NbBundle; @@ -33,7 +34,7 @@ import org.sleuthkit.autopsy.progress.ProgressIndicator; */ final class DeleteOrphanManifestNodesTask implements Runnable { - private static final Logger logger = Logger.getLogger(DeleteOrphanManifestNodesTask.class.getName()); + private static final Logger logger = AutoIngestDashboardLogger.getLogger(); private final ProgressIndicator progress; /** @@ -51,13 +52,15 @@ final class DeleteOrphanManifestNodesTask implements Runnable { "DeleteOrphanManifestNodesTask.progress.startMessage=Starting orphaned manifest file znode cleanup", "DeleteOrphanManifestNodesTask.progress.connectingToCoordSvc=Connecting to the coordination service", "DeleteOrphanManifestNodesTask.progress.gettingManifestNodes=Querying the coordination service for manifest file znodes", + "DeleteOrphanManifestNodesTask.progress.lookingForOrphanedManifestFileZnodes=Looking for orphaned manifest file znodes", "# {0} - node path", "DeleteOrphanManifestNodesTask.progress.deletingOrphanedManifestNode=Deleting orphaned manifest file znode {0}" }) public void run() { progress.start(Bundle.DeleteOrphanManifestNodesTask_progress_startMessage()); + int nodesCount = 0; try { progress.progress(Bundle.DeleteOrphanManifestNodesTask_progress_connectingToCoordSvc()); - logger.log(Level.INFO, Bundle.DeleteOrphanManifestNodesTask_progress_connectingToCoordSvc()); + logger.log(Level.INFO, Bundle.DeleteOrphanManifestNodesTask_progress_connectingToCoordSvc()); CoordinationService coordinationService; try { coordinationService = CoordinationService.getInstance(); @@ -68,36 +71,42 @@ final class DeleteOrphanManifestNodesTask implements Runnable { progress.progress(Bundle.DeleteOrphanManifestNodesTask_progress_gettingManifestNodes()); logger.log(Level.INFO, Bundle.DeleteOrphanManifestNodesTask_progress_gettingManifestNodes()); - List nodeDataList; + List nodePaths; try { - nodeDataList = AutoIngestJobNodeDataCollector.getNodeData(); + nodePaths = coordinationService.getNodeList(CoordinationService.CategoryNode.MANIFESTS); } catch (CoordinationService.CoordinationServiceException ex) { - logger.log(Level.SEVERE, "Error collecting auto ingest job node data", ex); // NON-NLS + logger.log(Level.SEVERE, "Error getting manifest file znode list", ex); // NON-NLS return; } catch (InterruptedException unused) { - logger.log(Level.WARNING, "Task cancelled while collecting auto ingest job node data"); // NON-NLS + logger.log(Level.WARNING, "Task cancelled while getting manifest file znode list"); // NON-NLS return; } - for (AutoIngestJobNodeData nodeData : nodeDataList) { - final String caseName = nodeData.getCaseName(); - final Path manifestFilePath = nodeData.getManifestFilePath(); + progress.progress(Bundle.DeleteOrphanManifestNodesTask_progress_lookingForOrphanedManifestFileZnodes()); + logger.log(Level.INFO, Bundle.DeleteOrphanManifestNodesTask_progress_lookingForOrphanedManifestFileZnodes()); + for (String nodePath : nodePaths) { + final Path manifestFilePath = Paths.get(nodePath); final File manifestFile = manifestFilePath.toFile(); if (!manifestFile.exists()) { try { progress.progress(Bundle.DeleteOrphanManifestNodesTask_progress_deletingOrphanedManifestNode(manifestFilePath)); - logger.log(Level.INFO, String.format("Deleting orphaned manifest file znode %s for %s", manifestFilePath, caseName)); + logger.log(Level.INFO, String.format("Deleting orphaned manifest file znode %s", manifestFilePath)); coordinationService.deleteNode(CoordinationService.CategoryNode.MANIFESTS, manifestFilePath.toString()); + ++nodesCount; } catch (CoordinationService.CoordinationServiceException ex) { if (!DeleteCaseUtils.isNoNodeException(ex)) { - logger.log(Level.SEVERE, String.format("Error deleting %s znode for %s", manifestFilePath, caseName), ex); // NON-NLS + logger.log(Level.SEVERE, String.format("Error deleting orphaned manifest file %s", manifestFilePath), ex); // NON-NLS } } catch (InterruptedException unused) { - logger.log(Level.WARNING, String.format("Task cancelled while deleting %s znode for %s", manifestFilePath, caseName)); // NON-NLS + logger.log(Level.WARNING, String.format("Task cancelled while deleting orphaned manifest file %s", manifestFilePath)); // NON-NLS return; } + + progress.progress(Bundle.DeleteOrphanManifestNodesTask_progress_lookingForOrphanedManifestFileZnodes()); + logger.log(Level.INFO, Bundle.DeleteOrphanManifestNodesTask_progress_lookingForOrphanedManifestFileZnodes()); } } + } catch (Exception ex) { /* * This is an unexpected runtime exceptions firewall. It is here @@ -109,6 +118,7 @@ final class DeleteOrphanManifestNodesTask implements Runnable { throw ex; } finally { + logger.log(Level.INFO, String.format("Deleted %d orphaned manifest file znodes", nodesCount)); progress.finish(); } } From 80f1f5fa2c57f33ab9d992c49f266b2374a55911 Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Thu, 2 May 2019 12:54:00 -0400 Subject: [PATCH 5/6] Rebuild bundle properties merge file for Experimental --- .../autopsy/experimental/autoingest/Bundle.properties-MERGED | 3 --- 1 file changed, 3 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED index d170670704..46c6d587fc 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED @@ -206,12 +206,9 @@ DeleteCaseTask.progress.releasingManifestLock=Releasing lock on the manifest fil DeleteCaseTask.progress.startMessage=Starting deletion... DeleteOrphanCaseNodesAction.progressDisplayName=Cleanup Case Znodes DeleteOrphanCaseNodesTask.progress.connectingToCoordSvc=Connecting to the coordination service -DeleteOrphanCaseNodesTask.progress.deletedOrphanedZnodes=Deleting orphaned case znodes # {0} - node path DeleteOrphanCaseNodesTask.progress.deletingOrphanedCaseNode=Deleting orphaned case znode {0} -DeleteOrphanCaseNodesTask.progress.gettingCaseNodesListing=Querying coordination service for case znode paths DeleteOrphanCaseNodesTask.progress.gettingCaseZnodes=Querying the coordination service for case znodes -DeleteOrphanCaseNodesTask.progress.lookingForOrphanedCaseNodes=Looking for orphaned case znodes DeleteOrphanCaseNodesTask.progress.lookingForOrphanedCaseZnodes=Looking for orphaned case znodes DeleteOrphanCaseNodesTask.progress.startMessage=Starting orphaned case znode cleanup DeleteOrphanManifestNodesAction.progressDisplayName=Cleanup Manifest File Znodes From d2bb237da6cf224e95ef7d7f3f0a4dd5965ad977 Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Thu, 2 May 2019 13:01:37 -0400 Subject: [PATCH 6/6] Polish of DeleteOrphanCaseNodesTask, DeleteOrphanManifestNodesTask --- .../autoingest/DeleteOrphanCaseNodesTask.java | 30 +++++++++++-------- .../DeleteOrphanManifestNodesTask.java | 3 ++ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index 418500e9b6..16f0592548 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -88,35 +88,39 @@ final class DeleteOrphanCaseNodesTask implements Runnable { progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); - for (String nodePath : nodePaths) { - if (isCaseNameNodePath(nodePath) || isCaseResourcesNodePath(nodePath) || isCaseAutoIngestLogNodePath(nodePath)) { + for (String caseNodePath : nodePaths) { + if (isCaseNameNodePath(caseNodePath) || isCaseResourcesNodePath(caseNodePath) || isCaseAutoIngestLogNodePath(caseNodePath)) { continue; } - final Path caseDirectoryPath = Paths.get(nodePath); + final Path caseDirectoryPath = Paths.get(caseNodePath); final File caseDirectory = caseDirectoryPath.toFile(); if (!caseDirectory.exists()) { String caseName = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); - String nodeToDeletePath = ""; // NON-NLS + String nodePath = ""; // NON-NLS try { - nodeToDeletePath = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, caseName); + nodePath = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); + deleteNode(coordinationService, caseName, nodePath); - nodeToDeletePath = CoordinationServiceUtils.getCaseResourcesNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodeToDeletePath); + nodePath = CoordinationServiceUtils.getCaseResourcesNodePath(caseDirectoryPath); + deleteNode(coordinationService, caseName, nodePath); - nodeToDeletePath = CoordinationServiceUtils.getCaseAutoIngestLogNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodeToDeletePath); + nodePath = CoordinationServiceUtils.getCaseAutoIngestLogNodePath(caseDirectoryPath); + deleteNode(coordinationService, caseName, nodePath); - nodeToDeletePath = CoordinationServiceUtils.getCaseDirectoryNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodeToDeletePath); + nodePath = CoordinationServiceUtils.getCaseDirectoryNodePath(caseDirectoryPath); + deleteNode(coordinationService, caseName, nodePath); ++casesCount; + + /* + * Back to looking for orphans... + */ progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); } catch (InterruptedException unused) { - logger.log(Level.WARNING, String.format("Task cancelled while deleting orphaned znode %s for %s", nodeToDeletePath, caseName)); //NON-NLS + logger.log(Level.WARNING, String.format("Task cancelled while deleting orphaned znode %s for %s", nodePath, caseName)); //NON-NLS return; } } diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanManifestNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanManifestNodesTask.java index 204d4c9e94..1cbc4086f0 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanManifestNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanManifestNodesTask.java @@ -102,6 +102,9 @@ final class DeleteOrphanManifestNodesTask implements Runnable { return; } + /* + * Back to looking for orphans... + */ progress.progress(Bundle.DeleteOrphanManifestNodesTask_progress_lookingForOrphanedManifestFileZnodes()); logger.log(Level.INFO, Bundle.DeleteOrphanManifestNodesTask_progress_lookingForOrphanedManifestFileZnodes()); }