mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
remove use of deprecated method for file search, use thread-safe method
This commit is contained in:
parent
3dbf7b1ed2
commit
e480c4802e
@ -20,7 +20,6 @@ package org.sleuthkit.autopsy.datamodel;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
@ -28,15 +27,12 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.openide.nodes.AbstractNode;
|
||||
import org.openide.nodes.ChildFactory;
|
||||
import org.openide.nodes.Node;
|
||||
import org.openide.util.Exceptions;
|
||||
import org.openide.util.lookup.Lookups;
|
||||
import org.sleuthkit.autopsy.datamodel.SearchFilters.FileSearchFilter;
|
||||
import org.sleuthkit.datamodel.Content;
|
||||
import org.sleuthkit.datamodel.ContentVisitor;
|
||||
import org.sleuthkit.datamodel.Directory;
|
||||
import org.sleuthkit.datamodel.File;
|
||||
import org.sleuthkit.datamodel.FsContent;
|
||||
import org.sleuthkit.datamodel.SleuthkitCase;
|
||||
import org.sleuthkit.datamodel.TskCoreException;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -61,38 +57,29 @@ class FileSearchFilterChildren extends ChildFactory<Content> {
|
||||
}
|
||||
|
||||
private String createQuery(){
|
||||
String query = "select * from tsk_files where known <> 1 and (0";
|
||||
String query = "known <> 1 AND (0";
|
||||
for(String s : filter.getFilter()){
|
||||
query += " or name like '%" + s + "'";
|
||||
query += " OR name LIKE '%" + s + "'";
|
||||
}
|
||||
query += ')';
|
||||
//query += " limit " + MAX_OBJECTS;
|
||||
//query += " LIMIT " + MAX_OBJECTS;
|
||||
return query;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private List<FsContent> runQuery(){
|
||||
ResultSet rs = null;
|
||||
List<FsContent> list = new ArrayList<FsContent>();
|
||||
try {
|
||||
rs = skCase.runQuery(createQuery());
|
||||
for(FsContent c : skCase.resultSetToFsContents(rs)){
|
||||
List<FsContent> res = skCase.findFilesWhere(createQuery());
|
||||
for(FsContent c : res){
|
||||
if(c.isFile()){
|
||||
list.add(c);
|
||||
}
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
} catch (TskCoreException ex) {
|
||||
logger.log(Level.WARNING, "Couldn't get search results", ex);
|
||||
}
|
||||
finally {
|
||||
if (rs != null) {
|
||||
try {
|
||||
skCase.closeRunQuery(rs);
|
||||
} catch (SQLException ex) {
|
||||
logger.log(Level.SEVERE, "Error closing result set after executing fscontents query for file search results", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user