From b95d92849b8216e0e67f1c2618e0ffa9816ba8b1 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Tue, 1 Aug 2017 11:32:05 -0400 Subject: [PATCH 01/12] 2884 override examiner case jtable getColumnClass to return Date for date cols --- .../experimental/autoingest/AutoIngestCasePanel.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java index ea98faea18..4fb271f610 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java @@ -105,6 +105,14 @@ public final class AutoIngestCasePanel extends JPanel { public boolean isCellEditable(int row, int column) { return false; } + @Override + public Class getColumnClass(int col) { + if (this.getColumnName(col).equals(CREATEDTIME_HEADER) || this.getColumnName(col).equals(COMPLETEDTIME_HEADER)) { + return Date.class; + } else { + return super.getColumnClass(col); + } + } }; initComponents(); From 25aa1302ebbf7bb71568266667257be24dd9ed35 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Tue, 1 Aug 2017 13:18:50 -0400 Subject: [PATCH 02/12] 2884 fix raw type warning with getColumnClass override --- .../autopsy/experimental/autoingest/AutoIngestCasePanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java index 4fb271f610..bc1c20de1b 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java @@ -106,7 +106,7 @@ public final class AutoIngestCasePanel extends JPanel { return false; } @Override - public Class getColumnClass(int col) { + public Class getColumnClass(int col) { if (this.getColumnName(col).equals(CREATEDTIME_HEADER) || this.getColumnName(col).equals(COMPLETEDTIME_HEADER)) { return Date.class; } else { From 291e156566c20f5df81a99fb186b3ea83c28c313 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Fri, 4 Aug 2017 15:45:36 -0400 Subject: [PATCH 03/12] 2885 Last Accessed time now sourced from last accessed attr instead of modified --- .../autoingest/AutoIngestCase.java | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCase.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCase.java index 6d37ca2a26..ff47423030 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCase.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCase.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2015 Basis Technology Corp. + * Copyright 2015-2017 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -39,7 +39,7 @@ class AutoIngestCase implements Comparable { private final String caseName; private final Path metadataFilePath; private final Date createDate; - private Date lastModfiedDate; + private final Date lastAccessedDate; /** * Constructs a representation of case created by automated ingest. @@ -58,10 +58,10 @@ class AutoIngestCase implements Comparable { } if (null != fileAttrs) { createDate = new Date(fileAttrs.creationTime().toMillis()); - lastModfiedDate = new Date(fileAttrs.lastModifiedTime().toMillis()); + lastAccessedDate = new Date(fileAttrs.lastAccessTime().toMillis()); } else { createDate = new Date(); - lastModfiedDate = new Date(); + lastAccessedDate = new Date(); } } @@ -94,19 +94,13 @@ class AutoIngestCase implements Comparable { } /** - * Gets the last accessed date for the case, defined as the last modified + * Gets the last accessed date for the case, defined as the last accessed * time of the case metadata file. * * @return The last accessed date. */ Date getLastAccessedDate() { - try { - BasicFileAttributes fileAttrs = Files.readAttributes(metadataFilePath, BasicFileAttributes.class); - lastModfiedDate = new Date(fileAttrs.lastModifiedTime().toMillis()); - } catch (IOException ex) { - logger.log(Level.SEVERE, String.format("Error reading file attributes of case metadata file in %s, lastModfiedDate time not updated", caseDirectoryPath), ex); - } - return lastModfiedDate; + return this.lastAccessedDate; } /** @@ -162,7 +156,7 @@ class AutoIngestCase implements Comparable { */ @Override public int compareTo(AutoIngestCase other) { - return -this.lastModfiedDate.compareTo(other.getLastAccessedDate()); + return -this.lastAccessedDate.compareTo(other.getLastAccessedDate()); } /** From b361e8a3d3bd35ef8240704048b70275bdb05672 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Fri, 4 Aug 2017 16:15:00 -0400 Subject: [PATCH 04/12] 2915 Show Last 10: message changed, gray space minimized on Examiner gui --- .../autoingest/AutoIngestCasePanel.form | 164 +++++++++--------- .../autoingest/AutoIngestCasePanel.java | 136 +++++++-------- .../experimental/autoingest/Bundle.properties | 2 +- 3 files changed, 144 insertions(+), 158 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.form b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.form index 0c22854c9a..d415112bc1 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.form +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.form @@ -34,37 +34,45 @@ - - - - - + + + + + + + + + + - + - - - - - + + + + + + - - - - - + + + + + + - + + @@ -122,32 +130,16 @@ - - - - - - - - - + + - - - - - - - - - + - @@ -167,56 +159,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -233,5 +175,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java index ea98faea18..c9842dddbf 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java @@ -384,11 +384,11 @@ public final class AutoIngestCasePanel extends JPanel { bnRefresh = new javax.swing.JButton(); panelFilter = new javax.swing.JPanel(); rbAllCases = new javax.swing.JRadioButton(); - rbMonths = new javax.swing.JRadioButton(); - rbWeeks = new javax.swing.JRadioButton(); - rbDays = new javax.swing.JRadioButton(); - rbGroupLabel = new javax.swing.JLabel(); bnShowLog = new javax.swing.JButton(); + rbDays = new javax.swing.JRadioButton(); + rbWeeks = new javax.swing.JRadioButton(); + rbMonths = new javax.swing.JRadioButton(); + rbGroupLabel = new javax.swing.JLabel(); setName("Completed Cases"); // NOI18N @@ -428,19 +428,27 @@ public final class AutoIngestCasePanel extends JPanel { } }); - rbGroupHistoryLength.add(rbMonths); - org.openide.awt.Mnemonics.setLocalizedText(rbMonths, org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.rbMonths.text")); // NOI18N - rbMonths.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - rbMonthsItemStateChanged(evt); - } - }); + javax.swing.GroupLayout panelFilterLayout = new javax.swing.GroupLayout(panelFilter); + panelFilter.setLayout(panelFilterLayout); + panelFilterLayout.setHorizontalGroup( + panelFilterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(panelFilterLayout.createSequentialGroup() + .addComponent(rbAllCases) + .addGap(0, 0, Short.MAX_VALUE)) + ); + panelFilterLayout.setVerticalGroup( + panelFilterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelFilterLayout.createSequentialGroup() + .addGap(0, 0, 0) + .addComponent(rbAllCases)) + ); - rbGroupHistoryLength.add(rbWeeks); - org.openide.awt.Mnemonics.setLocalizedText(rbWeeks, org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.rbWeeks.text")); // NOI18N - rbWeeks.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - rbWeeksItemStateChanged(evt); + org.openide.awt.Mnemonics.setLocalizedText(bnShowLog, org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.bnShowLog.text")); // NOI18N + bnShowLog.setToolTipText(org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.bnShowLog.toolTipText")); // NOI18N + bnShowLog.setEnabled(false); + bnShowLog.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + bnShowLogActionPerformed(evt); } }); @@ -453,48 +461,25 @@ public final class AutoIngestCasePanel extends JPanel { } }); - rbGroupLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - org.openide.awt.Mnemonics.setLocalizedText(rbGroupLabel, org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.rbGroupLabel.text")); // NOI18N - - javax.swing.GroupLayout panelFilterLayout = new javax.swing.GroupLayout(panelFilter); - panelFilter.setLayout(panelFilterLayout); - panelFilterLayout.setHorizontalGroup( - panelFilterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(panelFilterLayout.createSequentialGroup() - .addContainerGap() - .addGroup(panelFilterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(rbGroupLabel) - .addComponent(rbAllCases) - .addComponent(rbMonths) - .addComponent(rbWeeks) - .addComponent(rbDays)) - .addContainerGap(34, Short.MAX_VALUE)) - ); - panelFilterLayout.setVerticalGroup( - panelFilterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelFilterLayout.createSequentialGroup() - .addContainerGap() - .addComponent(rbGroupLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(rbDays) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(rbWeeks) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(rbMonths) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(rbAllCases) - .addContainerGap()) - ); - - org.openide.awt.Mnemonics.setLocalizedText(bnShowLog, org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.bnShowLog.text")); // NOI18N - bnShowLog.setToolTipText(org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.bnShowLog.toolTipText")); // NOI18N - bnShowLog.setEnabled(false); - bnShowLog.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - bnShowLogActionPerformed(evt); + rbGroupHistoryLength.add(rbWeeks); + org.openide.awt.Mnemonics.setLocalizedText(rbWeeks, org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.rbWeeks.text")); // NOI18N + rbWeeks.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + rbWeeksItemStateChanged(evt); } }); + rbGroupHistoryLength.add(rbMonths); + org.openide.awt.Mnemonics.setLocalizedText(rbMonths, org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.rbMonths.text")); // NOI18N + rbMonths.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + rbMonthsItemStateChanged(evt); + } + }); + + rbGroupLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(rbGroupLabel, org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "AutoIngestCasePanel.rbGroupLabel.text")); // NOI18N + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( @@ -510,28 +495,37 @@ public final class AutoIngestCasePanel extends JPanel { .addGap(18, 18, 18) .addComponent(bnShowLog) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(panelFilter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(20, 20, 20)) - .addGroup(layout.createSequentialGroup() - .addComponent(scrollPaneTable, javax.swing.GroupLayout.DEFAULT_SIZE, 1007, Short.MAX_VALUE) - .addContainerGap()))) + .addComponent(rbGroupLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(rbDays) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(rbWeeks) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(rbMonths) + .addGap(0, 0, 0) + .addComponent(panelFilter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(scrollPaneTable, javax.swing.GroupLayout.DEFAULT_SIZE, 1007, Short.MAX_VALUE)) + .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addGap(43, 43, 43) + .addGap(6, 6, 6) .addComponent(scrollPaneTable, javax.swing.GroupLayout.PREFERRED_SIZE, 450, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(layout.createSequentialGroup() - .addComponent(panelFilter, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) - .addGroup(layout.createSequentialGroup() + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(bnOpen) + .addComponent(bnRefresh) + .addComponent(bnShowLog)) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(bnOpen) - .addComponent(bnRefresh) - .addComponent(bnShowLog)) - .addGap(36, 36, 36)))) + .addComponent(rbDays) + .addComponent(rbWeeks) + .addComponent(rbMonths) + .addComponent(rbGroupLabel)) + .addComponent(panelFilter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGap(6, 6, 6)) ); }// //GEN-END:initComponents diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties index cddf2ed860..a659557b17 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties @@ -297,4 +297,4 @@ AutoIngestCasePanel.bnRefresh.text=&Refresh AutoIngestCasePanel.bnOpen.text=&Open AutoIngestCasePanel.bnShowLog.toolTipText=Display case log file for selected case AutoIngestCasePanel.bnShowLog.text=&Show Log -AutoIngestCasePanel.rbGroupLabel.text=Show Last 10: +AutoIngestCasePanel.rbGroupLabel.text=Show cases accessed in the last 10: From 69fc2223d4554960c70287af019b66da21dcc4f2 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Fri, 4 Aug 2017 17:49:07 -0400 Subject: [PATCH 05/12] 2915 moved refresh button to after the filter options --- .../autoingest/AutoIngestCasePanel.form | 13 +++++++------ .../autoingest/AutoIngestCasePanel.java | 15 ++++++++------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.form b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.form index d415112bc1..cb0f275809 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.form +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.form @@ -27,11 +27,9 @@ - + - - - + @@ -43,6 +41,9 @@ + + + @@ -59,9 +60,9 @@ - + @@ -72,7 +73,7 @@ - + diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java index c9842dddbf..0c16d76779 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java @@ -488,11 +488,9 @@ public final class AutoIngestCasePanel extends JPanel { .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addGap(13, 13, 13) + .addGap(4, 4, 4) .addComponent(bnOpen, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(bnRefresh) - .addGap(18, 18, 18) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(bnShowLog) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(rbGroupLabel) @@ -503,7 +501,10 @@ public final class AutoIngestCasePanel extends JPanel { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(rbMonths) .addGap(0, 0, 0) - .addComponent(panelFilter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(panelFilter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(bnRefresh) + .addGap(4, 4, 4)) .addComponent(scrollPaneTable, javax.swing.GroupLayout.DEFAULT_SIZE, 1007, Short.MAX_VALUE)) .addContainerGap()) ); @@ -516,8 +517,8 @@ public final class AutoIngestCasePanel extends JPanel { .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(bnOpen) - .addComponent(bnRefresh) .addComponent(bnShowLog)) + .addComponent(bnRefresh) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(rbDays) @@ -525,7 +526,7 @@ public final class AutoIngestCasePanel extends JPanel { .addComponent(rbMonths) .addComponent(rbGroupLabel)) .addComponent(panelFilter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addGap(6, 6, 6)) + .addGap(0, 0, 0)) ); }// //GEN-END:initComponents From db7deb1db3f562b8beb2dfdd0f421fa1fc9386da Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 7 Aug 2017 10:49:56 -0400 Subject: [PATCH 06/12] 2915 increase timeout to 5 minutes for automated refresh --- .../autopsy/experimental/autoingest/AutoIngestCasePanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java index 0c16d76779..9fa48e75b2 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java @@ -63,7 +63,7 @@ public final class AutoIngestCasePanel extends JPanel { private static final int STATUS_COL_MAX_WIDTH = 250; private static final int STATUS_COL_PREFERRED_WIDTH = 60; private static final int MILLIS_TO_WAIT_BEFORE_STARTING = 500; - private static final int MILLIS_TO_WAIT_BETWEEN_UPDATES = 30000; + private static final int MILLIS_TO_WAIT_BETWEEN_UPDATES = 300000; private ScheduledThreadPoolExecutor casesTableRefreshExecutor; /* From f4ddc6eb701465a5baaea32c039f1143499a9e7a Mon Sep 17 00:00:00 2001 From: millmanorama Date: Tue, 8 Aug 2017 14:39:24 -0400 Subject: [PATCH 07/12] use NbBundle.Messages annotation instead of Bundle.properties file --- .../autopsy/datamodel/Bundle.properties | 11 --- .../autopsy/datamodel/DeletedContent.java | 68 +++++++++++-------- 2 files changed, 39 insertions(+), 40 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties index a712c1bdb7..964b2df827 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties @@ -80,17 +80,6 @@ DataSourcesNode.name=Data Sources DataSourcesNode.createSheet.name.name=Name DataSourcesNode.createSheet.name.displayName=Name DataSourcesNode.createSheet.name.desc=no description -DeletedContent.fsDelFilter.text=File System -DeletedContent.allDelFilter.text=All -DeletedContent.deletedContentsNode.name=Deleted Files -DeletedContent.createSheet.name.name=Name -DeletedContent.createSheet.name.displayName=Name -DeletedContent.createSheet.name.desc=no description -DeletedContent.createSheet.filterType.name=Type -DeletedContent.createSheet.filterType.displayName=Type -DeletedContent.createSheet.filterType.desc=no description -DeletedContent.createKeys.maxObjects.msg=There are more Deleted Files than can be displayed. Only the first {0} Deleted Files will be shown. -DeletedContent.createNodeForKey.typeNotSupported.msg=Not supported for this type of Displayable Item\: {0} DirectoryNode.parFolder.text=[parent folder] DirectoryNode.curFolder.text=[current folder] DirectoryNode.getActions.viewFileInDir.text=View File in Directory diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java b/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java index 673486db93..9c738fb3ed 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java @@ -1,15 +1,15 @@ /* * Autopsy Forensic Browser - * - * Copyright 2013-2015 Basis Technology Corp. + * + * Copyright 2011-2017 Basis Technology Corp. * Contact: carrier sleuthkit org - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -38,6 +38,7 @@ import org.openide.util.lookup.Lookups; import org.openide.windows.WindowManager; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.Logger; +import static org.sleuthkit.autopsy.datamodel.Bundle.*; import org.sleuthkit.autopsy.ingest.IngestManager; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.Content; @@ -57,14 +58,15 @@ public class DeletedContent implements AutopsyVisitableItem { private SleuthkitCase skCase; + @NbBundle.Messages({"DeletedContent.fsDelFilter.text=File System", + "DeletedContent.allDelFilter.text=All"}) public enum DeletedContentFilter implements AutopsyVisitableItem { - FS_DELETED_FILTER(0, - "FS_DELETED_FILTER", //NON-NLS - NbBundle.getMessage(DeletedContent.class, "DeletedContent.fsDelFilter.text")), - ALL_DELETED_FILTER(1, - "ALL_DELETED_FILTER", //NON-NLS - NbBundle.getMessage(DeletedContent.class, "DeletedContent.allDelFilter.text")); + FS_DELETED_FILTER(0, "FS_DELETED_FILTER", //NON-NLS + Bundle.DeletedContent_fsDelFilter_text()), + ALL_DELETED_FILTER(1, "ALL_DELETED_FILTER", //NON-NLS + Bundle.DeletedContent_allDelFilter_text()); + private int id; private String name; private String displayName; @@ -109,15 +111,13 @@ public class DeletedContent implements AutopsyVisitableItem { public static class DeletedContentsNode extends DisplayableItemNode { - private static final String NAME = NbBundle.getMessage(DeletedContent.class, - "DeletedContent.deletedContentsNode.name"); - private SleuthkitCase skCase; + @NbBundle.Messages("DeletedContent.deletedContentsNode.name=Deleted Files") + private static final String NAME = Bundle.DeletedContent_deletedContentsNode_name(); DeletedContentsNode(SleuthkitCase skCase) { super(Children.create(new DeletedContentsChildren(skCase), true), Lookups.singleton(NAME)); super.setName(NAME); super.setDisplayName(NAME); - this.skCase = skCase; this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/file-icon-deleted.png"); //NON-NLS } @@ -132,6 +132,9 @@ public class DeletedContent implements AutopsyVisitableItem { } @Override + @NbBundle.Messages({ + "DeletedContent.createSheet.name.displayName=Name", + "DeletedContent.createSheet.name.desc=no description"}) protected Sheet createSheet() { Sheet s = super.createSheet(); Sheet.Set ss = s.get(Sheet.PROPERTIES); @@ -140,9 +143,9 @@ public class DeletedContent implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty<>(NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.name"), - NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.displayName"), - NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.desc"), + ss.put(new NodeProperty<>("Name", //NON-NLS + Bundle.DeletedContent_createSheet_name_displayName(), + Bundle.DeletedContent_createSheet_name_desc(), NAME)); return s; } @@ -302,6 +305,9 @@ public class DeletedContent implements AutopsyVisitableItem { } @Override + @NbBundle.Messages({ + "DeletedContent.createSheet.filterType.displayName=Type", + "DeletedContent.createSheet.filterType.desc=no description"}) protected Sheet createSheet() { Sheet s = super.createSheet(); Sheet.Set ss = s.get(Sheet.PROPERTIES); @@ -310,10 +316,9 @@ public class DeletedContent implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty<>( - NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.name"), - NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.displayName"), - NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.desc"), + ss.put(new NodeProperty<>("Type", //NON_NLS + Bundle.DeletedContent_createSheet_filterType_displayName(), + Bundle.DeletedContent_createSheet_filterType_desc(), filter.getDisplayName())); return s; @@ -333,7 +338,7 @@ public class DeletedContent implements AutopsyVisitableItem { return DisplayableItemNode.FILE_PARENT_NODE_KEY; } } - + static class DeletedContentChildren extends ChildFactory.Detachable { private final SleuthkitCase skCase; @@ -374,6 +379,9 @@ public class DeletedContent implements AutopsyVisitableItem { } @Override + @NbBundle.Messages("DeletedContent.createKeys.maxObjects.msg=" + + "There are more Deleted Files than can be displayed." + + " Only the first {0} Deleted Files will be shown.") protected boolean createKeys(List list) { List queryList = runFsQuery(); if (queryList.size() == MAX_OBJECTS) { @@ -384,9 +392,8 @@ public class DeletedContent implements AutopsyVisitableItem { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), NbBundle.getMessage(this.getClass(), - "DeletedContent.createKeys.maxObjects.msg", - MAX_OBJECTS - 1)); + JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), + DeletedContent_createKeys_maxObjects_msg(MAX_OBJECTS - 1)); } }); } @@ -429,6 +436,7 @@ public class DeletedContent implements AutopsyVisitableItem { } query += " LIMIT " + MAX_OBJECTS; //NON-NLS + return query; } @@ -449,6 +457,9 @@ public class DeletedContent implements AutopsyVisitableItem { /** * Get children count without actually loading all nodes * + * @param sleuthkitCase + * @param filter + * * @return */ static long calculateItems(SleuthkitCase sleuthkitCase, DeletedContent.DeletedContentFilter filter) { @@ -461,6 +472,7 @@ public class DeletedContent implements AutopsyVisitableItem { } @Override + @NbBundle.Messages("DeletedContent.createNodeForKey.typeNotSupported.msg=Not supported for this type of Displayable Item: {0}") protected Node createNodeForKey(AbstractFile key) { return key.accept(new ContentVisitor.Default() { public FileNode visit(AbstractFile f) { @@ -488,9 +500,7 @@ public class DeletedContent implements AutopsyVisitableItem { @Override protected AbstractNode defaultVisit(Content di) { - throw new UnsupportedOperationException(NbBundle.getMessage(this.getClass(), - "DeletedContent.createNodeForKey.typeNotSupported.msg", - di.toString())); + throw new UnsupportedOperationException(Bundle.DeletedContent_createNodeForKey_typeNotSupported_msg(di.toString())); } }); } From 2b41238179c087a2c2d43d26769558f89bc21528 Mon Sep 17 00:00:00 2001 From: Ann Priestman Date: Wed, 9 Aug 2017 13:39:39 -0400 Subject: [PATCH 08/12] Move CentralRepository into Core --- CentralRepository/build.xml | 31 ----- CentralRepository/manifest.mf | 6 - CentralRepository/nbproject/build-impl.xml | 45 ------- .../nbproject/project.properties | 9 -- CentralRepository/nbproject/project.xml | 116 ------------------ CentralRepository/nbproject/suite.properties | 1 - Core/ivy.xml | 2 + Core/nbproject/project.xml | 8 ++ .../centralrepository/Bundle.properties | 0 .../README-POSTGRES-TESTING.md | 0 .../README_MONGODB_TESTING.md | 0 .../actions/Bundle.properties | 0 .../actions/EamCaseEditDetailsDialog.form | 0 .../actions/EamCaseEditDetailsDialog.java | 0 .../actions/EamEditCaseInfoAction.java | 0 .../contentviewer/Bundle.properties | 0 .../DataContentViewerOtherCases.form | 0 .../DataContentViewerOtherCases.java | 0 ...tentViewerOtherCasesTableCellRenderer.java | 0 ...DataContentViewerOtherCasesTableModel.java | 0 .../datamodel/AbstractSqlEamDb.java | 0 .../datamodel/EamArtifact.java | 0 .../datamodel/EamArtifactInstance.java | 0 .../datamodel/EamArtifactUtil.java | 0 .../centralrepository/datamodel/EamCase.java | 0 .../datamodel/EamDataSource.java | 0 .../centralrepository/datamodel/EamDb.java | 0 .../datamodel/EamDbException.java | 0 .../datamodel/EamDbPlatformEnum.java | 0 .../datamodel/EamDbUtil.java | 0 .../datamodel/EamGlobalFileInstance.java | 0 .../datamodel/EamGlobalSet.java | 0 .../datamodel/EamOrganization.java | 0 .../datamodel/PostgresEamDb.java | 0 .../datamodel/PostgresEamDbSettings.java | 0 .../datamodel/SqliteEamDb.java | 0 .../datamodel/SqliteEamDbSettings.java | 0 .../eventlisteners/BadFileTagRunner.java | 0 .../eventlisteners/CaseEventListener.java | 0 .../eventlisteners/IngestEventsListener.java | 0 .../eventlisteners/Installer.java | 0 .../eventlisteners/NewArtifactsRunner.java | 0 .../autopsy/centralrepository/images/bad.png | Bin .../autopsy/centralrepository/images/good.png | Bin .../centralrepository/images/import16.png | Bin .../centralrepository/images/options-icon.png | Bin .../ingestmodule/IngestModule.java | 0 .../ingestmodule/IngestModuleFactory.java | 0 .../license-centralrepository.txt | 0 .../AddNewOrganizationDialog.form | 0 .../AddNewOrganizationDialog.java | 0 .../optionspanel/Bundle.properties | 0 .../optionspanel/EamDbSettingsDialog.form | 0 .../optionspanel/EamDbSettingsDialog.java | 0 .../EamOptionsPanelController.java | 0 .../optionspanel/GlobalSettingsPanel.form | 0 .../optionspanel/GlobalSettingsPanel.java | 0 .../ImportHashDatabaseDialog.form | 0 .../ImportHashDatabaseDialog.java | 0 .../ManageCorrelationPropertiesDialog.form | 0 .../ManageCorrelationPropertiesDialog.java | 0 .../optionspanel/ManageTagsDialog.form | 0 .../optionspanel/ManageTagsDialog.java | 0 nbproject/project.properties | 4 +- 64 files changed, 11 insertions(+), 211 deletions(-) delete mode 100644 CentralRepository/build.xml delete mode 100644 CentralRepository/manifest.mf delete mode 100644 CentralRepository/nbproject/build-impl.xml delete mode 100644 CentralRepository/nbproject/project.properties delete mode 100644 CentralRepository/nbproject/project.xml delete mode 100644 CentralRepository/nbproject/suite.properties rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/Bundle.properties (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/README-POSTGRES-TESTING.md (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/README_MONGODB_TESTING.md (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/actions/Bundle.properties (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.form (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/actions/EamEditCaseInfoAction.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/contentviewer/Bundle.properties (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableCellRenderer.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableModel.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/AbstractSqlEamDb.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifact.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactInstance.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactUtil.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamCase.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDataSource.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDb.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbException.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbPlatformEnum.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbUtil.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalFileInstance.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalSet.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamOrganization.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDb.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDbSettings.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDb.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDbSettings.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/BadFileTagRunner.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/CaseEventListener.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/IngestEventsListener.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/NewArtifactsRunner.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/images/bad.png (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/images/good.png (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/images/import16.png (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/images/options-icon.png (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModule.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModuleFactory.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/license-centralrepository.txt (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.form (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/Bundle.properties (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamOptionsPanelController.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.form (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.form (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.form (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.java (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.form (100%) rename {CentralRepository => Core}/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.java (100%) diff --git a/CentralRepository/build.xml b/CentralRepository/build.xml deleted file mode 100644 index 4e8c2ff783..0000000000 --- a/CentralRepository/build.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - Builds, tests, and runs the project org.sleuthkit.autopsy.centralrepository. - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CentralRepository/manifest.mf b/CentralRepository/manifest.mf deleted file mode 100644 index b798470437..0000000000 --- a/CentralRepository/manifest.mf +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0 -AutoUpdate-Show-In-Client: true -OpenIDE-Module: org.sleuthkit.autopsy.centralrepository -OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/centralrepository/Bundle.properties -OpenIDE-Module-Specification-Version: 1.0 -OpenIDE-Module-Install: org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.class diff --git a/CentralRepository/nbproject/build-impl.xml b/CentralRepository/nbproject/build-impl.xml deleted file mode 100644 index 60467ca5c3..0000000000 --- a/CentralRepository/nbproject/build-impl.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - You must set 'suite.dir' to point to your containing module suite - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CentralRepository/nbproject/project.properties b/CentralRepository/nbproject/project.properties deleted file mode 100644 index efcb9ba609..0000000000 --- a/CentralRepository/nbproject/project.properties +++ /dev/null @@ -1,9 +0,0 @@ -file.reference.commons-dbcp2-2.1.1.jar=release/modules/ext/commons-dbcp2-2.1.1.jar -file.reference.commons-logging-1.2.jar=release/modules/ext/commons-logging-1.2.jar -file.reference.commons-pool2-2.4.2.jar=release/modules/ext/commons-pool2-2.4.2.jar -file.reference.postgresql-42.1.1.jar=release/modules/ext/postgresql-42.1.1.jar -file.reference.sqlite-jdbc-3.16.1.jar=release/modules/ext/sqlite-jdbc-3.16.1.jar -javac.source=1.8 -javac.compilerargs=-Xlint -Xlint:-serial -license.file=../LICENSE-2.0.txt -nbm.homepage=http://www.sleuthkit.org/autopsy/ diff --git a/CentralRepository/nbproject/project.xml b/CentralRepository/nbproject/project.xml deleted file mode 100644 index 1c66ca32ff..0000000000 --- a/CentralRepository/nbproject/project.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - org.netbeans.modules.apisupport.project - - - org.sleuthkit.autopsy.centralrepository - - - - org.netbeans.api.progress - - - - 1 - 1.47.1 - - - - org.netbeans.modules.options.api - - - - 1 - 1.45.1 - - - - org.openide.awt - - - - 7.67.1 - - - - org.openide.modules - - - - 7.48.1 - - - - org.openide.nodes - - - - 7.45.1 - - - - org.openide.util - - - - 9.7.1 - - - - org.openide.util.lookup - - - - 8.33.1 - - - - org.openide.util.ui - - - - 9.6.1 - - - - org.openide.windows - - - - 6.75.1 - - - - org.sleuthkit.autopsy.core - - - - 10 - 10.8 - - - - - - ext/sqlite-jdbc-3.16.1.jar - release\modules\ext\sqlite-jdbc-3.16.1.jar - - - ext/commons-dbcp2-2.1.1.jar - release\modules\ext\commons-dbcp2-2.1.1.jar - - - ext/postgresql-42.1.1.jar - release\modules\ext\postgresql-42.1.1.jar - - - ext/commons-pool2-2.4.2.jar - release\modules\ext\commons-pool2-2.4.2.jar - - - ext/commons-logging-1.2.jar - release\modules\ext\commons-logging-1.2.jar - - - - diff --git a/CentralRepository/nbproject/suite.properties b/CentralRepository/nbproject/suite.properties deleted file mode 100644 index 29d7cc9bd6..0000000000 --- a/CentralRepository/nbproject/suite.properties +++ /dev/null @@ -1 +0,0 @@ -suite.dir=${basedir}/.. diff --git a/Core/ivy.xml b/Core/ivy.xml index d40831b773..b6cfe4a568 100644 --- a/Core/ivy.xml +++ b/Core/ivy.xml @@ -19,5 +19,7 @@ + + diff --git a/Core/nbproject/project.xml b/Core/nbproject/project.xml index eb4739d209..0fa567cf00 100644 --- a/Core/nbproject/project.xml +++ b/Core/nbproject/project.xml @@ -362,6 +362,14 @@ ext/curator-framework-2.8.0.jar release/modules/ext/curator-framework-2.8.0.jar + + ext/commons-dbcp2-2.1.1.jar + release\modules\ext\commons-dbcp2-2.1.1.jar + + + ext/commons-pool2-2.4.2.jar + release\modules\ext\commons-pool2-2.4.2.jar + diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/Bundle.properties b/Core/src/org/sleuthkit/autopsy/centralrepository/Bundle.properties similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/Bundle.properties rename to Core/src/org/sleuthkit/autopsy/centralrepository/Bundle.properties diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/README-POSTGRES-TESTING.md b/Core/src/org/sleuthkit/autopsy/centralrepository/README-POSTGRES-TESTING.md similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/README-POSTGRES-TESTING.md rename to Core/src/org/sleuthkit/autopsy/centralrepository/README-POSTGRES-TESTING.md diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/README_MONGODB_TESTING.md b/Core/src/org/sleuthkit/autopsy/centralrepository/README_MONGODB_TESTING.md similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/README_MONGODB_TESTING.md rename to Core/src/org/sleuthkit/autopsy/centralrepository/README_MONGODB_TESTING.md diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/actions/Bundle.properties b/Core/src/org/sleuthkit/autopsy/centralrepository/actions/Bundle.properties similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/actions/Bundle.properties rename to Core/src/org/sleuthkit/autopsy/centralrepository/actions/Bundle.properties diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.form similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.form rename to Core/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.form diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/actions/EamCaseEditDetailsDialog.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/actions/EamEditCaseInfoAction.java b/Core/src/org/sleuthkit/autopsy/centralrepository/actions/EamEditCaseInfoAction.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/actions/EamEditCaseInfoAction.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/actions/EamEditCaseInfoAction.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/Bundle.properties b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/Bundle.properties similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/Bundle.properties rename to Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/Bundle.properties diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form rename to Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableCellRenderer.java b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableCellRenderer.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableCellRenderer.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableCellRenderer.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableModel.java b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableModel.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableModel.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCasesTableModel.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/AbstractSqlEamDb.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/AbstractSqlEamDb.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/AbstractSqlEamDb.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/AbstractSqlEamDb.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifact.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifact.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifact.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifact.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactInstance.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactInstance.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactInstance.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactInstance.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactUtil.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactUtil.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactUtil.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamArtifactUtil.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamCase.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamCase.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamCase.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamCase.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDataSource.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDataSource.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDataSource.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDataSource.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDb.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDb.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDb.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDb.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbException.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbException.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbException.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbException.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbPlatformEnum.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbPlatformEnum.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbPlatformEnum.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbPlatformEnum.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbUtil.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbUtil.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbUtil.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamDbUtil.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalFileInstance.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalFileInstance.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalFileInstance.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalFileInstance.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalSet.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalSet.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalSet.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamGlobalSet.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamOrganization.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamOrganization.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamOrganization.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/EamOrganization.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDb.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDb.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDb.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDb.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDbSettings.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDbSettings.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDbSettings.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/PostgresEamDbSettings.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDb.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDb.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDb.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDb.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDbSettings.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDbSettings.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDbSettings.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/SqliteEamDbSettings.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/BadFileTagRunner.java b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/BadFileTagRunner.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/BadFileTagRunner.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/BadFileTagRunner.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/CaseEventListener.java b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/CaseEventListener.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/CaseEventListener.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/CaseEventListener.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/IngestEventsListener.java b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/IngestEventsListener.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/IngestEventsListener.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/IngestEventsListener.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/NewArtifactsRunner.java b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/NewArtifactsRunner.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/NewArtifactsRunner.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/NewArtifactsRunner.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/images/bad.png b/Core/src/org/sleuthkit/autopsy/centralrepository/images/bad.png similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/images/bad.png rename to Core/src/org/sleuthkit/autopsy/centralrepository/images/bad.png diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/images/good.png b/Core/src/org/sleuthkit/autopsy/centralrepository/images/good.png similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/images/good.png rename to Core/src/org/sleuthkit/autopsy/centralrepository/images/good.png diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/images/import16.png b/Core/src/org/sleuthkit/autopsy/centralrepository/images/import16.png similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/images/import16.png rename to Core/src/org/sleuthkit/autopsy/centralrepository/images/import16.png diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/images/options-icon.png b/Core/src/org/sleuthkit/autopsy/centralrepository/images/options-icon.png similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/images/options-icon.png rename to Core/src/org/sleuthkit/autopsy/centralrepository/images/options-icon.png diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModule.java b/Core/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModule.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModule.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModule.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModuleFactory.java b/Core/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModuleFactory.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModuleFactory.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/ingestmodule/IngestModuleFactory.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/license-centralrepository.txt b/Core/src/org/sleuthkit/autopsy/centralrepository/license-centralrepository.txt similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/license-centralrepository.txt rename to Core/src/org/sleuthkit/autopsy/centralrepository/license-centralrepository.txt diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.form similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.form rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.form diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/AddNewOrganizationDialog.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/Bundle.properties b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/Bundle.properties similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/Bundle.properties rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/Bundle.properties diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamOptionsPanelController.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamOptionsPanelController.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamOptionsPanelController.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamOptionsPanelController.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.form similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.form rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.form diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.form similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.form rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.form diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ImportHashDatabaseDialog.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.form similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.form rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.form diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCorrelationPropertiesDialog.java diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.form similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.form rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.form diff --git a/CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.java similarity index 100% rename from CentralRepository/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.java rename to Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageTagsDialog.java diff --git a/nbproject/project.properties b/nbproject/project.properties index 03d618afe6..8df7ff47a0 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -10,7 +10,6 @@ app.version=4.4.1 build.type=DEVELOPMENT project.org.netbeans.progress=org-netbeans-api-progress -project.org.sleuthkit.autopsy.centralrepository=CentralRepository project.org.sleuthkit.autopsy.experimental=Experimental project.org.sleuthkit.autopsy.imagegallery=ImageGallery update_versions=false @@ -32,8 +31,7 @@ modules=\ ${project.org.sleuthkit.autopsy.core}:\ ${project.org.sleuthkit.autopsy.corelibs}:\ ${project.org.sleuthkit.autopsy.imagegallery}:\ - ${project.org.sleuthkit.autopsy.experimental}:\ - ${project.org.sleuthkit.autopsy.centralrepository} + ${project.org.sleuthkit.autopsy.experimental} project.org.sleuthkit.autopsy.core=Core project.org.sleuthkit.autopsy.corelibs=CoreLibs project.org.sleuthkit.autopsy.keywordsearch=KeywordSearch From 67bd03540922d90a69b54511854c1369d8ac42e7 Mon Sep 17 00:00:00 2001 From: Eugene Livis Date: Wed, 9 Aug 2017 16:49:49 -0400 Subject: [PATCH 09/12] Handling potential StackOverflowError comming out of Matcher.find() --- .../autopsy/keywordsearch/RegexQuery.java | 144 ++++++++++-------- 1 file changed, 77 insertions(+), 67 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java index 9834332567..ed0cf20f09 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java @@ -207,7 +207,7 @@ final class RegexQuery implements KeywordSearchQuery { hitsMultiMap.put(new Keyword(hit.getHit(), true, true, originalKeyword.getListName(), originalKeyword.getOriginalTerm()), hit); } } catch (TskException ex) { - // + LOGGER.log(Level.SEVERE, "Error creating keyword hits", ex); //NON-NLS } } @@ -237,83 +237,93 @@ final class RegexQuery implements KeywordSearchQuery { final Collection content_str = solrDoc.getFieldValues(Server.Schema.CONTENT_STR.toString()); final Pattern pattern = Pattern.compile(keywordString); - for (Object content_obj : content_str) { - String content = (String) content_obj; - Matcher hitMatcher = pattern.matcher(content); - int offset = 0; + try { + for (Object content_obj : content_str) { + String content = (String) content_obj; + Matcher hitMatcher = pattern.matcher(content); + int offset = 0; - while (hitMatcher.find(offset)) { - StringBuilder snippet = new StringBuilder(); + while (hitMatcher.find(offset)) { + StringBuilder snippet = new StringBuilder(); - // If the location of the hit is beyond this chunk (i.e. it - // exists in the overlap region), we skip the hit. It will - // show up again as a hit in the chunk following this one. - if (chunkSize != null && hitMatcher.start() >= chunkSize) { - break; - } - - String hit = hitMatcher.group(); - - offset = hitMatcher.end(); - - // We attempt to reduce false positives for phone numbers and IP address hits - // by querying Solr for hits delimited by a set of known boundary characters. - // See KeywordSearchList.PHONE_NUMBER_REGEX for an example. - // Because of this the hits may contain an extra character at the beginning or end that - // needs to be chopped off, unless the user has supplied their own wildcard suffix - // as part of the regex. - if (!queryStringContainsWildcardSuffix - && (originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PHONE_NUMBER - || originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_IP_ADDRESS)) { - if (originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PHONE_NUMBER) { - // For phone numbers replace all non numeric characters (except "(") at the start of the hit. - hit = hit.replaceAll("^[^0-9\\(]", ""); - } else { - // Replace all non numeric characters at the start of the hit. - hit = hit.replaceAll("^[^0-9]", ""); + // If the location of the hit is beyond this chunk (i.e. it + // exists in the overlap region), we skip the hit. It will + // show up again as a hit in the chunk following this one. + if (chunkSize != null && hitMatcher.start() >= chunkSize) { + break; } - // Replace all non numeric at the end of the hit. - hit = hit.replaceAll("[^0-9]$", ""); - } - if (originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_EMAIL) { - // Reduce false positives by eliminating email address hits that are either - // too short or are not for valid top level domains. - if (hit.length() < MIN_EMAIL_ADDR_LENGTH - || !DomainValidator.getInstance(true).isValidTld(hit.substring(hit.lastIndexOf('.')))) { - continue; + String hit = hitMatcher.group(); + + offset = hitMatcher.end(); + + // We attempt to reduce false positives for phone numbers and IP address hits + // by querying Solr for hits delimited by a set of known boundary characters. + // See KeywordSearchList.PHONE_NUMBER_REGEX for an example. + // Because of this the hits may contain an extra character at the beginning or end that + // needs to be chopped off, unless the user has supplied their own wildcard suffix + // as part of the regex. + if (!queryStringContainsWildcardSuffix + && (originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PHONE_NUMBER + || originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_IP_ADDRESS)) { + if (originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PHONE_NUMBER) { + // For phone numbers replace all non numeric characters (except "(") at the start of the hit. + hit = hit.replaceAll("^[^0-9\\(]", ""); + } else { + // Replace all non numeric characters at the start of the hit. + hit = hit.replaceAll("^[^0-9]", ""); + } + // Replace all non numeric at the end of the hit. + hit = hit.replaceAll("[^0-9]$", ""); } - } - /* - * If searching for credit card account numbers, do a Luhn check - * on the term and discard it if it does not pass. - */ - if (originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_CARD_NUMBER) { - Matcher ccnMatcher = CREDIT_CARD_NUM_PATTERN.matcher(hit); - if (ccnMatcher.find()) { - final String ccn = CharMatcher.anyOf(" -").removeFrom(ccnMatcher.group("ccn")); - if (false == TermsComponentQuery.CREDIT_CARD_NUM_LUHN_CHECK.isValid(ccn)) { + if (originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_EMAIL) { + // Reduce false positives by eliminating email address hits that are either + // too short or are not for valid top level domains. + if (hit.length() < MIN_EMAIL_ADDR_LENGTH + || !DomainValidator.getInstance(true).isValidTld(hit.substring(hit.lastIndexOf('.')))) { continue; } - } else { - continue; } + + /* + * If searching for credit card account numbers, do a Luhn check + * on the term and discard it if it does not pass. + */ + if (originalKeyword.getArtifactAttributeType() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_CARD_NUMBER) { + Matcher ccnMatcher = CREDIT_CARD_NUM_PATTERN.matcher(hit); + if (ccnMatcher.find()) { + final String ccn = CharMatcher.anyOf(" -").removeFrom(ccnMatcher.group("ccn")); + if (false == TermsComponentQuery.CREDIT_CARD_NUM_LUHN_CHECK.isValid(ccn)) { + continue; + } + } else { + continue; + } + } + + /** + * Get the snippet from the document if keyword search is + * configured to use snippets. + */ + int maxIndex = content.length() - 1; + snippet.append(content.substring(Integer.max(0, hitMatcher.start() - 20), Integer.max(0, hitMatcher.start()))); + snippet.appendCodePoint(171); + snippet.append(hit); + snippet.appendCodePoint(171); + snippet.append(content.substring(Integer.min(maxIndex, hitMatcher.end()), Integer.min(maxIndex, hitMatcher.end() + 20))); + + hits.add(new KeywordHit(docId, snippet.toString(), hit)); } - - /** - * Get the snippet from the document if keyword search is - * configured to use snippets. - */ - int maxIndex = content.length() - 1; - snippet.append(content.substring(Integer.max(0, hitMatcher.start() - 20), Integer.max(0, hitMatcher.start()))); - snippet.appendCodePoint(171); - snippet.append(hit); - snippet.appendCodePoint(171); - snippet.append(content.substring(Integer.min(maxIndex, hitMatcher.end()), Integer.min(maxIndex, hitMatcher.end() + 20))); - - hits.add(new KeywordHit(docId, snippet.toString(), hit)); } + } catch (TskCoreException ex) { + throw ex; + } catch (Throwable error) { + /* NOTE: Matcher.find() is known to throw StackOverflowError in rare cases (see story 2700). + StackOverflowError is an error, not an exception, and therefore needs to be caught + as a Throwable. When this occurs we should re-throw the error as TskCoreException so that it is + logged by the calling method and move on to the next Solr document. */ + throw new TskCoreException("Failed to create keyword hits for Solr documet id " + docId + " due to " + error.getMessage()); } return hits; } From ec7269b4f22fc57fe975cbec3215b07787a94068 Mon Sep 17 00:00:00 2001 From: Eugene Livis Date: Wed, 9 Aug 2017 16:54:58 -0400 Subject: [PATCH 10/12] Changed exception type from TskException to TskCoreException --- .../src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java index ed0cf20f09..b8237a47b1 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java @@ -206,7 +206,7 @@ final class RegexQuery implements KeywordSearchQuery { for (KeywordHit hit : keywordHits) { hitsMultiMap.put(new Keyword(hit.getHit(), true, true, originalKeyword.getListName(), originalKeyword.getOriginalTerm()), hit); } - } catch (TskException ex) { + } catch (TskCoreException ex) { LOGGER.log(Level.SEVERE, "Error creating keyword hits", ex); //NON-NLS } } @@ -228,7 +228,7 @@ final class RegexQuery implements KeywordSearchQuery { return results; } - private List createKeywordHits(SolrDocument solrDoc) throws TskException { + private List createKeywordHits(SolrDocument solrDoc) throws TskCoreException { List hits = new ArrayList<>(); final String docId = solrDoc.getFieldValue(Server.Schema.ID.toString()).toString(); From 2afb4f44f54318833ff2678714ffa383fcdaca02 Mon Sep 17 00:00:00 2001 From: Eugene Livis Date: Wed, 9 Aug 2017 17:25:04 -0400 Subject: [PATCH 11/12] Minor --- .../src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java index b8237a47b1..45205b0ca7 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java @@ -319,11 +319,11 @@ final class RegexQuery implements KeywordSearchQuery { } catch (TskCoreException ex) { throw ex; } catch (Throwable error) { - /* NOTE: Matcher.find() is known to throw StackOverflowError in rare cases (see story 2700). + /* NOTE: Matcher.find() is known to throw StackOverflowError in rare cases (see JIRA-2700). StackOverflowError is an error, not an exception, and therefore needs to be caught as a Throwable. When this occurs we should re-throw the error as TskCoreException so that it is logged by the calling method and move on to the next Solr document. */ - throw new TskCoreException("Failed to create keyword hits for Solr documet id " + docId + " due to " + error.getMessage()); + throw new TskCoreException("Failed to create keyword hits for Solr document id " + docId + " due to " + error.getMessage()); } return hits; } From 0ef191fca4536515572397029cc0cb69b682933d Mon Sep 17 00:00:00 2001 From: Ann Priestman Date: Thu, 10 Aug 2017 08:38:53 -0400 Subject: [PATCH 12/12] Fixed installer --- .../eventlisteners/Installer.java | 14 ++++++++++++++ Core/src/org/sleuthkit/autopsy/core/Installer.java | 1 + 2 files changed, 15 insertions(+) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java index a0a7878605..d2b1beebbb 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java @@ -35,6 +35,20 @@ public class Installer extends ModuleInstall { private final PropertyChangeListener pcl = new CaseEventListener(); private final IngestEventsListener ieListener = new IngestEventsListener(); + private static Installer instance; + + public synchronized static Installer getDefault() { + if (instance == null) { + instance = new Installer(); + } + return instance; + } + + private Installer() { + super(); + } + + @Override public void restored() { Case.addPropertyChangeListener(pcl); diff --git a/Core/src/org/sleuthkit/autopsy/core/Installer.java b/Core/src/org/sleuthkit/autopsy/core/Installer.java index 748870d783..0b660acd2a 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/core/Installer.java @@ -212,6 +212,7 @@ public class Installer extends ModuleInstall { packageInstallers.add(org.sleuthkit.autopsy.corecomponents.Installer.getDefault()); packageInstallers.add(org.sleuthkit.autopsy.datamodel.Installer.getDefault()); packageInstallers.add(org.sleuthkit.autopsy.ingest.Installer.getDefault()); + packageInstallers.add(org.sleuthkit.autopsy.centralrepository.eventlisteners.Installer.getDefault()); } /**