diff --git a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java index 0f8fb7c889864f012d2bd9c1a3bc158eadd8e3bb..42060e51aaa4229dd86c44740b18f0ccf96d0c6e 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java +++ b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java @@ -11699,6 +11699,12 @@ void executeUpdate(PreparedStatement statement) throws SQLException { @Override public void close() { try { + for (PreparedStatement stmt:preparedStatements.values()) { + closeStatement(stmt); + } + for (PreparedStatement stmt:adHocPreparedStatements.values()) { + closeStatement(stmt); + } connection.close(); } catch (SQLException ex) { logger.log(Level.SEVERE, "Unable to close connection to case database", ex); diff --git a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java index 608123381cc53ad04dbdb90911b3875b90f3178e..fbdec24d6c0af560845382c3a8d68d436557b5ea 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java +++ b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java @@ -439,7 +439,7 @@ void free() throws TskCoreException { * case database. */ long addImageInfo(long deviceObjId, List<String> imageFilePaths, String timeZone, SleuthkitCase skCase) throws TskCoreException { - JniDbHelper dbHelper = new JniDbHelper(skCase, new DefaultAddDataSourceCallbacks()); + TskCaseDbBridge dbHelper = new TskCaseDbBridge(skCase, new DefaultAddDataSourceCallbacks()); try { long tskAutoDbPointer = initializeAddImgNat(dbHelper, timezoneLongToShort(timeZone), false, false, false); runOpenAndAddImgNat(tskAutoDbPointer, UUID.randomUUID().toString(), imageFilePaths.toArray(new String[0]), imageFilePaths.size(), timeZone); @@ -486,7 +486,7 @@ public class AddImageProcess { private long imageId = 0; private boolean isCanceled; private final SleuthkitCase skCase; - private JniDbHelper dbHelper; + private TskCaseDbBridge dbHelper; /** * Constructs an object that encapsulates a multi-step process to @@ -552,7 +552,7 @@ public void run(String deviceId, String[] imageFilePaths, int sectorSize) throws */ public void run(String deviceId, Image image, int sectorSize, AddDataSourceCallbacks addDataSourceCallbacks) throws TskCoreException, TskDataException { - dbHelper = new JniDbHelper(skCase, addDataSourceCallbacks); + dbHelper = new TskCaseDbBridge(skCase, addDataSourceCallbacks); getTSKReadLock(); try { long imageHandle = 0; @@ -2096,9 +2096,9 @@ public static long openFile(long fsHandle, long fileId, TSK_FS_ATTR_TYPE_ENUM at private static native HashHitInfo hashDbLookupVerbose(String hash, int dbHandle) throws TskCoreException; - private static native long initAddImgNat(JniDbHelper dbHelperObj, String timezone, boolean addUnallocSpace, boolean skipFatFsOrphans) throws TskCoreException; + private static native long initAddImgNat(TskCaseDbBridge dbHelperObj, String timezone, boolean addUnallocSpace, boolean skipFatFsOrphans) throws TskCoreException; - private static native long initializeAddImgNat(JniDbHelper dbHelperObj, String timezone, boolean addFileSystems, boolean addUnallocSpace, boolean skipFatFsOrphans) throws TskCoreException; + private static native long initializeAddImgNat(TskCaseDbBridge dbHelperObj, String timezone, boolean addFileSystems, boolean addUnallocSpace, boolean skipFatFsOrphans) throws TskCoreException; private static native void runOpenAndAddImgNat(long process, String deviceId, String[] imgPath, int splits, String timezone) throws TskCoreException, TskDataException; diff --git a/bindings/java/src/org/sleuthkit/datamodel/JniDbHelper.java b/bindings/java/src/org/sleuthkit/datamodel/TskCaseDbBridge.java similarity index 99% rename from bindings/java/src/org/sleuthkit/datamodel/JniDbHelper.java rename to bindings/java/src/org/sleuthkit/datamodel/TskCaseDbBridge.java index 1b700b77d4019909ea85a69a2f4d0cc7a900c1f6..6fcf0a38fb77eebfeb5d6238e150ab1f8f4ceb0e 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/JniDbHelper.java +++ b/bindings/java/src/org/sleuthkit/datamodel/TskCaseDbBridge.java @@ -43,9 +43,9 @@ * Note that this code should only be used for the add image process, and not * to add additional files afterward. */ -class JniDbHelper { +class TskCaseDbBridge { - private static final Logger logger = Logger.getLogger(JniDbHelper.class.getName()); + private static final Logger logger = Logger.getLogger(TskCaseDbBridge.class.getName()); private final SleuthkitCase caseDb; private CaseDbTransaction trans = null; @@ -60,7 +60,7 @@ class JniDbHelper { private final Queue<LayoutRangeInfo> batchedLayoutRanges = new LinkedList<>(); private final List<Long> layoutFileIds = new ArrayList<>(); - JniDbHelper(SleuthkitCase caseDb, AddDataSourceCallbacks addDataSourceCallbacks) { + TskCaseDbBridge(SleuthkitCase caseDb, AddDataSourceCallbacks addDataSourceCallbacks) { this.caseDb = caseDb; this.addDataSourceCallbacks = addDataSourceCallbacks; trans = null;