remove use of deprecated method for file search, use thread-safe method

This commit is contained in:
adam-m 2013-02-12 15:45:13 -05:00 committed by Sean-M
parent 3dbf7b1ed2
commit e480c4802e

View File

@ -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;
}