Moved TimelineEvent creation to TimelineManager

This commit is contained in:
Kelly Kelly 2019-07-17 12:10:55 -04:00
parent dfd5c8d309
commit 81fd4e0285

View File

@ -163,33 +163,8 @@ final public class DetailsViewModel {
//ensure length of querried interval is not 0
end = Math.max(end, start + 1);
//build dynamic parts of query
String querySql = "SELECT time, file_obj_id, data_source_obj_id, artifact_id, " // NON-NLS
+ " event_id, " //NON-NLS
+ " hash_hit, " //NON-NLS
+ " tagged, " //NON-NLS
+ " event_type_id, super_type_id, "
+ " full_description, med_description, short_description " // NON-NLS
+ " FROM " + TimelineManager.getAugmentedEventsTablesSQL(activeFilter) // NON-NLS
+ " WHERE time >= " + start + " AND time < " + end + " AND " + eventManager.getSQLWhere(activeFilter) // NON-NLS
+ " ORDER BY time"; // NON-NLS
List<TimelineEvent> events = new ArrayList<>();
try (SleuthkitCase.CaseDbQuery dbQuery = sleuthkitCase.executeQuery(querySql);
ResultSet resultSet = dbQuery.getResultSet();) {
while (resultSet.next()) {
events.add(eventHelper(resultSet));
}
} catch (TskCoreException ex) {
logger.log(Level.SEVERE, "Failed to get events with query: " + querySql, ex); // NON-NLS
throw ex;
} catch (SQLException ex) {
logger.log(Level.SEVERE, "Failed to get events with query: " + querySql, ex); // NON-NLS
throw new TskCoreException("Failed to get events with query: " + querySql, ex);
}
return events;
return eventManager.getEventsForFilter(start, end, activeFilter);
}
/**
@ -206,27 +181,27 @@ final public class DetailsViewModel {
*
* @throws SQLException
*/
private TimelineEvent eventHelper(ResultSet resultSet) throws SQLException, TskCoreException {
//the event tyepe to use to get the description.
int eventTypeID = resultSet.getInt("event_type_id");
EventType eventType = eventManager.getEventType(eventTypeID).orElseThrow(()
-> new TskCoreException("Error mapping event type id " + eventTypeID + "to EventType."));//NON-NLS
return new TimelineEvent(
resultSet.getLong("event_id"), // NON-NLS
resultSet.getLong("data_source_obj_id"), // NON-NLS
resultSet.getLong("file_obj_id"), // NON-NLS
resultSet.getLong("artifact_id"), // NON-NLS
resultSet.getLong("time"), // NON-NLS
eventType,
resultSet.getString("full_description"), // NON-NLS
resultSet.getString("med_description"), // NON-NLS
resultSet.getString("short_description"), // NON-NLS
resultSet.getInt("hash_hit") != 0, //NON-NLS
resultSet.getInt("tagged") != 0);
}
// private TimelineEvent eventHelper(ResultSet resultSet) throws SQLException, TskCoreException {
//
// //the event tyepe to use to get the description.
// int eventTypeID = resultSet.getInt("event_type_id");
// EventType eventType = eventManager.getEventType(eventTypeID).orElseThrow(()
// -> new TskCoreException("Error mapping event type id " + eventTypeID + "to EventType."));//NON-NLS
//
// return new TimelineEvent(
// resultSet.getLong("event_id"), // NON-NLS
// resultSet.getLong("data_source_obj_id"), // NON-NLS
// resultSet.getLong("file_obj_id"), // NON-NLS
// resultSet.getLong("artifact_id"), // NON-NLS
// resultSet.getLong("time"), // NON-NLS
// eventType,
// resultSet.getString("full_description"), // NON-NLS
// resultSet.getString("med_description"), // NON-NLS
// resultSet.getString("short_description"), // NON-NLS
// resultSet.getInt("hash_hit") != 0, //NON-NLS
// resultSet.getInt("tagged") != 0);
//
// }
/**
* Merge the events in the given list if they are within the same period