19 package org.sleuthkit.autopsy.casemodule.multiusercases;
22 import java.io.IOException;
23 import java.nio.file.LinkOption;
24 import java.nio.file.Path;
25 import java.nio.file.Paths;
26 import java.text.ParseException;
27 import java.util.ArrayList;
28 import java.util.List;
29 import java.util.logging.Level;
54 final List<CaseNodeData> cases =
new ArrayList<>();
57 for (String nodeName : nodeList) {
61 final Path nodeNameAsPath = Paths.get(nodeName);
62 if (!(nodeNameAsPath.toString().contains(
"\\") || nodeNameAsPath.toString().contains(
"//"))) {
69 final String lastNodeNameComponent = nodeNameAsPath.getFileName().toString();
70 if (lastNodeNameComponent.equals(CASE_AUTO_INGEST_LOG_NAME)) {
77 if (lastNodeNameComponent.endsWith(RESOURCES_LOCK_SUFFIX)) {
88 if (nodeBytes != null && nodeBytes.length > 0) {
104 logger.log(Level.SEVERE, String.format(
"Error getting coordination service node data for %s", nodeName), ex);
135 Path caseDirectoryPath = Paths.get(nodeName).toRealPath(LinkOption.NOFOLLOW_LINKS);
136 File caseDirectory = caseDirectoryPath.toFile();
137 if (caseDirectory.exists()) {
138 File[] files = caseDirectory.listFiles();
139 for (File file : files) {
140 String name = file.
getName().toLowerCase();
149 if (nodeData != null) {
154 throw new IOException(String.format(
"Could not find case metadata file for %s", nodeName));
static final String RESOURCES_LOCK_SUFFIX
static CaseNodeData createNodeDataFromCaseMetadata(String nodeName, boolean errorsOccurred)
MultiUserCaseNodeDataCollector()
static final String CASE_AUTO_INGEST_LOG_NAME
void setNodeData(CategoryNode category, String nodePath, byte[] data)
void setErrorsOccurred(boolean errorsOccurred)
static List< CaseNodeData > getNodeData()
synchronized static Logger getLogger(String name)
static synchronized CoordinationService getInstance()
List< String > getNodeList(CategoryNode category)
static final Logger logger