From 624d3cf2041c4cd2c42f941c0d10c93c7ba7d58c Mon Sep 17 00:00:00 2001
From: apriestman <apriestman@basistech.com>
Date: Thu, 5 Nov 2020 15:57:52 -0500
Subject: [PATCH] Separated saving file and updating db

---
 .../org/sleuthkit/datamodel/FileRepositoryManager.java   | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/bindings/java/src/org/sleuthkit/datamodel/FileRepositoryManager.java b/bindings/java/src/org/sleuthkit/datamodel/FileRepositoryManager.java
index eb523c557..fbb5258ee 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/FileRepositoryManager.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/FileRepositoryManager.java
@@ -50,7 +50,7 @@ public class FileRepositoryManager {
 		fileDownloadFolder = "";
 	}
 	
-	public void initializeSettings(FileRepositorySettings settings, String fileDownloadPath) {
+	public synchronized void initializeSettings(FileRepositorySettings settings, String fileDownloadPath) {
 		this.settings = settings;
 		this.fileDownloadFolder = fileDownloadPath;
 	}
@@ -58,7 +58,7 @@ public void initializeSettings(FileRepositorySettings settings, String fileDownl
 	/**
 	 * Check whether the file repository has been initialized.
 	 */
-	public boolean isEnabled() {
+	public synchronized boolean isEnabled() {
 		return settings != null;
 	}
 	
@@ -142,7 +142,7 @@ private void downloadFileFromFileService(AbstractFile abstractFile, String downl
 	 * @param abstractFile 
 	 * @param trans
 	 */
-	public void saveToFileRepository(AbstractFile abstractFile, SleuthkitCase.CaseDbTransaction trans) throws TskCoreException {
+	public void saveToFileRepository(AbstractFile abstractFile) throws TskCoreException {
 		
 		if (! isEnabled()) {
 			throw new TskCoreException("File repository is not enabled");
@@ -167,6 +167,9 @@ public void saveToFileRepository(AbstractFile abstractFile, SleuthkitCase.CaseDb
 		
 		// Save the abstractFile data
 		saveLocalFileToFileService(filePath);
+	}
+	
+	public void updateFileToUseFileRepository(AbstractFile abstractFile, SleuthkitCase.CaseDbTransaction trans)throws TskCoreException {
 		
 		// Update the file table entry
 		try {
-- 
GitLab