1
0
mirror of https://github.com/elisspace/autopsy.git synced 2026-09-05 18:14:30 +00:00

Added read only and known status to central repo.

Got organization display working.
This commit is contained in:
Ann Priestman
2017-10-30 15:35:50 -04:00
parent b458d00507
commit ac6b4e68ee
14 changed files with 189 additions and 63 deletions

View File

@@ -1491,6 +1491,19 @@ public abstract class AbstractSqlEamDb implements EamDb {
}
}
/**
* Get the organization associated with the given reference set.
* @param globalSetID ID of the reference set
* @return The organization object
* @throws EamDbException
*/
@Override
public EamOrganization getReferenceSetOrganization(int globalSetID) throws EamDbException{
EamGlobalSet globalSet = getReferenceSetByID(globalSetID);
return (getOrganizationByID(globalSet.getOrgID()));
}
/**
* Add a new Global Set
*
@@ -1531,15 +1544,15 @@ public abstract class AbstractSqlEamDb implements EamDb {
PreparedStatement preparedStatement1 = null;
PreparedStatement preparedStatement2 = null;
ResultSet resultSet = null;
String sql1 = "INSERT INTO reference_sets(org_id, set_name, version, known_status, read_only, import_date) VALUES (?, ?, ?, ?)";
String sql2 = "SELECT id FROM reference_sets WHERE org_id=? AND set_name=? AND version=? AND read_only=? AND known_status=? AND import_date=? LIMIT 1";
String sql1 = "INSERT INTO reference_sets(org_id, set_name, version, known_status, read_only, import_date) VALUES (?, ?, ?, ?, ?, ?)";
String sql2 = "SELECT id FROM reference_sets WHERE org_id=? AND set_name=? AND version=? AND import_date=? LIMIT 1";
try {
preparedStatement1 = conn.prepareStatement(sql1);
preparedStatement1.setInt(1, eamGlobalSet.getOrgID());
preparedStatement1.setString(2, eamGlobalSet.getSetName());
preparedStatement1.setString(3, eamGlobalSet.getVersion());
preparedStatement1.setInt(4, eamGlobalSet.getKnownStatus().getFileKnownValue());
preparedStatement1.setInt(4, eamGlobalSet.getFileKnownStatus().getFileKnownValue());
preparedStatement1.setBoolean(5, eamGlobalSet.isReadOnly());
preparedStatement1.setString(6, eamGlobalSet.getImportDate().toString());

View File

@@ -427,6 +427,14 @@ public interface EamDb {
*/
EamOrganization getOrganizationByID(int orgID) throws EamDbException;
/**
* Get the organization associated with the given reference set.
* @param globalSetID ID of the reference set
* @return The organization object
* @throws EamDbException
*/
EamOrganization getReferenceSetOrganization(int globalSetID) throws EamDbException;
/**
* Add a new Global Set
*

View File

@@ -31,7 +31,7 @@ public class EamGlobalSet {
private int orgID;
private String setName;
private String version;
private TskData.FileKnown knownStatus;
private TskData.FileKnown fileKnownStatus;
private boolean isReadOnly;
private LocalDate importDate;
@@ -47,7 +47,7 @@ public class EamGlobalSet {
this.orgID = orgID;
this.setName = setName;
this.version = version;
this.knownStatus = knownStatus;
this.fileKnownStatus = knownStatus;
this.isReadOnly = isReadOnly;
this.importDate = importDate;
}
@@ -135,15 +135,26 @@ public class EamGlobalSet {
/**
* @return the known status
*/
public TskData.FileKnown getKnownStatus() {
return knownStatus;
public TskData.FileKnown getFileKnownStatus() {
return fileKnownStatus;
}
/**
* @param knownStatus the known status to set
*/
public void setKnownStatus(TskData.FileKnown knownStatus) {
this.knownStatus = knownStatus;
public void setFileKnownStatus(TskData.FileKnown fileKnownStatus) {
this.fileKnownStatus = fileKnownStatus;
}
/**
* Return the FileKnown status as a KnownFilesType
* @return KNOWN or KNOWN_BAD
*/
public HashDbManager.HashDb.KnownFilesType getKnownStatus(){
if(fileKnownStatus.equals(TskData.FileKnown.BAD)){
return HashDbManager.HashDb.KnownFilesType.KNOWN_BAD;
}
return HashDbManager.HashDb.KnownFilesType.KNOWN;
}
/**

View File

@@ -370,6 +370,8 @@ public final class PostgresEamDbSettings {
createReferenceSetsTable.append("org_id integer NOT NULL,");
createReferenceSetsTable.append("set_name text NOT NULL,");
createReferenceSetsTable.append("version text NOT NULL,");
createReferenceSetsTable.append("known_status integer NOT NULL,");
createReferenceSetsTable.append("read_only boolean NOT NULL,");
createReferenceSetsTable.append("import_date text NOT NULL,");
createReferenceSetsTable.append("foreign key (org_id) references organizations(id) ON UPDATE SET NULL ON DELETE SET NULL,");
createReferenceSetsTable.append("CONSTRAINT hash_set_unique UNIQUE (set_name, version)");

View File

@@ -752,7 +752,7 @@ public class SqliteEamDb extends AbstractSqlEamDb {
} finally {
releaseSharedLock();
}
}
}
/**
* Add a new Global Set

View File

@@ -57,7 +57,7 @@ class FileSearchDialog extends javax.swing.JDialog {
@Override
public void actionPerformed(ActionEvent e) {
dispose();
}
}
});
}

View File

@@ -509,7 +509,8 @@ final class HashDbImportDatabaseDialog extends javax.swing.JDialog {
} else {
ImportCentralRepoDbProgressDialog progressDialog = new ImportCentralRepoDbProgressDialog();
progressDialog.importFile(hashSetNameTextField.getText(), versionTextField.getText(),
selectedOrg.getOrgID(), true, sendIngestMessagesCheckbox.isSelected(), type, selectedFilePath);
selectedOrg.getOrgID(), true, sendIngestMessagesCheckbox.isSelected(), type,
this.readOnlyCheckbox.isSelected(), selectedFilePath);
selectedHashDb = progressDialog.getDatabase();
}

View File

@@ -302,14 +302,15 @@ public class HashDbManager implements PropertyChangeListener {
}
public CentralRepoHashDb addExistingCentralRepoHashSet(String hashSetName, String version, int centralRepoIndex,
boolean searchDuringIngest, boolean sendIngestMessages, HashDb.KnownFilesType knownFilesType) throws TskCoreException{
boolean searchDuringIngest, boolean sendIngestMessages, HashDb.KnownFilesType knownFilesType,
boolean readOnly) throws TskCoreException{
if(! EamDb.isEnabled()){
throw new TskCoreException("Could not load central repository database " + hashSetName + " - central repository is not enabled");
}
CentralRepoHashDb db = new CentralRepoHashDb(hashSetName, version, centralRepoIndex, searchDuringIngest,
sendIngestMessages, knownFilesType);
sendIngestMessages, knownFilesType, readOnly);
if(! db.isValid()){
throw new TskCoreException("Error finding database " + hashSetName + " in central repository");
@@ -559,6 +560,20 @@ public class HashDbManager implements PropertyChangeListener {
hashDbs.addAll(this.hashSets);
return hashDbs;
}
/**
* Adds any new central repository databases to the list of hashes
* before returning a copy of the hash set list
* @return A list, possibly empty, of hash databases.
*/
public synchronized List<HashDatabase> refreshAndGetAllHashDatabases(){
try{
updateHashSetsFromCentralRepository();
} catch (TskCoreException ex){
Logger.getLogger(HashDbManager.class.getName()).log(Level.SEVERE, "Error loading central repository hash sets", ex); //NON-NLS
}
return getAllHashDatabases();
}
/**
* Gets all of the hash databases used to classify files as known.
@@ -658,10 +673,13 @@ public class HashDbManager implements PropertyChangeListener {
try{
List<EamGlobalSet> crSets = EamDb.getInstance().getAllReferenceSets();
for(EamGlobalSet globalSet:crSets){
EamOrganization org = EamDb.getInstance().getOrganizationByID(globalSet.getOrgID());
// TEMP TEMP FIX
crHashSets.add(new HashDbInfo(globalSet.getSetName(), globalSet.getVersion(), org.getName(),
globalSet.getGlobalSetID(), HashDbManager.HashDb.KnownFilesType.KNOWN_BAD, true, true));
// Defaults for fields not stored in the central repository:
// searchDuringIngest: false
// sendIngestMessages: true if the hash set is notable
boolean sendIngestMessages = globalSet.getKnownStatus().equals(HashDb.KnownFilesType.KNOWN_BAD);
crHashSets.add(new HashDbInfo(globalSet.getSetName(), globalSet.getVersion(),
globalSet.getGlobalSetID(), globalSet.getKnownStatus(), globalSet.isReadOnly(), false, sendIngestMessages));
}
} catch (EamDbException ex){
ex.printStackTrace();
@@ -708,7 +726,8 @@ public class HashDbManager implements PropertyChangeListener {
*
* @param settings The settings to configure.
*/
@Messages({"# {0} - database name", "HashDbManager.noDbPath.message=Couldn't get valid database path for: {0}"})
@Messages({"# {0} - database name", "HashDbManager.noDbPath.message=Couldn't get valid database path for: {0}",
"HashDbManager.centralRepoLoadError.message=Error loading central repository hash sets"})
private void configureSettings(HashLookupSettings settings) {
allDatabasesLoadedCorrectly = true;
List<HashDbInfo> hashDbInfoList = settings.getHashDbInfo();
@@ -722,11 +741,14 @@ public class HashDbManager implements PropertyChangeListener {
logger.log(Level.WARNING, Bundle.HashDbManager_noDbPath_message(hashDbInfo.getHashSetName()));
allDatabasesLoadedCorrectly = false;
}
}// else {
// addExistingCentralRepoHashSet(hashDbInfo.getHashSetName(), hashDbInfo.getVersion(),
// hashDbInfo.getCentralRepoIndex(),
// hashDbInfo.getSearchDuringIngest(), hashDbInfo.getSendIngestMessages(), hashDbInfo.getKnownFilesType());
//}
} else {
if(EamDb.isEnabled()){
addExistingCentralRepoHashSet(hashDbInfo.getHashSetName(), hashDbInfo.getVersion(),
hashDbInfo.getCentralRepoIndex(),
hashDbInfo.getSearchDuringIngest(), hashDbInfo.getSendIngestMessages(),
hashDbInfo.getKnownFilesType(), hashDbInfo.isReadOnly());
}
}
} catch (TskCoreException ex) {
Logger.getLogger(HashDbManager.class.getName()).log(Level.SEVERE, "Error opening hash database", ex); //NON-NLS
JOptionPane.showMessageDialog(null,
@@ -738,17 +760,14 @@ public class HashDbManager implements PropertyChangeListener {
}
}
List<HashDbInfo> crHashDbInfoList = this.getCentralRepoHashSetsFromDatabase();
for(HashDbInfo hashDbInfo : crHashDbInfoList) {
if(EamDb.isEnabled()){
try{
addExistingCentralRepoHashSet(hashDbInfo.getHashSetName(), hashDbInfo.getVersion(),
hashDbInfo.getCentralRepoIndex(),
hashDbInfo.getSearchDuringIngest(), hashDbInfo.getSendIngestMessages(), hashDbInfo.getKnownFilesType());
} catch (TskCoreException ex) {
updateHashSetsFromCentralRepository();
} catch (TskCoreException ex){
Logger.getLogger(HashDbManager.class.getName()).log(Level.SEVERE, "Error opening hash database", ex); //NON-NLS
JOptionPane.showMessageDialog(null,
NbBundle.getMessage(this.getClass(),
"HashDbManager.unableToOpenHashDbMsg", hashDbInfo.getHashSetName()),
Bundle.HashDbManager_centralRepoLoadError_message(),
NbBundle.getMessage(this.getClass(), "HashDbManager.openHashDbErr"),
JOptionPane.ERROR_MESSAGE);
allDatabasesLoadedCorrectly = false;
@@ -772,6 +791,29 @@ public class HashDbManager implements PropertyChangeListener {
}
}
}
void updateHashSetsFromCentralRepository() throws TskCoreException {
if(EamDb.isEnabled()){
List<HashDbInfo> crHashDbInfoList = getCentralRepoHashSetsFromDatabase();
for(HashDbInfo hashDbInfo : crHashDbInfoList) {
if(hashDbInfoIsNew(hashDbInfo)){
addExistingCentralRepoHashSet(hashDbInfo.getHashSetName(), hashDbInfo.getVersion(),
hashDbInfo.getCentralRepoIndex(),
hashDbInfo.getSearchDuringIngest(), hashDbInfo.getSendIngestMessages(), hashDbInfo.getKnownFilesType(),
hashDbInfo.isReadOnly());
}
}
}
}
private boolean hashDbInfoIsNew(HashDbInfo dbInfo){
for(HashDatabase db:this.hashSets){
if(dbInfo.matches(db)){
return false;
}
}
return true;
}
private String getValidFilePath(String hashSetName, String configuredPath) {
// Check the configured path.
@@ -1206,17 +1248,29 @@ public class HashDbManager implements PropertyChangeListener {
private final HashDb.KnownFilesType knownFilesType;
private final int centralRepoIndex;
private final String version;
private final String orgName = "";
private String orgName;
private final boolean readOnly;
private final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
@Messages({"HashDbManager.CentralRepoHashDb.orgError=Error loading organization"})
private CentralRepoHashDb(String hashSetName, String version, int centralRepoIndex,
boolean useForIngest, boolean sendHitMessages, HashDb.KnownFilesType knownFilesType) {
boolean useForIngest, boolean sendHitMessages, HashDb.KnownFilesType knownFilesType,
boolean readOnly)
throws TskCoreException{
this.hashSetName = hashSetName;
this.version = version;
this.centralRepoIndex = centralRepoIndex;
this.searchDuringIngest = useForIngest;
this.sendIngestMessages = sendHitMessages;
this.knownFilesType = knownFilesType;
this.readOnly = readOnly;
try{
orgName = EamDb.getInstance().getReferenceSetOrganization(centralRepoIndex).getName();
} catch (EamDbException ex){
Logger.getLogger(HashDb.class.getName()).log(Level.SEVERE, "Error looking up central repository organization", ex); //NON-NLS
orgName = Bundle.HashDbManager_CentralRepoHashDb_orgError();
}
}
/**
@@ -1255,7 +1309,7 @@ public class HashDbManager implements PropertyChangeListener {
}
public String getOrgName(){
return "org name";
return orgName;
}
public int getCentralRepoIndex(){
@@ -1311,6 +1365,8 @@ public class HashDbManager implements PropertyChangeListener {
@Override
public boolean isUpdateable() throws TskCoreException {
return false;
// TEMP this will change as soon as adding to the database is supported
// return (! readOnly);
}
/**

View File

@@ -60,7 +60,7 @@ public class HashLookupModuleFactory extends IngestModuleFactoryAdapter {
@Override
public IngestModuleIngestJobSettings getDefaultIngestJobSettings() {
// All available hash sets are enabled and always calculate hashes is true by default.
return new HashLookupModuleSettings(true, HashDbManager.getInstance().getAllHashDatabases());
return new HashLookupModuleSettings(true, HashDbManager.getInstance().refreshAndGetAllHashDatabases());
}
@Override

View File

@@ -53,6 +53,11 @@ public final class HashLookupModuleSettingsPanel extends IngestModuleIngestJobSe
}
private void initializeHashSetModels(HashLookupModuleSettings settings) {
try{
hashDbManager.updateHashSetsFromCentralRepository();
} catch (TskCoreException ex){
Logger.getLogger(HashLookupModuleSettingsPanel.class.getName()).log(Level.SEVERE, "Error updating central repository hash sets", ex); //NON-NLS
}
initializeHashSetModels(settings, hashDbManager.getKnownFileHashDatabases(), knownHashSetModels);
initializeHashSetModels(settings, hashDbManager.getNotableFileHashDatabases(), knownBadHashSetModels);
}

View File

@@ -38,6 +38,7 @@ import org.sleuthkit.autopsy.coreutils.PlatformUtil;
import org.sleuthkit.autopsy.coreutils.XMLUtil;
import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.HashDatabase;
import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.HashDatabase.DatabaseType;
import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.CentralRepoHashDb;
import org.sleuthkit.datamodel.TskCoreException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -307,7 +308,7 @@ final class HashLookupSettings implements Serializable {
private final boolean sendIngestMessages;
private final String path;
private final String version;
private final String orgName;
private final boolean readOnly;
private final int centralRepoIndex;
private DatabaseType dbType;
@@ -329,16 +330,16 @@ final class HashLookupSettings implements Serializable {
this.path = path;
this.centralRepoIndex = -1;
this.version = "";
this.orgName = "";
this.readOnly = false;
this.dbType = DatabaseType.FILE;
}
HashDbInfo(String hashSetName, String version, String orgName, int centralRepoIndex, HashDbManager.HashDb.KnownFilesType knownFilesType, boolean searchDuringIngest, boolean sendIngestMessages){
HashDbInfo(String hashSetName, String version, int centralRepoIndex, HashDbManager.HashDb.KnownFilesType knownFilesType, boolean readOnly, boolean searchDuringIngest, boolean sendIngestMessages){
this.hashSetName = hashSetName;
this.version = version;
this.orgName = orgName;
this.centralRepoIndex = centralRepoIndex;
this.knownFilesType = knownFilesType;
this.readOnly = readOnly;
this.searchDuringIngest = searchDuringIngest;
this.sendIngestMessages = sendIngestMessages;
this.path = "";
@@ -354,7 +355,7 @@ final class HashLookupSettings implements Serializable {
this.sendIngestMessages = fileTypeDb.getSendIngestMessages();
this.centralRepoIndex = -1;
this.version = "";
this.orgName = "";
this.readOnly = false;
this.dbType = DatabaseType.FILE;
if (fileTypeDb.hasIndexOnly()) {
this.path = fileTypeDb.getIndexPath();
@@ -365,8 +366,8 @@ final class HashLookupSettings implements Serializable {
HashDbManager.CentralRepoHashDb centralRepoDb = (HashDbManager.CentralRepoHashDb)db;
this.hashSetName = centralRepoDb.getHashSetName();
this.version = centralRepoDb.getVersion();
this.orgName = centralRepoDb.getOrgName();
this.knownFilesType = centralRepoDb.getKnownFilesType();
this.readOnly = centralRepoDb.isUpdateable();
this.searchDuringIngest = centralRepoDb.getSearchDuringIngest();
this.sendIngestMessages = centralRepoDb.getSendIngestMessages();
this.path = "";
@@ -395,11 +396,11 @@ final class HashLookupSettings implements Serializable {
}
/**
* Get the organization name for the hash set
* @return org name
* Get whether the hash set is read only (only applies to central repo)
* @return readOnly
*/
String getOrgName(){
return orgName;
boolean isReadOnly(){
return readOnly;
}
/**
@@ -483,9 +484,18 @@ final class HashLookupSettings implements Serializable {
// FILE types will always have unique names, so no more testing required
return true;
}
// To do: central repo tests
return false;
// Central repo tests
CentralRepoHashDb crDb = (CentralRepoHashDb) hashDb;
if(this.centralRepoIndex != crDb.getCentralRepoIndex()){
return false;
}
if(! version.equals(crDb.getVersion())){
return false;
}
return true;
}
@Override

View File

@@ -65,6 +65,7 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan
.getMessage(HashLookupSettingsPanel.class, "HashDbConfigPanel.errorGettingIndexStatusText");
private final HashDbManager hashSetManager = HashDbManager.getInstance();
private final HashSetTableModel hashSetTableModel = new HashSetTableModel();
private final List<Integer> newCentralRepoIndices = new ArrayList<>();
public HashLookupSettingsPanel() {
initComponents();
@@ -350,6 +351,20 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan
* closed while they are still being used.
*/
if (IngestManager.getInstance().isIngestRunning() == false) {
// Remove any new central repo hash sets from the database
for(int index:newCentralRepoIndices){
try{
if(EamDb.isEnabled()){
EamDb.getInstance().deleteReferenceSet(index);
} else {
xx
Logger.getLogger(HashLookupSettingsPanel.class.getName()).log(Level.SEVERE, "Error getting index info for hash database", ex); //NON-NLS
}
} catch (EamDbException ex){
}
}
HashDbManager.getInstance().loadLastSavedConfiguration();
}
}
@@ -963,6 +978,11 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan
private void importDatabaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_importDatabaseButtonActionPerformed
HashDatabase hashDb = new HashDbImportDatabaseDialog().getHashDatabase();
if (null != hashDb) {
if(hashDb instanceof CentralRepoHashDb){
int newDbIndex = ((CentralRepoHashDb)hashDb).getCentralRepoIndex();
newCentralRepoIndices.add(newDbIndex);
}
hashSetTableModel.refreshModel();
((HashSetTable) hashSetTable).selectRowByDatabase(hashDb);
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);

View File

@@ -534,8 +534,8 @@ final public class ImportCentralRepoDatabaseDialog extends javax.swing.JDialog {
try{
ImportCentralRepoDbProgressDialog progressDialog = new ImportCentralRepoDbProgressDialog();
progressDialog.importFile(dbName, version,
selectedOrg.getOrgID(), true, sendMessages, known, selectedFilePath);
//progressDialog.importFile(dbName, version,
// selectedOrg.getOrgID(), true, sendMessages, known, selectedFilePath);
//HashDbManager.getInstance().importCentralRepoHashSet(dbName, version,
// selectedOrg.getOrgID(), true, sendMessages, known, selectedFilePath);
} catch (Exception ex){

View File

@@ -84,12 +84,12 @@ class ImportCentralRepoDbProgressDialog extends javax.swing.JDialog implements P
void importFile(String hashSetName, String version, int orgId,
boolean searchDuringIngest, boolean sendIngestMessages, HashDbManager.HashDb.KnownFilesType knownFilesType,
String importFileName){
boolean readOnly, String importFileName){
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
File importFile = new File(importFileName);
worker = new ImportIDXWorker(hashSetName, version, orgId, searchDuringIngest, sendIngestMessages,
knownFilesType, importFile);
knownFilesType, readOnly, importFile);
worker.addPropertyChangeListener(this);
worker.execute();
@@ -149,6 +149,7 @@ class ImportCentralRepoDbProgressDialog extends javax.swing.JDialog implements P
private final boolean searchDuringIngest;
private final boolean sendIngestMessages;
private final HashDbManager.HashDb.KnownFilesType knownFilesType;
private final boolean readOnly;
private final File importFile;
private final long totalLines;
private int crIndex = -1;
@@ -157,7 +158,7 @@ class ImportCentralRepoDbProgressDialog extends javax.swing.JDialog implements P
ImportIDXWorker(String hashSetName, String version, int orgId,
boolean searchDuringIngest, boolean sendIngestMessages, HashDbManager.HashDb.KnownFilesType knownFilesType,
File importFile){
boolean readOnly, File importFile){
this.hashSetName = hashSetName;
this.version = version;
@@ -165,6 +166,7 @@ class ImportCentralRepoDbProgressDialog extends javax.swing.JDialog implements P
this.searchDuringIngest = searchDuringIngest;
this.sendIngestMessages = sendIngestMessages;
this.knownFilesType = knownFilesType;
this.readOnly = readOnly;
this.importFile = importFile;
this.numLines.set(0);
@@ -210,22 +212,20 @@ class ImportCentralRepoDbProgressDialog extends javax.swing.JDialog implements P
@Override
protected Void doInBackground() throws Exception {
TskData.FileKnown knownStatus;
if (knownFilesType.equals(HashDbManager.HashDb.KnownFilesType.KNOWN)) {
knownStatus = TskData.FileKnown.KNOWN;
} else {
knownStatus = TskData.FileKnown.BAD;
}
try{
// Create an empty hashset in the central repository
crIndex = EamDb.getInstance().newReferenceSet(orgId, hashSetName, version);
crIndex = EamDb.getInstance().newReferenceSet(orgId, hashSetName, version, knownStatus, readOnly);
} catch (EamDbException ex){
throw new TskCoreException(ex.getLocalizedMessage());
}
try{
TskData.FileKnown knownStatus;
if (knownFilesType.equals(HashDbManager.HashDb.KnownFilesType.KNOWN)) {
knownStatus = TskData.FileKnown.KNOWN;
} else {
knownStatus = TskData.FileKnown.BAD;
}
EamDb dbManager = EamDb.getInstance();
CorrelationAttribute.Type contentType = dbManager.getCorrelationTypeById(CorrelationAttribute.FILES_TYPE_ID); // get "FILES" type
BufferedReader reader = new BufferedReader(new FileReader(importFile));
@@ -310,7 +310,7 @@ class ImportCentralRepoDbProgressDialog extends javax.swing.JDialog implements P
System.out.println("### Finished - adding hashDb object");
newHashDb = HashDbManager.getInstance().addExistingCentralRepoHashSet(hashSetName, version,
crIndex,
searchDuringIngest, sendIngestMessages, knownFilesType);
searchDuringIngest, sendIngestMessages, knownFilesType, readOnly);
} catch (TskCoreException ex){
System.out.println("\n### Error!");
}