diff --git a/Core/src/org/sleuthkit/autopsy/timeline/FXMLConstructor.java b/Core/src/org/sleuthkit/autopsy/timeline/FXMLConstructor.java index c0c00be083..8d88a70630 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/FXMLConstructor.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/FXMLConstructor.java @@ -85,16 +85,16 @@ public class FXMLConstructor { try { fxmlLoader.load(); } catch (IOException exception) { - LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, falling back on default Class Loader, and trying again.", exception); + LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, falling back on default Class Loader, and trying again.", exception); //NON-NLS try { fxmlLoader.setClassLoader(FXMLLoader.getDefaultClassLoader()); fxmlLoader.load(); } catch (IOException ex) { - LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, node initialization may not be complete.", ex); + LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, node initialization may not be complete.", ex); //NON-NLS } } } catch (MalformedURLException ex) { - LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, node initialization may not be complete.", ex); + LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, node initialization may not be complete.", ex); //NON-NLS } } diff --git a/Core/src/org/sleuthkit/autopsy/timeline/PromptDialogManager.java b/Core/src/org/sleuthkit/autopsy/timeline/PromptDialogManager.java index ef249ff1e8..131b8db003 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/PromptDialogManager.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/PromptDialogManager.java @@ -63,7 +63,7 @@ public class PromptDialogManager { try { x = new Image(new URL("nbresloc:/org/netbeans/core/startup/frame.gif").openStream()); //NOI18N } catch (IOException ex) { - LOGGER.log(Level.WARNING, "Failed to load branded icon for progress dialog.", ex); //NOI18N + LOGGER.log(Level.WARNING, "Failed to load branded icon for progress dialog.", ex); //NOI18N NON-NLS } LOGO = x; } diff --git a/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomIn.java b/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomIn.java index bd58c3ccb7..fec431efe3 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomIn.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomIn.java @@ -29,7 +29,7 @@ import org.sleuthkit.autopsy.timeline.TimeLineController; */ public class ZoomIn extends Action { - private static final Image MAGNIFIER_IN = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-in-green.png"); //NOI18N + private static final Image MAGNIFIER_IN = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-in-green.png"); //NOI18N NON-NLS @NbBundle.Messages({"ZoomIn.longText=Zoom in to view about half as much time.", "ZoomIn.action.text=Zoom in"}) diff --git a/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomOut.java b/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomOut.java index 19a6630c33..214c61441c 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomOut.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomOut.java @@ -31,7 +31,7 @@ import org.sleuthkit.autopsy.timeline.datamodel.FilteredEventsModel; */ public class ZoomOut extends Action { - private static final Image MAGNIFIER_OUT = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-out-red.png"); //NOI18N + private static final Image MAGNIFIER_OUT = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-out-red.png"); //NOI18N NON-NLS @NbBundle.Messages({"ZoomOut.longText=Zoom out to view about 50% more time.", "ZoomOut.action.text=Zoom out"}) diff --git a/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomToEvents.java b/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomToEvents.java index 7bcc076936..340d9d8182 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomToEvents.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/actions/ZoomToEvents.java @@ -31,7 +31,7 @@ import org.sleuthkit.autopsy.timeline.datamodel.FilteredEventsModel; */ public class ZoomToEvents extends Action { - private static final Image MAGNIFIER_OUT = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-out-red.png", 16, 16, true, true); //NOI18N + private static final Image MAGNIFIER_OUT = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-out-red.png", 16, 16, true, true); //NOI18N NON-NLS @NbBundle.Messages({"ZoomToEvents.action.text=Zoom to events", "ZoomToEvents.longText=Zoom out to show the nearest events."}) diff --git a/Core/src/org/sleuthkit/autopsy/timeline/datamodel/EventStripe.java b/Core/src/org/sleuthkit/autopsy/timeline/datamodel/EventStripe.java index 7a6bb4be42..ffd8338cf0 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/datamodel/EventStripe.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/datamodel/EventStripe.java @@ -191,6 +191,6 @@ public final class EventStripe implements EventBundle { @Override public String toString() { - return "EventStripe{" + "description=" + description + ", eventIDs=" + eventIDs.size() + '}'; + return "EventStripe{" + "description=" + description + ", eventIDs=" + eventIDs.size() + '}'; //NON-NLS } } diff --git a/Core/src/org/sleuthkit/autopsy/timeline/datamodel/FilteredEventsModel.java b/Core/src/org/sleuthkit/autopsy/timeline/datamodel/FilteredEventsModel.java index 418e45f2ea..14a0d878f8 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/datamodel/FilteredEventsModel.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/datamodel/FilteredEventsModel.java @@ -111,7 +111,7 @@ public final class FilteredEventsModel { @GuardedBy("this") private final ReadOnlyObjectWrapper requestedZoomParamters = new ReadOnlyObjectWrapper<>(); - private final EventBus eventbus = new EventBus("Event_Repository_EventBus"); + private final EventBus eventbus = new EventBus("Event_Repository_EventBus"); //NON-NLS /** * The underlying repo for events. Atomic access to repo is synchronized @@ -374,7 +374,7 @@ public final class FilteredEventsModel { Set updatedEventIDs = repo.deleteTag(content.getId(), null, deletedTagInfo.getTagID(), tagged); return postTagsUpdated(updatedEventIDs); } catch (TskCoreException ex) { - LOGGER.log(Level.SEVERE, "unable to determine tagged status of content.", ex); + LOGGER.log(Level.SEVERE, "unable to determine tagged status of content.", ex); //NON-NLS } return false; } @@ -387,7 +387,7 @@ public final class FilteredEventsModel { Set updatedEventIDs = repo.deleteTag(artifact.getObjectID(), artifact.getArtifactID(), deletedTagInfo.getTagID(), tagged); return postTagsUpdated(updatedEventIDs); } catch (TskCoreException ex) { - LOGGER.log(Level.SEVERE, "unable to determine tagged status of artifact.", ex); + LOGGER.log(Level.SEVERE, "unable to determine tagged status of artifact.", ex); //NON-NLS } return false; } diff --git a/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/MiscTypes.java b/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/MiscTypes.java index 6f59c8f981..35e49360d3 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/MiscTypes.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/MiscTypes.java @@ -137,7 +137,7 @@ public enum MiscTypes implements EventType, ArtifactEventType { return file.getName(); } } catch (TskCoreException ex) { - Logger.getLogger(MiscTypes.class.getName()).log(Level.SEVERE, "Exif event type failed to look up backing file name", ex); + Logger.getLogger(MiscTypes.class.getName()).log(Level.SEVERE, "Exif event type failed to look up backing file name", ex); //NON-NLS } return " error loading file name"; // NON-NLS }), diff --git a/Core/src/org/sleuthkit/autopsy/timeline/db/EventDB.java b/Core/src/org/sleuthkit/autopsy/timeline/db/EventDB.java index 42a7063d58..e708fe0b99 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/db/EventDB.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/db/EventDB.java @@ -232,7 +232,7 @@ public class EventDB { return rs.getInt("count"); // NON-NLS } } catch (SQLException ex) { - LOGGER.log(Level.SEVERE, "Error counting all events", ex); + LOGGER.log(Level.SEVERE, "Error counting all events", ex); //NON-NLS } finally { DBLock.unlock(); } @@ -270,15 +270,15 @@ public class EventDB { HashMap counts = new HashMap<>(); DBLock.lock(); try (Statement createStatement = con.createStatement(); - ResultSet rs = createStatement.executeQuery("SELECT tag_name_display_name, COUNT(DISTINCT tag_id) AS count FROM tags" - + " WHERE event_id IN (" + StringUtils.join(eventIDsWithTags, ", ") + ")" - + " GROUP BY tag_name_id" - + " ORDER BY tag_name_display_name");) { + ResultSet rs = createStatement.executeQuery("SELECT tag_name_display_name, COUNT(DISTINCT tag_id) AS count FROM tags" //NON-NLS + + " WHERE event_id IN (" + StringUtils.join(eventIDsWithTags, ", ") + ")" //NON-NLS + + " GROUP BY tag_name_id" //NON-NLS + + " ORDER BY tag_name_display_name");) { //NON-NLS while (rs.next()) { - counts.put(rs.getString("tag_name_display_name"), rs.getLong("count")); + counts.put(rs.getString("tag_name_display_name"), rs.getLong("count")); //NON-NLS } } catch (SQLException ex) { - LOGGER.log(Level.SEVERE, "Failed to get tag counts by tag name.", ex); + LOGGER.log(Level.SEVERE, "Failed to get tag counts by tag name.", ex); //NON-NLS } finally { DBLock.unlock(); } @@ -327,7 +327,7 @@ public class EventDB { final String sqlWhere = SQLHelper.getSQLWhere(filter); DBLock.lock(); try (Statement stmt = con.createStatement(); //can't use prepared statement because of complex where clause - ResultSet rs = stmt.executeQuery(" SELECT (SELECT Max(time) FROM events " + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time <=" + start + " AND " + sqlWhere + ") AS start," + ResultSet rs = stmt.executeQuery(" SELECT (SELECT Max(time) FROM events " + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time <=" + start + " AND " + sqlWhere + ") AS start," //NON-NLS + "(SELECT Min(time) FROM events" + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time >= " + end + " AND " + sqlWhere + ") AS end")) { // NON-NLS while (rs.next()) { @@ -382,7 +382,7 @@ public class EventDB { try (Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(query)) { while (rs.next()) { - resultIDs.add(rs.getLong("event_id")); + resultIDs.add(rs.getLong("event_id")); //NON-NLS } } catch (SQLException sqlEx) { @@ -416,7 +416,7 @@ public class EventDB { DBLock.lock(); try (ResultSet rs = getDataSourceIDsStmt.executeQuery()) { while (rs.next()) { - long datasourceID = rs.getLong("datasource_id"); + long datasourceID = rs.getLong("datasource_id"); //NON-NLS hashSet.add(datasourceID); } } catch (SQLException ex) { @@ -432,8 +432,8 @@ public class EventDB { DBLock.lock(); try (ResultSet rs = getHashSetNamesStmt.executeQuery();) { while (rs.next()) { - long hashSetID = rs.getLong("hash_set_id"); - String hashSetName = rs.getString("hash_set_name"); + long hashSetID = rs.getLong("hash_set_id"); //NON-NLS + String hashSetName = rs.getString("hash_set_name"); //NON-NLS hashSets.put(hashSetID, hashSetName); } } catch (SQLException ex) { @@ -447,7 +447,7 @@ public class EventDB { void analyze() { DBLock.lock(); try (Statement createStatement = con.createStatement()) { - boolean b = createStatement.execute("analyze; analyze sqlite_master;"); + boolean b = createStatement.execute("analyze; analyze sqlite_master;"); //NON-NLS } catch (SQLException ex) { LOGGER.log(Level.SEVERE, "Failed to analyze events db.", ex); // NON-NLS } finally { @@ -575,35 +575,35 @@ public class EventDB { } try (Statement stmt = con.createStatement()) { - String sql = "CREATE TABLE if not exists hash_sets " - + "( hash_set_id INTEGER primary key," - + " hash_set_name VARCHAR(255) UNIQUE NOT NULL)"; + String sql = "CREATE TABLE if not exists hash_sets " //NON-NLS + + "( hash_set_id INTEGER primary key," //NON-NLS + + " hash_set_name VARCHAR(255) UNIQUE NOT NULL)"; //NON-NLS stmt.execute(sql); } catch (SQLException ex) { - LOGGER.log(Level.SEVERE, "problem creating hash_sets table", ex); + LOGGER.log(Level.SEVERE, "problem creating hash_sets table", ex); //NON-NLS } try (Statement stmt = con.createStatement()) { - String sql = "CREATE TABLE if not exists hash_set_hits " - + "(hash_set_id INTEGER REFERENCES hash_sets(hash_set_id) not null, " - + " event_id INTEGER REFERENCES events(event_id) not null, " - + " PRIMARY KEY (hash_set_id, event_id))"; + String sql = "CREATE TABLE if not exists hash_set_hits " //NON-NLS + + "(hash_set_id INTEGER REFERENCES hash_sets(hash_set_id) not null, " //NON-NLS + + " event_id INTEGER REFERENCES events(event_id) not null, " //NON-NLS + + " PRIMARY KEY (hash_set_id, event_id))"; //NON-NLS stmt.execute(sql); } catch (SQLException ex) { - LOGGER.log(Level.SEVERE, "problem creating hash_set_hits table", ex); + LOGGER.log(Level.SEVERE, "problem creating hash_set_hits table", ex); //NON-NLS } initializeTagsTable(); - createIndex("events", Arrays.asList("datasource_id")); - createIndex("events", Arrays.asList("event_id", "hash_hit")); - createIndex("events", Arrays.asList("event_id", "tagged")); - createIndex("events", Arrays.asList("file_id")); - createIndex("events", Arrays.asList("artifact_id")); - createIndex("events", Arrays.asList("sub_type", "short_description", "time")); - createIndex("events", Arrays.asList("base_type", "short_description", "time")); - createIndex("events", Arrays.asList("time")); - createIndex("events", Arrays.asList("known_state")); + createIndex("events", Arrays.asList("datasource_id")); //NON-NLS + createIndex("events", Arrays.asList("event_id", "hash_hit")); //NON-NLS + createIndex("events", Arrays.asList("event_id", "tagged")); //NON-NLS + createIndex("events", Arrays.asList("file_id")); //NON-NLS + createIndex("events", Arrays.asList("artifact_id")); //NON-NLS + createIndex("events", Arrays.asList("sub_type", "short_description", "time")); //NON-NLS + createIndex("events", Arrays.asList("base_type", "short_description", "time")); //NON-NLS + createIndex("events", Arrays.asList("time")); //NON-NLS + createIndex("events", Arrays.asList("known_state")); //NON-NLS try { insertRowStmt = prepareStatement( @@ -616,19 +616,19 @@ public class EventDB { getEventByIDStmt = prepareStatement("SELECT * FROM events WHERE event_id = ?"); // NON-NLS recordDBInfoStmt = prepareStatement("INSERT OR REPLACE INTO db_info (key, value) values (?, ?)"); // NON-NLS getDBInfoStmt = prepareStatement("SELECT value FROM db_info WHERE key = ?"); // NON-NLS - insertHashSetStmt = prepareStatement("INSERT OR IGNORE INTO hash_sets (hash_set_name) values (?)"); - selectHashSetStmt = prepareStatement("SELECT hash_set_id FROM hash_sets WHERE hash_set_name = ?"); - insertHashHitStmt = prepareStatement("INSERT OR IGNORE INTO hash_set_hits (hash_set_id, event_id) values (?,?)"); - insertTagStmt = prepareStatement("INSERT OR IGNORE INTO tags (tag_id, tag_name_id,tag_name_display_name, event_id) values (?,?,?,?)"); - deleteTagStmt = prepareStatement("DELETE FROM tags WHERE tag_id = ?"); - countAllEventsStmt = prepareStatement("SELECT count(*) AS count FROM events"); - dropEventsTableStmt = prepareStatement("DROP TABLE IF EXISTS events"); - dropHashSetHitsTableStmt = prepareStatement("DROP TABLE IF EXISTS hash_set_hits"); - dropHashSetsTableStmt = prepareStatement("DROP TABLE IF EXISTS hash_sets"); - dropTagsTableStmt = prepareStatement("DROP TABLE IF EXISTS tags"); - dropDBInfoTableStmt = prepareStatement("DROP TABLE IF EXISTS db_ino"); - selectNonArtifactEventIDsByObjectIDStmt = prepareStatement("SELECT event_id FROM events WHERE file_id == ? AND artifact_id IS NULL"); - selectEventIDsBYObjectAndArtifactIDStmt = prepareStatement("SELECT event_id FROM events WHERE file_id == ? AND artifact_id = ?"); + insertHashSetStmt = prepareStatement("INSERT OR IGNORE INTO hash_sets (hash_set_name) values (?)"); //NON-NLS + selectHashSetStmt = prepareStatement("SELECT hash_set_id FROM hash_sets WHERE hash_set_name = ?"); //NON-NLS + insertHashHitStmt = prepareStatement("INSERT OR IGNORE INTO hash_set_hits (hash_set_id, event_id) values (?,?)"); //NON-NLS + insertTagStmt = prepareStatement("INSERT OR IGNORE INTO tags (tag_id, tag_name_id,tag_name_display_name, event_id) values (?,?,?,?)"); //NON-NLS + deleteTagStmt = prepareStatement("DELETE FROM tags WHERE tag_id = ?"); //NON-NLS + countAllEventsStmt = prepareStatement("SELECT count(*) AS count FROM events"); //NON-NLS + dropEventsTableStmt = prepareStatement("DROP TABLE IF EXISTS events"); //NON-NLS + dropHashSetHitsTableStmt = prepareStatement("DROP TABLE IF EXISTS hash_set_hits"); //NON-NLS + dropHashSetsTableStmt = prepareStatement("DROP TABLE IF EXISTS hash_sets"); //NON-NLS + dropTagsTableStmt = prepareStatement("DROP TABLE IF EXISTS tags"); //NON-NLS + dropDBInfoTableStmt = prepareStatement("DROP TABLE IF EXISTS db_ino"); //NON-NLS + selectNonArtifactEventIDsByObjectIDStmt = prepareStatement("SELECT event_id FROM events WHERE file_id == ? AND artifact_id IS NULL"); //NON-NLS + selectEventIDsBYObjectAndArtifactIDStmt = prepareStatement("SELECT event_id FROM events WHERE file_id == ? AND artifact_id = ?"); //NON-NLS } catch (SQLException sQLException) { LOGGER.log(Level.SEVERE, "failed to prepareStatment", sQLException); // NON-NLS } @@ -643,15 +643,15 @@ public class EventDB { */ private void initializeTagsTable() { try (Statement stmt = con.createStatement()) { - String sql = "CREATE TABLE IF NOT EXISTS tags " - + "(tag_id INTEGER NOT NULL," - + " tag_name_id INTEGER NOT NULL, " - + " tag_name_display_name TEXT NOT NULL, " - + " event_id INTEGER REFERENCES events(event_id) NOT NULL, " - + " PRIMARY KEY (event_id, tag_name_id))"; + String sql = "CREATE TABLE IF NOT EXISTS tags " //NON-NLS + + "(tag_id INTEGER NOT NULL," //NON-NLS + + " tag_name_id INTEGER NOT NULL, " //NON-NLS + + " tag_name_display_name TEXT NOT NULL, " //NON-NLS + + " event_id INTEGER REFERENCES events(event_id) NOT NULL, " //NON-NLS + + " PRIMARY KEY (event_id, tag_name_id))"; //NON-NLS stmt.execute(sql); } catch (SQLException ex) { - LOGGER.log(Level.SEVERE, "problem creating tags table", ex); + LOGGER.log(Level.SEVERE, "problem creating tags table", ex); //NON-NLS } } @@ -662,7 +662,7 @@ public class EventDB { */ private void createIndex(final String tableName, final List columnList) { String indexColumns = columnList.stream().collect(Collectors.joining(",", "(", ")")); - String indexName = tableName + "_" + StringUtils.join(columnList, "_") + "_idx"; + String indexName = tableName + "_" + StringUtils.join(columnList, "_") + "_idx"; //NON-NLS try (Statement stmt = con.createStatement()) { String sql = "CREATE INDEX IF NOT EXISTS " + indexName + " ON " + tableName + indexColumns; // NON-NLS @@ -680,7 +680,7 @@ public class EventDB { private boolean hasDBColumn(@Nonnull final String dbColumn) { try (Statement stmt = con.createStatement()) { - ResultSet executeQuery = stmt.executeQuery("PRAGMA table_info(events)"); + ResultSet executeQuery = stmt.executeQuery("PRAGMA table_info(events)"); //NON-NLS while (executeQuery.next()) { if (dbColumn.equals(executeQuery.getString("name"))) { return true; @@ -693,15 +693,15 @@ public class EventDB { } private boolean hasDataSourceIDColumn() { - return hasDBColumn("datasource_id"); + return hasDBColumn("datasource_id"); //NON-NLS } private boolean hasTaggedColumn() { - return hasDBColumn("tagged"); + return hasDBColumn("tagged"); //NON-NLS } private boolean hasHashHitColumn() { - return hasDBColumn("hash_hit"); + return hasDBColumn("hash_hit"); //NON-NLS } void insertEvent(long time, EventType type, long datasourceID, long objID, @@ -764,7 +764,7 @@ public class EventDB { try (ResultSet generatedKeys = insertRowStmt.getGeneratedKeys()) { while (generatedKeys.next()) { - long eventID = generatedKeys.getLong("last_insert_rowid()"); + long eventID = generatedKeys.getLong("last_insert_rowid()"); //NON-NLS for (String name : hashSetNames) { // "insert or ignore into hash_sets (hash_set_name) values (?)" @@ -776,7 +776,7 @@ public class EventDB { selectHashSetStmt.setString(1, name); try (ResultSet rs = selectHashSetStmt.executeQuery()) { while (rs.next()) { - int hashsetID = rs.getInt("hash_set_id"); + int hashsetID = rs.getInt("hash_set_id"); //NON-NLS //"insert or ignore into hash_set_hits (hash_set_id, obj_id) values (?,?)"; insertHashHitStmt.setInt(1, hashsetID); insertHashHitStmt.setLong(2, eventID); @@ -925,14 +925,14 @@ public class EventDB { HashSet eventIDs = new HashSet<>(); try (ResultSet executeQuery = selectStmt.executeQuery();) { while (executeQuery.next()) { - eventIDs.add(executeQuery.getLong("event_id")); + eventIDs.add(executeQuery.getLong("event_id")); //NON-NLS } } //update tagged state for all event with selected ids try (Statement updateStatement = con.createStatement();) { - updateStatement.executeUpdate("UPDATE events SET tagged = " + (tagged ? 1 : 0) - + " WHERE event_id IN (" + StringUtils.join(eventIDs, ",") + ")"); + updateStatement.executeUpdate("UPDATE events SET tagged = " + (tagged ? 1 : 0) //NON-NLS + + " WHERE event_id IN (" + StringUtils.join(eventIDs, ",") + ")"); //NON-NLS } return eventIDs; @@ -986,22 +986,22 @@ public class EventDB { SQLiteJDBCLoader.getVersion(), SQLiteJDBCLoader.isNativeMode() ? "native" : "pure-java")); // NON-NLS } catch (Exception exception) { - LOGGER.log(Level.SEVERE, "Failed to determine if sqlite-jdbc is loaded in native or pure-java mode.", exception); + LOGGER.log(Level.SEVERE, "Failed to determine if sqlite-jdbc is loaded in native or pure-java mode.", exception); //NON-NLS } } private TimeLineEvent constructTimeLineEvent(ResultSet rs) throws SQLException { - return new TimeLineEvent(rs.getLong("event_id"), - rs.getLong("datasource_id"), - rs.getLong("file_id"), - rs.getLong("artifact_id"), - rs.getLong("time"), RootEventType.allTypes.get(rs.getInt("sub_type")), - rs.getString("full_description"), - rs.getString("med_description"), - rs.getString("short_description"), - TskData.FileKnown.valueOf(rs.getByte("known_state")), - rs.getInt("hash_hit") != 0, - rs.getInt("tagged") != 0); + return new TimeLineEvent(rs.getLong("event_id"), //NON-NLS + rs.getLong("datasource_id"), //NON-NLS + rs.getLong("file_id"), //NON-NLS + rs.getLong("artifact_id"), //NON-NLS + rs.getLong("time"), RootEventType.allTypes.get(rs.getInt("sub_type")), //NON-NLS + rs.getString("full_description"), //NON-NLS + rs.getString("med_description"), //NON-NLS + rs.getString("short_description"), //NON-NLS + TskData.FileKnown.valueOf(rs.getByte("known_state")), //NON-NLS + rs.getInt("hash_hit") != 0, //NON-NLS + rs.getInt("tagged") != 0); //NON-NLS } /** @@ -1031,7 +1031,7 @@ public class EventDB { final boolean useSubTypes = (zoomLevel == EventTypeZoomLevel.SUB_TYPE); //get some info about the range of dates requested - final String queryString = "SELECT count(DISTINCT events.event_id) AS count, " + typeColumnHelper(useSubTypes) + final String queryString = "SELECT count(DISTINCT events.event_id) AS count, " + typeColumnHelper(useSubTypes) //NON-NLS + " FROM events" + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time >= " + startTime + " AND time < " + endTime + " AND " + SQLHelper.getSQLWhere(filter) // NON-NLS + " GROUP BY " + typeColumnHelper(useSubTypes); // NON-NLS @@ -1040,8 +1040,8 @@ public class EventDB { ResultSet rs = stmt.executeQuery(queryString);) { while (rs.next()) { EventType type = useSubTypes - ? RootEventType.allTypes.get(rs.getInt("sub_type")) - : BaseTypes.values()[rs.getInt("base_type")]; + ? RootEventType.allTypes.get(rs.getInt("sub_type")) //NON-NLS + : BaseTypes.values()[rs.getInt("base_type")]; //NON-NLS typeMap.put(type, rs.getLong("count")); // NON-NLS } @@ -1090,9 +1090,9 @@ public class EventDB { //compose query string, the new-lines are only for nicer formatting if printing the entire query String query = "SELECT strftime('" + strfTimeFormat + "',time , 'unixepoch'" + timeZone + ") AS interval," // NON-NLS - + "\n group_concat(events.event_id) as event_ids," - + "\n group_concat(CASE WHEN hash_hit = 1 THEN events.event_id ELSE NULL END) as hash_hits," - + "\n group_concat(CASE WHEN tagged = 1 THEN events.event_id ELSE NULL END) as taggeds," + + "\n group_concat(events.event_id) as event_ids," //NON-NLS + + "\n group_concat(CASE WHEN hash_hit = 1 THEN events.event_id ELSE NULL END) as hash_hits," //NON-NLS + + "\n group_concat(CASE WHEN tagged = 1 THEN events.event_id ELSE NULL END) as taggeds," //NON-NLS + "\n min(time), max(time), " + typeColumn + ", " + descriptionColumn // NON-NLS + "\n FROM events" + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) // NON-NLS + "\n WHERE time >= " + start + " AND time < " + end + " AND " + SQLHelper.getSQLWhere(filter) // NON-NLS @@ -1101,7 +1101,7 @@ public class EventDB { switch (Version.getBuildType()) { case DEVELOPMENT: - LOGGER.log(Level.INFO, "executing timeline query: {0}", query); + LOGGER.log(Level.INFO, "executing timeline query: {0}", query); //NON-NLS break; case RELEASE: default: @@ -1145,8 +1145,8 @@ public class EventDB { String description = rs.getString(SQLHelper.getDescriptionColumn(descriptionLOD)); EventType type = useSubTypes ? RootEventType.allTypes.get(rs.getInt("sub_type")) : BaseTypes.values()[rs.getInt("base_type")];// NON-NLS - Set hashHits = SQLHelper.unGroupConcat(rs.getString("hash_hits"), Long::valueOf); - Set tagged = SQLHelper.unGroupConcat(rs.getString("taggeds"), Long::valueOf); + Set hashHits = SQLHelper.unGroupConcat(rs.getString("hash_hits"), Long::valueOf); //NON-NLS + Set tagged = SQLHelper.unGroupConcat(rs.getString("taggeds"), Long::valueOf); //NON-NLS return new EventCluster(interval, type, eventIDs, hashHits, tagged, description, descriptionLOD); @@ -1217,7 +1217,7 @@ public class EventDB { } private static String typeColumnHelper(final boolean useSubTypes) { - return useSubTypes ? "sub_type" : "base_type"; + return useSubTypes ? "sub_type" : "base_type"; //NON-NLS } private long getDBInfo(DBInfoKey key, long defaultValue) { diff --git a/Core/src/org/sleuthkit/autopsy/timeline/db/EventsRepository.java b/Core/src/org/sleuthkit/autopsy/timeline/db/EventsRepository.java index ff9f46a075..638136882b 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/db/EventsRepository.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/db/EventsRepository.java @@ -97,7 +97,7 @@ public class EventsRepository { private final static Logger LOGGER = Logger.getLogger(EventsRepository.class.getName()); - private final Executor workerExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("eventrepository-worker-%d").build()); + private final Executor workerExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("eventrepository-worker-%d").build()); //NON-NLS private DBPopulationWorker dbWorker; private final EventDB eventDB; private final Case autoCase; @@ -218,7 +218,7 @@ public class EventsRepository { try { return eventStripeCache.get(params); } catch (ExecutionException ex) { - LOGGER.log(Level.SEVERE, "Failed to load Event Stripes from cache for " + params.toString(), ex); + LOGGER.log(Level.SEVERE, "Failed to load Event Stripes from cache for " + params.toString(), ex); //NON-NLS return Collections.emptyList(); } } @@ -275,7 +275,7 @@ public class EventsRepository { try { datasourcesMap.putIfAbsent(id, skCase.getContentById(id).getDataSource().getName()); } catch (TskCoreException ex) { - LOGGER.log(Level.SEVERE, "Failed to get datasource by ID.", ex); + LOGGER.log(Level.SEVERE, "Failed to get datasource by ID.", ex); //NON-NLS } } @@ -283,7 +283,7 @@ public class EventsRepository { //should this only be tags applied to files or event bearing artifacts? tagNames.setAll(skCase.getTagNamesInUse()); } catch (TskCoreException ex) { - LOGGER.log(Level.SEVERE, "Failed to get tag names in use.", ex); + LOGGER.log(Level.SEVERE, "Failed to get tag names in use.", ex); //NON-NLS } } @@ -310,7 +310,7 @@ public class EventsRepository { try { tagNames.setAll(autoCase.getSleuthkitCase().getTagNamesInUse()); } catch (TskCoreException ex) { - LOGGER.log(Level.SEVERE, "Failed to get tag names in use.", ex); + LOGGER.log(Level.SEVERE, "Failed to get tag names in use.", ex); //NON-NLS } } @@ -368,7 +368,7 @@ public class EventsRepository { */ @ThreadConfined(type = ThreadConfined.ThreadType.JFX) private CancellationProgressTask rebuildRepository(final DBPopulationMode mode) { - LOGGER.log(Level.INFO, "(re)starting {0} db population task", mode); + LOGGER.log(Level.INFO, "(re)starting {0} db population task", mode); //NON-NLS if (dbWorker != null) { dbWorker.cancel(); } @@ -481,7 +481,7 @@ public class EventsRepository { //reset database //TODO: can we do more incremental updates? -jm eventDB.reInitializeDB(); //grab ids of all files - List fileIDs = skCase.findAllFileIdsWhere("name != '.' AND name != '..'"); + List fileIDs = skCase.findAllFileIdsWhere("name != '.' AND name != '..'"); //NON-NLS final int numFiles = fileIDs.size(); trans = eventDB.beginTransaction(); @@ -635,7 +635,7 @@ public class EventsRepository { try { get(); } catch (CancellationException ex) { - LOGGER.log(Level.WARNING, "Timeline database population was cancelled by the user. " + LOGGER.log(Level.WARNING, "Timeline database population was cancelled by the user. " //NON-NLS + " Not all events may be present or accurate."); // NON-NLS } catch (Exception ex) { LOGGER.log(Level.WARNING, "Unexpected exception while populating database.", ex); // NON-NLS diff --git a/Core/src/org/sleuthkit/autopsy/timeline/db/SQLHelper.java b/Core/src/org/sleuthkit/autopsy/timeline/db/SQLHelper.java index e605fb18df..04eb7c970b 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/db/SQLHelper.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/db/SQLHelper.java @@ -62,12 +62,12 @@ class SQLHelper { static String useHashHitTablesHelper(RootFilter filter) { HashHitsFilter hashHitFilter = filter.getHashHitsFilter(); - return hashHitFilter.isActive() ? " LEFT JOIN hash_set_hits " : " "; + return hashHitFilter.isActive() ? " LEFT JOIN hash_set_hits " : " "; //NON-NLS } static String useTagTablesHelper(RootFilter filter) { TagsFilter tagsFilter = filter.getTagsFilter(); - return tagsFilter.isActive() ? " LEFT JOIN tags " : " "; + return tagsFilter.isActive() ? " LEFT JOIN tags " : " "; //NON-NLS } /** @@ -93,13 +93,13 @@ class SQLHelper { return filter.getSubFilters().stream() .filter(Filter::isSelected) .map(SQLHelper::getSQLWhere) - .collect(Collectors.joining(" and ", "( ", ")")); + .collect(Collectors.joining(" and ", "( ", ")")); //NON-NLS } private static String getSQLWhere(UnionFilter filter) { return filter.getSubFilters().stream() .filter(Filter::isSelected).map(SQLHelper::getSQLWhere) - .collect(Collectors.joining(" or ", "( ", ")")); + .collect(Collectors.joining(" or ", "( ", ")")); //NON-NLS } static String getSQLWhere(RootFilter filter) { @@ -143,7 +143,7 @@ class SQLHelper { } else { throw new IllegalArgumentException("getSQLWhere not defined for " + filter.getClass().getCanonicalName()); } - result = StringUtils.deleteWhitespace(result).equals("(1and1and1)") ? "1" : result; + result = StringUtils.deleteWhitespace(result).equals("(1and1and1)") ? "1" : result; //NON-NLS result = StringUtils.deleteWhitespace(result).equals("()") ? "1" : result; return result; } @@ -158,7 +158,7 @@ class SQLHelper { private static String getSQLWhere(DescriptionFilter filter) { if (filter.isActive()) { - String likeOrNotLike = (filter.getFilterMode() == DescriptionFilter.FilterMode.INCLUDE ? "" : " NOT") + " LIKE '"; + String likeOrNotLike = (filter.getFilterMode() == DescriptionFilter.FilterMode.INCLUDE ? "" : " NOT") + " LIKE '"; //NON-NLS return "(" + getDescriptionColumn(filter.getDescriptionLoD()) + likeOrNotLike + filter.getDescription() + "' )"; // NON-NLS } else { return "1"; @@ -172,8 +172,8 @@ class SQLHelper { .filter((TagNameFilter t) -> t.isSelected() && !t.isDisabled()) .map((TagNameFilter t) -> String.valueOf(t.getTagName().getId())) .collect(Collectors.joining(", ", "(", ")")); - return "(events.event_id == tags.event_id AND " - + "tags.tag_name_id IN " + tagNameIDs + ") "; + return "(events.event_id == tags.event_id AND " //NON-NLS + + "tags.tag_name_id IN " + tagNameIDs + ") "; //NON-NLS } else { return "1"; } @@ -187,7 +187,7 @@ class SQLHelper { .filter((HashSetFilter t) -> t.isSelected() && !t.isDisabled()) .map((HashSetFilter t) -> String.valueOf(t.getHashSetID())) .collect(Collectors.joining(", ", "(", ")")); - return "(hash_set_hits.hash_set_id IN " + hashSetIDs + " AND hash_set_hits.event_id == events.event_id)"; + return "(hash_set_hits.hash_set_id IN " + hashSetIDs + " AND hash_set_hits.event_id == events.event_id)"; //NON-NLS } else { return "1"; } @@ -195,14 +195,14 @@ class SQLHelper { private static String getSQLWhere(DataSourceFilter filter) { if (filter.isActive()) { - return "(datasource_id = '" + filter.getDataSourceID() + "')"; + return "(datasource_id = '" + filter.getDataSourceID() + "')"; //NON-NLS } else { return "1"; } } private static String getSQLWhere(DataSourcesFilter filter) { - return (filter.isActive()) ? "(datasource_id in (" + return (filter.isActive()) ? "(datasource_id in (" //NON-NLS + filter.getSubFilters().stream() .filter(AbstractFilter::isActive) .map((dataSourceFilter) -> String.valueOf(dataSourceFilter.getDataSourceID())) @@ -215,9 +215,9 @@ class SQLHelper { return "1"; } String strippedFilterText = StringUtils.strip(filter.getText()); - return "((med_description like '%" + strippedFilterText + "%')" - + " or (full_description like '%" + strippedFilterText + "%')" - + " or (short_description like '%" + strippedFilterText + "%'))"; + return "((med_description like '%" + strippedFilterText + "%')" //NON-NLS + + " or (full_description like '%" + strippedFilterText + "%')" //NON-NLS + + " or (short_description like '%" + strippedFilterText + "%'))"; //NON-NLS } else { return "1"; } @@ -240,7 +240,7 @@ class SQLHelper { return "1"; //then collapse clause to true } } - return "(sub_type IN (" + StringUtils.join(getActiveSubTypes(typeFilter), ",") + "))"; + return "(sub_type IN (" + StringUtils.join(getActiveSubTypes(typeFilter), ",") + "))"; //NON-NLS } private static List getActiveSubTypes(TypeFilter filter) { @@ -288,12 +288,12 @@ class SQLHelper { static String getDescriptionColumn(DescriptionLoD lod) { switch (lod) { case FULL: - return "full_description"; + return "full_description"; //NON-NLS case MEDIUM: - return "med_description"; + return "med_description"; //NON-NLS case SHORT: default: - return "short_description"; + return "short_description"; //NON-NLS } } diff --git a/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/EventNode.java b/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/EventNode.java index bd801bef17..04b0370b42 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/EventNode.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/EventNode.java @@ -78,7 +78,7 @@ class EventNode extends DisplayableItemNode { try { timePropery.setValue(getDateTimeString()); } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { - LOGGER.log(Level.SEVERE, "unexpected error setting date/time property on EventNode explorer node", ex); + LOGGER.log(Level.SEVERE, "unexpected error setting date/time property on EventNode explorer node", ex); //NON-NLS } }); diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/IntervalSelector.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/IntervalSelector.java index 197914167a..04869f3e0b 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/IntervalSelector.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/IntervalSelector.java @@ -53,8 +53,8 @@ import org.sleuthkit.autopsy.timeline.TimeLineController; */ public abstract class IntervalSelector extends BorderPane { - private static final Image ClEAR_INTERVAL_ICON = new Image("/org/sleuthkit/autopsy/timeline/images/cross-script.png", 16, 16, true, true, true); - private static final Image ZOOM_TO_INTERVAL_ICON = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-fit.png", 16, 16, true, true, true); + private static final Image ClEAR_INTERVAL_ICON = new Image("/org/sleuthkit/autopsy/timeline/images/cross-script.png", 16, 16, true, true, true); //NON-NLS + private static final Image ZOOM_TO_INTERVAL_ICON = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-fit.png", 16, 16, true, true, true); //NON-NLS private static final double STROKE_WIDTH = 3; private static final double HALF_STROKE = STROKE_WIDTH / 2; diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/EventBundleNodeBase.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/EventBundleNodeBase.java index c75f0c2492..5d5eb5aa07 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/EventBundleNodeBase.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/EventBundleNodeBase.java @@ -84,10 +84,11 @@ import org.sleuthkit.datamodel.TskCoreException; /** * */ +@NbBundle.Messages({"EventBundleNodeBase.toolTip.loading=loading..."}) public abstract class EventBundleNodeBase, ParentType extends EventBundle, ParentNodeType extends EventBundleNodeBase> extends StackPane { private static final Logger LOGGER = Logger.getLogger(EventBundleNodeBase.class.getName()); - private static final Image HASH_PIN = new Image("/org/sleuthkit/autopsy/images/hashset_hits.png"); //NOI18N + private static final Image HASH_PIN = new Image("/org/sleuthkit/autopsy/images/hashset_hits.png"); //NOI18N NON-NLS private static final Image TAG = new Image("/org/sleuthkit/autopsy/images/green-tag-icon-16.png"); // NON-NLS //NOI18N static final CornerRadii CORNER_RADII_3 = new CornerRadii(3); @@ -131,7 +132,7 @@ public abstract class EventBundleNodeBase tooltTipTask = new Task() { { - updateTitle("loading tooltip"); + updateTitle(Bundle.EventBundleNodeBase_toolTip_loading2()); } @Override @@ -248,7 +254,7 @@ public abstract class EventBundleNodeBase implements TimeLineChart { - private static final String styleSheet = GuideLine.class.getResource("EventsDetailsChart.css").toExternalForm(); + private static final String styleSheet = GuideLine.class.getResource("EventsDetailsChart.css").toExternalForm(); //NON-NLS private static final Image HIDE = new Image("/org/sleuthkit/autopsy/timeline/images/eye--minus.png"); // NON-NLS private static final Image SHOW = new Image("/org/sleuthkit/autopsy/timeline/images/eye--plus.png"); // NON-NLS - private static final Image MARKER = new Image("/org/sleuthkit/autopsy/timeline/images/marker.png", 16, 16, true, true, true); + private static final Image MARKER = new Image("/org/sleuthkit/autopsy/timeline/images/marker.png", 16, 16, true, true, true); //NON-NLS private static final int PROJECTED_LINE_Y_OFFSET = 5; private static final int PROJECTED_LINE_STROKE_WIDTH = 5; private static final int MINIMUM_EVENT_NODE_GAP = 4; @@ -725,11 +725,13 @@ public final class EventDetailsChart extends XYChart impl } } + @NbBundle.Messages({"HideDescriptionAction.displayName=Hide", + "HideDescriptionAction.displayMsg=Hide this group from the details view."}) class HideDescriptionAction extends Action { HideDescriptionAction(String description, DescriptionLoD descriptionLoD) { - super("Hide"); - setLongText("Hide this group from the details view."); + super(Bundle.HideDescriptionAction_displayName()); + setLongText(Bundle.HideDescriptionAction_displayMsg()); setGraphic(new ImageView(HIDE)); setEventHandler((ActionEvent t) -> { final DescriptionFilter testFilter = new DescriptionFilter( @@ -749,10 +751,11 @@ public final class EventDetailsChart extends XYChart impl } } + @NbBundle.Messages({"UnhideDescriptionAction.displayName=Unhide"}) class UnhideDescriptionAction extends Action { UnhideDescriptionAction(String description, DescriptionLoD descriptionLoD) { - super("Unhide"); + super(Bundle.UnhideDescriptionAction_displayName()); setGraphic(new ImageView(SHOW)); setEventHandler((ActionEvent t) -> getController().getQuickHideFilters().stream() diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/GuideLine.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/GuideLine.java index 0c8cbfeffd..a462a92b9e 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/GuideLine.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/GuideLine.java @@ -53,7 +53,7 @@ class GuideLine extends Line { Axis xAxis = chart.getXAxis(); endYProperty().bind(chart.heightProperty().subtract(xAxis.heightProperty().subtract(xAxis.tickLengthProperty()))); - getStyleClass().add("guide-line"); + getStyleClass().add("guide-line"); //NON-NLS Tooltip.install(this, tooltip); tooltip.setOnShowing(showing -> tooltip.setText(Bundle.GuideLine_tooltip_text(getDateTimeAsString()))); diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/FilterSetPanel.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/FilterSetPanel.java index d99bf5658f..d5a0ecdad0 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/FilterSetPanel.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/FilterSetPanel.java @@ -53,9 +53,6 @@ import org.sleuthkit.autopsy.timeline.filters.DescriptionFilter; import org.sleuthkit.autopsy.timeline.filters.Filter; import org.sleuthkit.autopsy.timeline.filters.RootFilter; import org.sleuthkit.autopsy.timeline.filters.TypeFilter; -import static org.sleuthkit.autopsy.timeline.ui.filtering.Bundle.Timeline_ui_filtering_menuItem_none; -import static org.sleuthkit.autopsy.timeline.ui.filtering.Bundle.Timeline_ui_filtering_menuItem_only; -import static org.sleuthkit.autopsy.timeline.ui.filtering.Bundle.Timeline_ui_filtering_menuItem_select; /** * The FXML controller for the filter ui. @@ -65,7 +62,7 @@ import static org.sleuthkit.autopsy.timeline.ui.filtering.Bundle.Timeline_ui_fil */ final public class FilterSetPanel extends BorderPane { - private static final Image TICK = new Image("org/sleuthkit/autopsy/timeline/images/tick.png"); + private static final Image TICK = new Image("org/sleuthkit/autopsy/timeline/images/tick.png"); //NON-NLS @FXML private Button applyButton; @@ -103,7 +100,9 @@ final public class FilterSetPanel extends BorderPane { "Timeline.ui.filtering.menuItem.none=none", "Timeline.ui.filtering.menuItem.only=only", "Timeline.ui.filtering.menuItem.others=others", - "Timeline.ui.filtering.menuItem.select=select"}) + "Timeline.ui.filtering.menuItem.select=select", + "FilterSetPanel.hiddenDescriptionsListView.unhideAndRm=Unhide and remove from list", + "FilterSetPanel.hiddenDescriptionsListView.remove=Remove from list"}) void initialize() { assert applyButton != null : "fx:id=\"applyButton\" was not injected: check your FXML file 'FilterSetPanel.fxml'."; // NON-NLS @@ -123,14 +122,14 @@ final public class FilterSetPanel extends BorderPane { t.getValue().setSelected(Boolean.TRUE); }); }); - MenuItem none = new MenuItem(Timeline_ui_filtering_menuItem_none()); + MenuItem none = new MenuItem(Bundle.Timeline_ui_filtering_menuItem_none()); none.setOnAction(e -> { row.getTreeItem().getParent().getChildren().forEach((TreeItem t) -> { t.getValue().setSelected(Boolean.FALSE); }); }); - MenuItem only = new MenuItem(Timeline_ui_filtering_menuItem_only()); + MenuItem only = new MenuItem(Bundle.Timeline_ui_filtering_menuItem_only()); only.setOnAction(e -> { row.getTreeItem().getParent().getChildren().forEach((TreeItem t) -> { if (t == row.getTreeItem()) { @@ -151,7 +150,7 @@ final public class FilterSetPanel extends BorderPane { }); }); final ContextMenu rowMenu = new ContextMenu(); - Menu select = new Menu(Timeline_ui_filtering_menuItem_select()); + Menu select = new Menu(Bundle.Timeline_ui_filtering_menuItem_select()); select.setOnAction(e -> { row.getItem().setSelected(!row.getItem().isSelected()); }); @@ -212,9 +211,9 @@ final public class FilterSetPanel extends BorderPane { private void configureText(Boolean newValue) { if (newValue) { - setText("Unhide and remove from list"); + setText(Bundle.FilterSetPanel_hiddenDescriptionsListView_unhideAndRm()); } else { - setText("Remove from list"); + setText(Bundle.FilterSetPanel_hiddenDescriptionsListView_remove()); } } })); @@ -257,12 +256,13 @@ final public class FilterSetPanel extends BorderPane { }); } - @NbBundle.Messages({"FilterSetPanel.applyButton.text=Apply"}) + @NbBundle.Messages({"FilterSetPanel.applyButton.text=Apply", + "FilterSetPanel.applyButton.longText=(Re)Apply filters"}) private class ApplyFiltersAction extends Action { ApplyFiltersAction() { super(Bundle.FilterSetPanel_applyButton_text()); - setLongText("(Re)Apply filters"); + setLongText(Bundle.FilterSetPanel_applyButton_longText()); setGraphic(new ImageView(TICK)); setEventHandler((ActionEvent t) -> { applyFilters(); diff --git a/Core/src/org/sleuthkit/autopsy/timeline/zooming/ZoomParams.java b/Core/src/org/sleuthkit/autopsy/timeline/zooming/ZoomParams.java index 95304d61af..bd24ca9b38 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/zooming/ZoomParams.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/zooming/ZoomParams.java @@ -130,7 +130,7 @@ public class ZoomParams { @Override public String toString() { - return "ZoomParams{" + "timeRange=" + timeRange + ", typeZoomLevel=" + typeZoomLevel + ", filter=" + filter + ", descrLOD=" + descrLOD + '}'; + return "ZoomParams{" + "timeRange=" + timeRange + ", typeZoomLevel=" + typeZoomLevel + ", filter=" + filter + ", descrLOD=" + descrLOD + '}'; //NON-NLS } }