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.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -28,15 +27,12 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
import org.openide.nodes.AbstractNode;
|
import org.openide.nodes.AbstractNode;
|
||||||
import org.openide.nodes.ChildFactory;
|
import org.openide.nodes.ChildFactory;
|
||||||
import org.openide.nodes.Node;
|
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.Content;
|
||||||
import org.sleuthkit.datamodel.ContentVisitor;
|
import org.sleuthkit.datamodel.ContentVisitor;
|
||||||
import org.sleuthkit.datamodel.Directory;
|
|
||||||
import org.sleuthkit.datamodel.File;
|
import org.sleuthkit.datamodel.File;
|
||||||
import org.sleuthkit.datamodel.FsContent;
|
import org.sleuthkit.datamodel.FsContent;
|
||||||
import org.sleuthkit.datamodel.SleuthkitCase;
|
import org.sleuthkit.datamodel.SleuthkitCase;
|
||||||
|
import org.sleuthkit.datamodel.TskCoreException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -61,38 +57,29 @@ class FileSearchFilterChildren extends ChildFactory<Content> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String createQuery(){
|
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()){
|
for(String s : filter.getFilter()){
|
||||||
query += " or name like '%" + s + "'";
|
query += " OR name LIKE '%" + s + "'";
|
||||||
}
|
}
|
||||||
query += ')';
|
query += ')';
|
||||||
//query += " limit " + MAX_OBJECTS;
|
//query += " LIMIT " + MAX_OBJECTS;
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
private List<FsContent> runQuery(){
|
private List<FsContent> runQuery(){
|
||||||
ResultSet rs = null;
|
ResultSet rs = null;
|
||||||
List<FsContent> list = new ArrayList<FsContent>();
|
List<FsContent> list = new ArrayList<FsContent>();
|
||||||
try {
|
try {
|
||||||
rs = skCase.runQuery(createQuery());
|
List<FsContent> res = skCase.findFilesWhere(createQuery());
|
||||||
for(FsContent c : skCase.resultSetToFsContents(rs)){
|
for(FsContent c : res){
|
||||||
if(c.isFile()){
|
if(c.isFile()){
|
||||||
list.add(c);
|
list.add(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
} catch (TskCoreException ex) {
|
||||||
logger.log(Level.WARNING, "Couldn't get search results", 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;
|
return list;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user