This commit is contained in:
adam-m 2012-09-18 12:59:04 -04:00
commit 48335162d3
213 changed files with 4841 additions and 4255 deletions

View File

@ -1,7 +1,8 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
OpenIDE-Module: org.sleuthkit.autopsy.casemodule/1 AutoUpdate-Show-In-Client: false
OpenIDE-Module-Implementation-Version: 2 OpenIDE-Module: org.sleuthkit.autopsy.casemodule/1
OpenIDE-Module-Layer: org/sleuthkit/autopsy/casemodule/layer.xml OpenIDE-Module-Implementation-Version: 2
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/casemodule/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/casemodule/layer.xml
OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/casemodule/Bundle.properties
OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help

View File

@ -24,7 +24,6 @@ import java.awt.Dialog;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.Action; import javax.swing.Action;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import javax.swing.JButton; import javax.swing.JButton;
@ -41,7 +40,7 @@ import org.openide.util.NbBundle;
import org.openide.util.actions.CallableSystemAction; import org.openide.util.actions.CallableSystemAction;
import org.openide.util.actions.Presenter; import org.openide.util.actions.Presenter;
import org.openide.util.lookup.ServiceProvider; import org.openide.util.lookup.ServiceProvider;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.datamodel.Image; import org.sleuthkit.datamodel.Image;
/** /**
@ -105,7 +104,7 @@ public final class AddImageAction extends CallableSystemAction implements Presen
*/ */
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(AddImageAction.class); Logger.noteAction(AddImageAction.class);
final IngestConfigurator ingestConfig = Lookup.getDefault().lookup(IngestConfigurator.class); final IngestConfigurator ingestConfig = Lookup.getDefault().lookup(IngestConfigurator.class);
if (ingestConfig.isIngestRunning()) { if (ingestConfig.isIngestRunning()) {

View File

@ -26,7 +26,7 @@ import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import org.openide.WizardDescriptor; import org.openide.WizardDescriptor;

View File

@ -27,7 +27,7 @@ import java.util.Iterator;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JProgressBar; import javax.swing.JProgressBar;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import javax.swing.SwingWorker; import javax.swing.SwingWorker;

View File

@ -20,7 +20,7 @@ package org.sleuthkit.autopsy.casemodule;
import java.awt.Component; import java.awt.Component;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import org.openide.WizardDescriptor; import org.openide.WizardDescriptor;
import org.openide.util.HelpCtx; import org.openide.util.HelpCtx;

View File

@ -3,10 +3,10 @@ CTL_AddImageButton=Add Image
CTL_CaseAction=Case CTL_CaseAction=Case
CTL_CaseCloseAct=Close Case CTL_CaseCloseAct=Close Case
CTL_CaseNewAction=New Case... CTL_CaseNewAction=New Case...
CTL_CaseOpenActionOld=Open Case(old)... #CTL_CaseOpenActionOld=Open Case(old)...
CTL_CasePropertiesAction=Case Properties... CTL_CasePropertiesAction=Case Properties...
CTL_CaseTopComponent=Case Window CTL_CaseTopComponent=Case Window
CTL_NewCaseAct=New Case(Old)... #CTL_NewCaseAct=New Case(Old)...
CTL_OpenAction=Open Case... CTL_OpenAction=Open Case...
CTL_RecentCases=Recent Cases CTL_RecentCases=Recent Cases
CTL_CaseDeleteAction=Delete Case CTL_CaseDeleteAction=Delete Case

View File

@ -24,7 +24,6 @@ import java.beans.PropertyChangeSupport;
import java.io.File; import java.io.File;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.HashMap; import java.util.HashMap;
@ -34,7 +33,6 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
@ -45,7 +43,7 @@ import org.openide.util.actions.SystemAction;
import org.openide.windows.WindowManager; import org.openide.windows.WindowManager;
import org.sleuthkit.autopsy.corecomponentinterfaces.CoreComponentControl; import org.sleuthkit.autopsy.corecomponentinterfaces.CoreComponentControl;
import org.sleuthkit.autopsy.coreutils.FileUtil; import org.sleuthkit.autopsy.coreutils.FileUtil;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.coreutils.Version; import org.sleuthkit.autopsy.coreutils.Version;
import org.sleuthkit.datamodel.*; import org.sleuthkit.datamodel.*;
import org.sleuthkit.datamodel.SleuthkitJNI.CaseDbHandle.AddImageProcess; import org.sleuthkit.datamodel.SleuthkitJNI.CaseDbHandle.AddImageProcess;
@ -190,7 +188,7 @@ public class Case {
* @param examiner the examiner for this case * @param examiner the examiner for this case
*/ */
static void create(String caseDir, String caseName, String caseNumber, String examiner) throws Exception { static void create(String caseDir, String caseName, String caseNumber, String examiner) throws Exception {
Log.get(Case.class).log(Level.INFO, "Creating new case.\ncaseDir: {0}\ncaseName: {1}", new Object[]{caseDir, caseName}); Logger.getLogger(Case.class.getName()).log(Level.INFO, "Creating new case.\ncaseDir: {0}\ncaseName: {1}", new Object[]{caseDir, caseName});
String configFilePath = caseDir + File.separator + caseName + ".aut"; String configFilePath = caseDir + File.separator + caseName + ".aut";
@ -213,7 +211,7 @@ public class Case {
* @throws Exception * @throws Exception
*/ */
static void open(String configFilePath) throws Exception { static void open(String configFilePath) throws Exception {
Log.get(Case.class).log(Level.INFO, "Opening case.\nconfigFilePath: {0}", configFilePath); Logger.getLogger(Case.class.getName()).log(Level.INFO, "Opening case.\nconfigFilePath: {0}", configFilePath);
try { try {
XMLCaseManagement xmlcm = new XMLCaseManagement(); XMLCaseManagement xmlcm = new XMLCaseManagement();
@ -306,7 +304,7 @@ public class Case {
* @param timeZone the timeZone of the image where it's added * @param timeZone the timeZone of the image where it's added
*/ */
Image addImage(String imgPath, long imgId, String timeZone) throws Exception { Image addImage(String imgPath, long imgId, String timeZone) throws Exception {
Log.get(this.getClass()).log(Level.INFO, "Adding image to Case. imgPath: {0} ID: {1} TimeZone: {2}", new Object[]{imgPath, imgId, timeZone}); Logger.getLogger(this.getClass().getName()).log(Level.INFO, "Adding image to Case. imgPath: {0} ID: {1} TimeZone: {2}", new Object[]{imgPath, imgId, timeZone});
try { try {
Image newImage = db.getImageById(imgId); Image newImage = db.getImageById(imgId);
@ -346,7 +344,7 @@ public class Case {
* Delete this case. This methods delete all folders and files of this case. * Delete this case. This methods delete all folders and files of this case.
*/ */
boolean deleteCase(File caseDir) { boolean deleteCase(File caseDir) {
Log.get(this.getClass()).log(Level.FINE, "Deleting case.\ncaseDir: {0}", caseDir); Logger.getLogger(this.getClass().getName()).log(Level.FINE, "Deleting case.\ncaseDir: {0}", caseDir);
try { try {

View File

@ -23,8 +23,7 @@ import java.awt.Component;
import java.awt.EventQueue; import java.awt.EventQueue;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.logging.Level; import java.util.logging.Level;;
import java.util.logging.Logger;
import javax.swing.Action; import javax.swing.Action;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import javax.swing.JButton; import javax.swing.JButton;
@ -32,7 +31,15 @@ import org.openide.util.HelpCtx;
import org.openide.util.NbBundle; import org.openide.util.NbBundle;
import org.openide.util.actions.CallableSystemAction; import org.openide.util.actions.CallableSystemAction;
import org.openide.util.actions.Presenter; import org.openide.util.actions.Presenter;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import org.openide.util.HelpCtx;
import org.openide.util.NbBundle;
import org.openide.util.actions.CallableSystemAction;
import org.openide.util.actions.Presenter;
/** /**
* The action to close the current Case. This class should be disabled on * The action to close the current Case. This class should be disabled on
@ -68,7 +75,7 @@ public final class CaseCloseAction extends CallableSystemAction implements Prese
*/ */
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
if (Case.existsCurrentCase() == false) if (Case.existsCurrentCase() == false)
return; return;

View File

@ -21,8 +21,18 @@ package org.sleuthkit.autopsy.casemodule;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.io.File; import java.io.File;
import java.util.logging.Level; import java.util.logging.Level;;
import java.util.logging.Logger; import javax.swing.Action;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import org.openide.DialogDescriptor;
import org.openide.DialogDisplayer;
import org.openide.NotifyDescriptor;
import org.openide.util.HelpCtx;
import org.openide.util.NbBundle;
import org.openide.util.actions.CallableSystemAction;
import org.sleuthkit.autopsy.coreutils.Logger;
import sun.rmi.runtime.Log;
import javax.swing.Action; import javax.swing.Action;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
@ -32,7 +42,6 @@ import org.openide.NotifyDescriptor;
import org.openide.util.HelpCtx; import org.openide.util.HelpCtx;
import org.openide.util.NbBundle; import org.openide.util.NbBundle;
import org.openide.util.actions.CallableSystemAction; import org.openide.util.actions.CallableSystemAction;
import org.sleuthkit.autopsy.coreutils.Log;
/** /**
* The action to delete the current Case. This class should be disabled on * The action to delete the current Case. This class should be disabled on
@ -56,7 +65,7 @@ public final class CaseDeleteAction extends CallableSystemAction {
*/ */
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
Case currentCase = Case.getCurrentCase(); Case currentCase = Case.getCurrentCase();
File configFile = new File(currentCase.getConfigFilePath()); File configFile = new File(currentCase.getConfigFilePath());

View File

@ -23,7 +23,7 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import org.openide.util.actions.SystemAction; import org.openide.util.actions.SystemAction;
import org.openide.util.lookup.ServiceProvider; import org.openide.util.lookup.ServiceProvider;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* The action to create a new case. This action class is always enabled. * The action to create a new case. This action class is always enabled.
@ -41,7 +41,7 @@ public final class CaseNewAction implements ActionListener {
*/ */
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
wizard.performAction(); wizard.performAction();
} }

View File

@ -25,12 +25,11 @@ import java.awt.event.ActionListener;
import java.io.File; import java.io.File;
import java.util.Collections; import java.util.Collections;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import org.openide.util.lookup.ServiceProvider; import org.openide.util.lookup.ServiceProvider;
import org.sleuthkit.autopsy.coreutils.AutopsyPropFile; import org.sleuthkit.autopsy.coreutils.AutopsyPropFile;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* The action to open a existing case. This class is always enabled. * The action to open a existing case. This class is always enabled.
@ -65,7 +64,7 @@ public final class CaseOpenAction implements ActionListener {
*/ */
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
int retval = fc.showOpenDialog((Component) e.getSource()); int retval = fc.showOpenDialog((Component) e.getSource());

View File

@ -23,8 +23,6 @@ import java.awt.Dimension;
import java.awt.Toolkit; import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import javax.swing.Action; import javax.swing.Action;
@ -33,7 +31,8 @@ import javax.swing.JFrame;
import org.openide.util.HelpCtx; import org.openide.util.HelpCtx;
import org.openide.util.NbBundle; import org.openide.util.NbBundle;
import org.openide.util.actions.CallableSystemAction; import org.openide.util.actions.CallableSystemAction;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
import sun.rmi.runtime.Log;
/** /**
* The action to pop up the Case Properties Form window. By using this form, * The action to pop up the Case Properties Form window. By using this form,
@ -60,7 +59,7 @@ public final class CasePropertiesAction extends CallableSystemAction {
*/ */
@Override @Override
public void performAction() { public void performAction() {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
try { try {
// create the popUp window for it // create the popUp window for it
@ -104,7 +103,7 @@ public final class CasePropertiesAction extends CallableSystemAction {
popUpWindow.setVisible(true); popUpWindow.setVisible(true);
} catch (Exception ex) { } catch (Exception ex) {
Log.get(CasePropertiesAction.class).log(Level.WARNING, "Error displaying Case Properties window.", ex); Logger.getLogger(CasePropertiesAction.class.getName()).log(Level.WARNING, "Error displaying Case Properties window.", ex);
} }
} }

View File

@ -30,7 +30,7 @@ import java.io.File;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.table.DefaultTableModel; import javax.swing.table.DefaultTableModel;

View File

@ -1,57 +1,62 @@
/* /*
* Autopsy Forensic Browser * Autopsy Forensic Browser
* *
* Copyright 2011 Basis Technology Corp. * Copyright 2011 Basis Technology Corp.
* Contact: carrier <at> sleuthkit <dot> org * Contact: carrier <at> sleuthkit <dot> org
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package org.sleuthkit.autopsy.casemodule; package org.sleuthkit.autopsy.casemodule;
import javax.swing.JPanel; import javax.swing.JPanel;
import org.sleuthkit.datamodel.Image; import org.sleuthkit.datamodel.Image;
/** /**
* Lookup interface for ingest configuration dialog * Lookup interface for ingest configuration dialog
*/ */
public interface IngestConfigurator { public interface IngestConfigurator {
/** /**
* get JPanel container with the configurator * get JPanel container with the configurator
* @return * @return
*/ */
JPanel getIngestConfigPanel(); JPanel getIngestConfigPanel();
/** /**
* set image for the ingest * set image for the ingest
* @param image to enqueue to ingest * @param image to enqueue to ingest
*/ */
void setImage(Image image); void setImage(Image image);
/** /**
* start ingest enqueing previously set image * start ingest enqueing previously set image
*/ */
void start(); void start();
/** /**
* save configuration of lastly selected service * save configuration of lastly selected service
*/ */
void save(); void save();
/** /**
* find out if ingest is currently running * reload the simple panel
* */
* @return true if ingest process is running, false otherwise void reload();
*/
boolean isIngestRunning(); /**
* find out if ingest is currently running
} *
* @return true if ingest process is running, false otherwise
*/
boolean isIngestRunning();
}

View File

@ -24,7 +24,6 @@ import java.awt.Dialog;
import java.io.File; import java.io.File;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComponent; import javax.swing.JComponent;
import org.openide.DialogDescriptor; import org.openide.DialogDescriptor;
import org.openide.DialogDisplayer; import org.openide.DialogDisplayer;
@ -33,7 +32,7 @@ import org.openide.WizardDescriptor;
import org.openide.util.HelpCtx; import org.openide.util.HelpCtx;
import org.openide.util.actions.CallableSystemAction; import org.openide.util.actions.CallableSystemAction;
import org.openide.util.actions.SystemAction; import org.openide.util.actions.SystemAction;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* Action to open the New Case wizard. * Action to open the New Case wizard.
@ -46,7 +45,7 @@ public final class NewCaseWizardAction extends CallableSystemAction {
@Override @Override
public void performAction() { public void performAction() {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
// there's a case open // there's a case open

View File

@ -24,7 +24,7 @@ import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import org.openide.DialogDescriptor; import org.openide.DialogDescriptor;

View File

@ -23,7 +23,7 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.io.File; import java.io.File;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.Action; import javax.swing.Action;
import javax.swing.JTable; import javax.swing.JTable;

View File

@ -26,14 +26,13 @@ import java.util.Deque;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;
import org.openide.util.HelpCtx; import org.openide.util.HelpCtx;
import org.openide.util.actions.CallableSystemAction; import org.openide.util.actions.CallableSystemAction;
import org.openide.util.actions.Presenter; import org.openide.util.actions.Presenter;
import org.sleuthkit.autopsy.coreutils.Log;
import org.openide.filesystems.FileUtil; import org.openide.filesystems.FileUtil;
import org.sleuthkit.autopsy.coreutils.AutopsyPropFile; import org.sleuthkit.autopsy.coreutils.AutopsyPropFile;
import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* The action in this class is to clear the list of "Recent Cases". * The action in this class is to clear the list of "Recent Cases".
@ -208,7 +207,7 @@ public final class RecentCases extends CallableSystemAction implements Presenter
*/ */
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
UpdateRecentCases.hasRecentCase = false; UpdateRecentCases.hasRecentCase = false;

View File

@ -23,10 +23,9 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.io.File; import java.io.File;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* This class is used to add the action to the recent case menu item. When the * This class is used to add the action to the recent case menu item. When the
@ -51,7 +50,7 @@ class RecentItems implements ActionListener {
*/ */
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
// check if the file exists // check if the file exists
if(caseName.equals("") || casePath.equals("") || (!new File(casePath).exists())){ if(caseName.equals("") || casePath.equals("") || (!new File(casePath).exists())){

View File

@ -26,7 +26,7 @@ import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.xml.parsers.*; import javax.xml.parsers.*;

View File

@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem> <filesystem>
<attr name="Menu\File\Separator2.instance_hidden\position" intvalue="100"/>
<attr name="Menu\File\Separator3.instance_hidden\position" intvalue="200"/>
<attr name="Menu\File\Separator4.instance_hidden\position" intvalue="400"/>
<attr name="Menu\File\org-netbeans-modules-print-action-PageSetupAction.shadow_hidden\position" intvalue="300"/>
<attr name="Menu\File\org-netbeans-modules-print-action-PrintAction.shadow_hidden\position" intvalue="500"/>
<attr name="Toolbars\File\org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance\iconBase" stringvalue="org/sleuthkit/autopsy/images/close-icon.gif"/> <attr name="Toolbars\File\org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance\iconBase" stringvalue="org/sleuthkit/autopsy/images/close-icon.gif"/>
<folder name="Actions"> <folder name="Actions">
<folder name="File"> <folder name="File">
@ -19,15 +14,15 @@
<attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/> <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
<attr name="noIconInMenu" boolvalue="false"/> <attr name="noIconInMenu" boolvalue="false"/>
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-CaseOpenActionOld.instance"> <!--<file name="org-sleuthkit-autopsy-casemodule-CaseOpenActionOld.instance">
<attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseOpenActionOld"/> <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseOpenActionOld"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_CaseOpenActionOld"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_CaseOpenActionOld"/>
<attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/> <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
<attr name="noIconInMenu" boolvalue="false"/> <attr name="noIconInMenu" boolvalue="false"/>
</file> </file>-->
<file name="org-sleuthkit-autopsy-casemodule-CasePropertiesAction.instance"> <file name="org-sleuthkit-autopsy-casemodule-CasePropertiesAction.instance">
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-NewCaseAct.instance"> <!--<file name="org-sleuthkit-autopsy-casemodule-NewCaseAct.instance">
<attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.NewCaseAct"/> <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.NewCaseAct"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_NewCaseAct"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_NewCaseAct"/>
<attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/> <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
@ -38,7 +33,7 @@
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_NewCaseAction"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_NewCaseAction"/>
<attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/> <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
<attr name="noIconInMenu" boolvalue="false"/> <attr name="noIconInMenu" boolvalue="false"/>
</file> </file>-->
<file name="org-sleuthkit-autopsy-casemodule-CaseOpenAction.instance"> <file name="org-sleuthkit-autopsy-casemodule-CaseOpenAction.instance">
<attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseOpenAction"/> <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseOpenAction"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_OpenAction"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_OpenAction"/>
@ -55,7 +50,7 @@
</file> </file>
</folder> </folder>
<folder name="Tools"> <folder name="Tools">
<file name="org-sleuthkit-autopsy-filebrowser-FileBrowserAction.instance"></file> <!--<file name="org-sleuthkit-autopsy-filebrowser-FileBrowserAction.instance"></file>-->
</folder> </folder>
<folder name="View"> <folder name="View">
<file name="org-netbeans-core-windows-actions-ToolbarsListAction.instance"> <file name="org-netbeans-core-windows-actions-ToolbarsListAction.instance">
@ -67,12 +62,11 @@
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_testAction"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_testAction"/>
<attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/> <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
</file> </file>
<file name="org-sleuthkit-autopsy-filebrowser-FileBrowserAction.instance"> <!--<file name="org-sleuthkit-autopsy-filebrowser-FileBrowserAction.instance">
<attr name="component" methodvalue="org.sleuthkit.autopsy.filebrowser.FileBrowserTopComponent.findInstance"/> <attr name="component" methodvalue="org.sleuthkit.autopsy.filebrowser.FileBrowserTopComponent.findInstance"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filebrowser.Bundle#CTL_FileBrowserAction"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filebrowser.Bundle#CTL_FileBrowserAction"/>
<attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/> <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
</file> </file>
<file name="org-netbeans-core-windows-actions-GlobalPropertiesAction.instance_hidden"/>
<file name="org-sleuthkit-autopsy-filebrowser-ChangeViewAction.instance"> <file name="org-sleuthkit-autopsy-filebrowser-ChangeViewAction.instance">
<attr name="delegate" newvalue="org.sleuthkit.autopsy.filebrowser.ChangeViewAction"/> <attr name="delegate" newvalue="org.sleuthkit.autopsy.filebrowser.ChangeViewAction"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filebrowser.Bundle#CTL_ChangeViewAction"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filebrowser.Bundle#CTL_ChangeViewAction"/>
@ -83,87 +77,49 @@
<attr name="component" methodvalue="org.sleuthkit.autopsy.filebrowser.DetailWindowTopComponent.findInstance"/> <attr name="component" methodvalue="org.sleuthkit.autopsy.filebrowser.DetailWindowTopComponent.findInstance"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filebrowser.Bundle#CTL_DetailWindowAction"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filebrowser.Bundle#CTL_DetailWindowAction"/>
<attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/> <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
</file> </file>-->
</folder> </folder>
</folder> </folder>
<folder name="Menu"> <folder name="Menu">
<folder name="File"> <folder name="File">
<file name="org-sleuthkit-autopsy-casemodule-CaseNewAction.shadow"> <file name="org-sleuthkit-autopsy-casemodule-CaseNewAction.shadow">
<attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseNewAction.instance"/> <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseNewAction.instance"/>
<attr name="position" intvalue="1212"/> <attr name="position" intvalue="100"/>
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-CaseOpenAction.shadow"> <file name="org-sleuthkit-autopsy-casemodule-CaseOpenAction.shadow">
<attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseOpenAction.instance"/> <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseOpenAction.instance"/>
<attr name="position" intvalue="1225"/> <attr name="position" intvalue="101"/>
</file> </file>
<folder name="Open Recent Case"> <folder name="Open Recent Case">
<attr name="position" intvalue="1262"/> <attr name="position" intvalue="102"/>
<file name="org-sleuthkit-autopsy-casemodule-RecentCasesAction.shadow"> <file name="org-sleuthkit-autopsy-casemodule-RecentCasesAction.shadow">
<attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-RecentCases.instance"/> <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-RecentCases.instance"/>
</file> </file>
</folder> </folder>
<file name="org-sleuthkit-autopsy-casemodule-CaseCloseAct.shadow"> <file name="org-sleuthkit-autopsy-casemodule-CaseCloseAct.shadow">
<attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance"/> <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance"/>
<attr name="position" intvalue="1300"/> <attr name="position" intvalue="103"/>
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-AddImage-separatorBefore.instance"> <file name="org-sleuthkit-autopsy-casemodule-AddImage-separatorBefore.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/> <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="1318"/> <attr name="position" intvalue="200"/>
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-AddImage.shadow"> <file name="org-sleuthkit-autopsy-casemodule-AddImageAction.shadow">
<attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-AddImageAction.instance"/> <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-AddImageAction.instance"/>
<attr name="position" intvalue="1336"/> <attr name="position" intvalue="201"/>
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-AddImage-separatorAfter.instance"> <file name="org-sleuthkit-autopsy-casemodule-AddImage-separatorAfter.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/> <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="1354"/> <attr name="position" intvalue="202"/>
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-CasePropertiesAction-separatorBefore.instance"> <file name="org-sleuthkit-autopsy-casemodule-CasePropertiesAction-separatorBefore.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/> <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="1340"/> <attr name="position" intvalue="300"/>
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-CasePropertiesAction.shadow"> <file name="org-sleuthkit-autopsy-casemodule-CasePropertiesAction.shadow">
<attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CasePropertiesAction.instance"/> <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CasePropertiesAction.instance"/>
<attr name="position" intvalue="1345"/> <attr name="position" intvalue="301"/>
</file> </file>
<file name="Separator2.instance_hidden"/>
<file name="Separator3.instance_hidden"/>
<file name="Separator4.instance_hidden"/>
<file name="org-netbeans-modules-print-action-PageSetupAction.shadow_hidden">
<attr name="position" intvalue="200"/>
</file>
<file name="org-netbeans-modules-print-action-PrintAction.shadow_hidden">
<attr name="position" intvalue="300"/>
</file>
<file name="org-openide-actions-SaveAction.shadow_hidden"/>
<file name="org-openide-actions-SaveAllAction.shadow_hidden"/>
<file name="org-openide-actions-SaveAsAction.shadow_hidden"/>
</folder>
<file name="GoTo_hidden"/>
<folder name="Help">
<file name="org-netbeans-modules-autoupdate-ui-actions-CheckForUpdatesAction.shadow_hidden"/>
</folder>
<file name="Reports_hidden"/>
<folder name="View">
<file name="org-netbeans-core-actions-HTMLViewAction.shadow_hidden"/>
<file name="org-netbeans-core-actions-LogAction.shadow_hidden"/>
<file name="org-netbeans-core-windows-actions-ToolbarsListAction.instance_hidden"/>
</folder>
<folder name="Window">
<file name="CloneDocumentAction.shadow_hidden"/>
<file name="CloseAllButThisAction.shadow_hidden"/>
<file name="CloseAllDocumentsAction.shadow_hidden"/>
<file name="DocumentsAction.shadow_hidden"/>
<file name="FileBrowserAction.shadow"/>
<file name="FileBrowserAction.shadow_hidden"/>
<file name="Output_hidden"/>
<file name="ProgressListAction.shadow_hidden"/>
<file name="SwitchToRecentDocumentAction.shadow_hidden"/>
<file name="ViewFavoritesTabAction.shadow_hidden"/>
<file name="org-netbeans-core-windows-actions-ResetWindowsAction.shadow_hidden"/>
<file name="testAction.shadow_hidden"/>
</folder> </folder>
</folder> </folder>
<folder name="Services"> <folder name="Services">
@ -183,50 +139,22 @@
</folder> </folder>
<folder name="Toolbars"> <folder name="Toolbars">
<folder name="File"> <folder name="File">
<!--<file name="org-sleuthkit-autopsy-casemodule-NewCaseAct.instance">
<attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseNewAction"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_CaseNewAction"/>
<attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/new-icon.png"/>
<attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
<attr name="noIconInMenu" boolvalue="false"/>
<attr name="position" intvalue="150"/>
</file>
<file name="org-sleuthkit-autopsy-casemodule-CaseSaveAction.instance">
<attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseSaveAction"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_SaveCaseAction"/>
<attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/save-icon.png"/>
<attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
<attr name="noIconInMenu" boolvalue="false"/>
<attr name="position" intvalue="300"/>
</file>
<file name="org-sleuthkit-autopsy-casemodule-CaseOpenAction.instance">
<attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseOpenAction"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_OpenAction"/>
<attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/open-icon.png"/>
<attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
<attr name="noIconInMenu" boolvalue="false"/>
<attr name="position" intvalue="200"/>
</file>-->
<file name="org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance"> <file name="org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance">
<attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseCloseAction"/> <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseCloseAction"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_CaseCloseAct"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_CaseCloseAct"/>
<attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/close-icon.png"/> <attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/close-icon.png"/>
<attr name="noIconInMenu" boolvalue="false"/> <attr name="noIconInMenu" boolvalue="false"/>
<attr name="position" intvalue="400"/> <attr name="position" intvalue="100"/>
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-AddImageAction.instance"> <file name="org-sleuthkit-autopsy-casemodule-AddImageAction.instance">
<attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.AddImageAction"/> <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.AddImageAction"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_AddImage"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_AddImage"/>
<attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/addImage-icon.png"/> <attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/addImage-icon.png"/>
<attr name="noIconInMenu" boolvalue="false"/> <attr name="noIconInMenu" boolvalue="false"/>
<attr name="position" intvalue="550"/> <attr name="position" intvalue="101"/>
</file>
<file name="org-openide-actions-SaveAllAction.shadow_hidden">
<attr name="position" intvalue="100"/>
</file> </file>
<file name="org-sleuthkit-autopsy-casemodule-CaseSaveAction.instance_hidden"/> <file name="org-sleuthkit-autopsy-casemodule-CaseSaveAction.instance_hidden"/>
</folder> </folder>
<file name="UndoRedo_hidden"/>
</folder> </folder>
<folder name="Windows2"> <folder name="Windows2">
<folder name="Components"/> <folder name="Components"/>

View File

@ -1,7 +1,8 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
OpenIDE-Module: org.sleuthkit.autopsy.corecomponentinterfaces/1 AutoUpdate-Show-In-Client: false
OpenIDE-Module-Implementation-Version: 2 OpenIDE-Module: org.sleuthkit.autopsy.corecomponentinterfaces/1
OpenIDE-Module-Layer: org/sleuthkit/autopsy/corecomponentinterfaces/layer.xml OpenIDE-Module-Implementation-Version: 2
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/corecomponentinterfaces/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/corecomponentinterfaces/layer.xml
OpenIDE-Module-Requires: org.openide.windows.WindowManager OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/corecomponentinterfaces/Bundle.properties
OpenIDE-Module-Requires: org.openide.windows.WindowManager

View File

@ -63,6 +63,15 @@
<specification-version>6.33.1</specification-version> <specification-version>6.33.1</specification-version>
</run-dependency> </run-dependency>
</dependency> </dependency>
<dependency>
<code-name-base>org.sleuthkit.autopsy.coreutils</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>0-1</release-version>
<specification-version>0.0</specification-version>
</run-dependency>
</dependency>
<dependency> <dependency>
<code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base> <code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base>
<build-prerequisite/> <build-prerequisite/>

View File

@ -21,7 +21,7 @@ package org.sleuthkit.autopsy.corecomponentinterfaces;
import java.util.Collection; import java.util.Collection;
import java.util.Iterator; import java.util.Iterator;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.util.Lookup; import org.openide.util.Lookup;
import org.openide.windows.Mode; import org.openide.windows.Mode;
import org.openide.windows.TopComponent; import org.openide.windows.TopComponent;

View File

@ -1,4 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem> <filesystem>
<attr name="Menu\File\org-netbeans-modules-print-action-PageSetupAction.shadow_hidden\position" intvalue="300"/>
<attr name="Menu\File\org-netbeans-modules-print-action-PrintAction.shadow_hidden\position" intvalue="500"/>
<folder name="OptionsDialog">
<folder name="General.instance_hidden"/>
<folder name="Keymaps.instance_hidden"/> <!-- Keymap -->
<folder name="Java.instance_hidden"/>
<folder name="Advanced.instance_hidden"/> <!-- Miscellaneous -->
</folder>
<file name="OptionsExport_hidden"/> <!-- Hide import/export in Options -->
<folder name="PluginsDialog">
<folder name="RCPPlatform.instance_hidden"/>
</folder>
<!--<attr name="Menu\File\Separator2.instance_hidden\position" intvalue="100"/>
<attr name="Menu\File\Separator3.instance_hidden\position" intvalue="200"/>
<attr name="Menu\File\Separator4.instance_hidden\position" intvalue="400"/>-->
<folder name="Actions">
<folder name="Help">
<file name="org-netbeans-core-actions-AboutAction.instance_hidden"/>
</folder>
<folder name="Window">
<file name="org-netbeans-core-windows-actions-GlobalPropertiesAction.instance_hidden"/>
</folder>
<folder name="Toolbars">
<folder name="QuickSearch_hidden"/>
</folder>
</folder>
<folder name="Menu">
<folder name="File">
<file name="org-netbeans-modules-print-action-PageSetupAction.shadow_hidden"/>
<file name="org-netbeans-modules-print-action-PrintAction.shadow_hidden"/>
<file name="org-openide-actions-SaveAction.shadow_hidden"/>
<file name="org-openide-actions-SaveAllAction.shadow_hidden"/>
<file name="org-openide-actions-SaveAsAction.shadow_hidden"/>
<!--<file name="Separator2.instance_hidden"/>
<file name="Separator3.instance_hidden"/>
<file name="Separator4.instance_hidden"/>-->
</folder>
<file name="GoTo_hidden"/>
<folder name="Help">
<file name="org-netbeans-core-actions-AboutAction.shadow_hidden"/>
<file name="org-netbeans-modules-autoupdate-ui-actions-CheckForUpdatesAction.shadow_hidden"/>
</folder>
<file name="Reports_hidden"/>
<folder name="View">
<file name="org-netbeans-core-actions-HTMLViewAction.shadow_hidden"/>
<file name="org-netbeans-core-actions-LogAction.shadow_hidden"/>
<file name="org-netbeans-core-windows-actions-ToolbarsListAction.instance_hidden"/>
</folder>
<folder name="Window">
<file name="org-netbeans-modules-favorites-View.shadow_hidden"/>
<file name="CloneDocumentAction.shadow_hidden"/>
<file name="CloseAllButThisAction.shadow_hidden"/>
<file name="CloseAllDocumentsAction.shadow_hidden"/>
<file name="DocumentsAction.shadow_hidden"/>
<!--<file name="FileBrowserAction.shadow"/>
<file name="FileBrowserAction.shadow_hidden"/>-->
<file name="Output_hidden"/>
<file name="ProgressListAction.shadow_hidden"/>
<file name="SwitchToRecentDocumentAction.shadow_hidden"/>
<file name="ViewFavoritesTabAction.shadow_hidden"/>
<file name="org-netbeans-core-windows-actions-ResetWindowsAction.shadow_hidden"/>
<file name="testAction.shadow_hidden"/>
</folder>
<folder name="Tools">
<file name="org-netbeans-modules-autoupdate-ui-actions-PluginManagerAction.shadow"/>
<file name="org-netbeans-modules-favorites-templates-TemplatesAction.shadow_hidden"/>
<file name="org-netbeans-modules-options-OptionsWindowAction.shadow"/>
<file name="org-openide-actions-ToolsAction.shadow_hidden"/>
<!--<file name="Separator1.instance_hidden"/>
<file name="Separator3.instance_hidden"/>-->
</folder>
</folder>
<folder name="Toolbars">
<folder name="File">
<file name="org-openide-actions-SaveAllAction.shadow_hidden"/>
</folder>
<file name="UndoRedo_hidden"/>
</folder>
</filesystem> </filesystem>

View File

@ -1,8 +1,9 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
OpenIDE-Module: org.sleuthkit.autopsy.corecomponents/1 AutoUpdate-Show-In-Client: false
OpenIDE-Module-Implementation-Version: 2 OpenIDE-Module: org.sleuthkit.autopsy.corecomponents/1
OpenIDE-Module-Install: org/sleuthkit/autopsy/corecomponents/Installer.class OpenIDE-Module-Implementation-Version: 2
OpenIDE-Module-Layer: org/sleuthkit/autopsy/corecomponents/layer.xml OpenIDE-Module-Install: org/sleuthkit/autopsy/corecomponents/Installer.class
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/corecomponents/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/corecomponents/layer.xml
OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/corecomponents/Bundle.properties
OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help

View File

@ -17,7 +17,7 @@
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/> <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,48,0,0,1,-112"/>
</AuxValues> </AuxValues>
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"> <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout">
@ -42,13 +42,49 @@
<AuxValue name="classDetails" type="java.lang.String" value="Box.Filler.VerticalGlue"/> <AuxValue name="classDetails" type="java.lang.String" value="Box.Filler.VerticalGlue"/>
</AuxValues> </AuxValues>
</Component> </Component>
<Component class="javax.swing.JButton" name="applyButton"> <Container class="javax.swing.JPanel" name="jPanel1">
<Properties> <Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AdvancedConfigurationDialog.applyButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/> <Dimension value="[4000, 27]"/>
</Property>
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[100, 27]"/>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[400, 27]"/>
</Property> </Property>
</Properties> </Properties>
</Component>
<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="1" attributes="0">
<EmptySpace pref="343" max="32767" attributes="0"/>
<Component id="applyButton" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="2" max="-2" attributes="0"/>
<Component id="applyButton" min="-2" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
<Component class="javax.swing.JButton" name="applyButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AdvancedConfigurationDialog.applyButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
</SubComponents>
</Container>
<Component class="javax.swing.Box$Filler" name="filler2"> <Component class="javax.swing.Box$Filler" name="filler2">
<Properties> <Properties>
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">

View File

@ -57,7 +57,7 @@ public class AdvancedConfigurationDialog extends javax.swing.JDialog {
panel.setAlignmentX(Component.CENTER_ALIGNMENT); panel.setAlignmentX(Component.CENTER_ALIGNMENT);
applyButton.setAlignmentX(Component.CENTER_ALIGNMENT); //applyButton.setAlignmentX(Component.CENTER_ALIGNMENT);
this.add(panel, 0); this.add(panel, 0);
this.pack(); this.pack();
@ -83,6 +83,7 @@ public class AdvancedConfigurationDialog extends javax.swing.JDialog {
jSeparator1 = new javax.swing.JSeparator(); jSeparator1 = new javax.swing.JSeparator();
filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4)); filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4));
jPanel1 = new javax.swing.JPanel();
applyButton = new javax.swing.JButton(); applyButton = new javax.swing.JButton();
filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4)); filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4));
@ -91,8 +92,30 @@ public class AdvancedConfigurationDialog extends javax.swing.JDialog {
getContentPane().add(jSeparator1); getContentPane().add(jSeparator1);
getContentPane().add(filler1); getContentPane().add(filler1);
jPanel1.setMaximumSize(new java.awt.Dimension(4000, 27));
jPanel1.setMinimumSize(new java.awt.Dimension(100, 27));
jPanel1.setPreferredSize(new java.awt.Dimension(400, 27));
applyButton.setText(org.openide.util.NbBundle.getMessage(AdvancedConfigurationDialog.class, "AdvancedConfigurationDialog.applyButton.text")); // NOI18N applyButton.setText(org.openide.util.NbBundle.getMessage(AdvancedConfigurationDialog.class, "AdvancedConfigurationDialog.applyButton.text")); // NOI18N
getContentPane().add(applyButton);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(343, Short.MAX_VALUE)
.addComponent(applyButton)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(2, 2, 2)
.addComponent(applyButton)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
getContentPane().add(jPanel1);
getContentPane().add(filler2); getContentPane().add(filler2);
pack(); pack();
@ -102,6 +125,7 @@ public class AdvancedConfigurationDialog extends javax.swing.JDialog {
private javax.swing.JButton applyButton; private javax.swing.JButton applyButton;
private javax.swing.Box.Filler filler1; private javax.swing.Box.Filler filler1;
private javax.swing.Box.Filler filler2; private javax.swing.Box.Filler filler2;
private javax.swing.JPanel jPanel1;
private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator1;
// End of variables declaration//GEN-END:variables // End of variables declaration//GEN-END:variables

View File

@ -23,7 +23,7 @@ import org.openide.util.NbBundle;
import org.netbeans.core.actions.AboutAction; import org.netbeans.core.actions.AboutAction;
import org.openide.DialogDescriptor; import org.openide.DialogDescriptor;
import org.openide.DialogDisplayer; import org.openide.DialogDisplayer;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* Action to open custom implementation of the "About" window from the Help menu. * Action to open custom implementation of the "About" window from the Help menu.
@ -32,7 +32,7 @@ public class CustomAboutAction extends AboutAction {
@Override @Override
public void performAction() { public void performAction() {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
DialogDescriptor descriptor = new DialogDescriptor( DialogDescriptor descriptor = new DialogDescriptor(
new ProductInformationPanel(), new ProductInformationPanel(),

View File

@ -22,7 +22,7 @@ import java.awt.Cursor;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JTabbedPane; import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;

View File

@ -31,7 +31,7 @@ import java.awt.event.ActionListener;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;
import org.openide.nodes.Node; import org.openide.nodes.Node;
import org.openide.util.Lookup; import org.openide.util.Lookup;

View File

@ -23,7 +23,7 @@ import java.awt.Cursor;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JTextPane; import javax.swing.JTextPane;

View File

@ -23,7 +23,7 @@ import java.io.IOException;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.CancellationException; import java.util.concurrent.CancellationException;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.BoxLayout; import javax.swing.BoxLayout;
import javax.swing.SwingWorker; import javax.swing.SwingWorker;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;

View File

@ -24,7 +24,7 @@ import java.awt.Image;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.swing.JPanel; import javax.swing.JPanel;
import org.openide.nodes.Node; import org.openide.nodes.Node;

View File

@ -24,7 +24,7 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import org.openide.nodes.Node; import org.openide.nodes.Node;

View File

@ -30,7 +30,7 @@ import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.ListSelectionModel; import javax.swing.ListSelectionModel;
import org.netbeans.swing.outline.DefaultOutlineModel; import org.netbeans.swing.outline.DefaultOutlineModel;

View File

@ -24,7 +24,7 @@ import java.awt.Cursor;
import java.beans.PropertyVetoException; import java.beans.PropertyVetoException;
import java.io.IOException; import java.io.IOException;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.ListSelectionModel; import javax.swing.ListSelectionModel;
import org.openide.explorer.ExplorerManager; import org.openide.explorer.ExplorerManager;
import org.openide.explorer.view.IconView; import org.openide.explorer.view.IconView;

View File

@ -21,7 +21,7 @@ package org.sleuthkit.autopsy.corecomponents;
import java.awt.Color; import java.awt.Color;
import java.awt.Insets; import java.awt.Insets;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo; import javax.swing.UIManager.LookAndFeelInfo;

View File

@ -0,0 +1,23 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.sleuthkit.autopsy.corecomponents;
/**
*
*/
public interface OptionsPanel {
/**
* Store the current state of all options in this OptionsPanel.
*/
public void store();
/**
* Load the saved state of all options, and refresh this
* OptionsPanel accordingly.
*/
public void load();
}

View File

@ -34,7 +34,7 @@ import javax.swing.JFrame;
import org.openide.nodes.FilterNode; import org.openide.nodes.FilterNode;
import org.openide.nodes.Node; import org.openide.nodes.Node;
import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Content;
import org.sleuthkit.datamodel.TskException; import org.sleuthkit.datamodel.TskException;
@ -116,7 +116,7 @@ class ThumbnailViewNode extends FilterNode {
mTracker.waitForID(1); mTracker.waitForID(1);
} catch (InterruptedException ex) { } catch (InterruptedException ex) {
// TODO: maybe make bubble instead // TODO: maybe make bubble instead
Log.get(ThumbnailViewNode.class).log(Level.WARNING, "Error while trying to scale the icon.", ex); Logger.getLogger(ThumbnailViewNode.class.getName()).log(Level.WARNING, "Error while trying to scale the icon.", ex);
} }
int width = result.getWidth(null); int width = result.getWidth(null);
int height = result.getHeight(null); int height = result.getHeight(null);
@ -137,7 +137,7 @@ class ThumbnailViewNode extends FilterNode {
mTracker.waitForID(1); mTracker.waitForID(1);
} catch (InterruptedException ex) { } catch (InterruptedException ex) {
// TODO: maybe make bubble instead // TODO: maybe make bubble instead
Log.get(ThumbnailViewNode.class).log(Level.WARNING, "Error while trying to load the icon.", ex); Logger.getLogger(ThumbnailViewNode.class.getName()).log(Level.WARNING, "Error while trying to load the icon.", ex);
} }
// create 75x75 image for the icon with the icon on the center // create 75x75 image for the icon with the icon on the center

View File

@ -1,55 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem> <filesystem>
<folder name="Actions"> <folder name="Actions">
<folder name="Help"> <folder name="Help">
<file name="org-netbeans-core-actions-AboutAction.instance_hidden"/> <file name="org-sleuthkit-autopsy-corecomponents-CustomAboutAction.instance">
<file name="org-sleuthkit-autopsy-corecomponents-CustomAboutAction.instance"> <attr name="delegate" newvalue="org.sleuthkit.autopsy.corecomponents.CustomAboutAction"/>
<attr name="delegate" newvalue="org.sleuthkit.autopsy.corecomponents.CustomAboutAction"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.corecomponents.Bundle#CTL_CustomAboutAction"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.corecomponents.Bundle#CTL_CustomAboutAction"/> <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
<attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/> <attr name="noIconInMenu" boolvalue="false"/>
<attr name="noIconInMenu" boolvalue="false"/> </file>
</file> </folder>
</folder> <folder name="Window">
<folder name="Window"> <file name="org-sleuthkit-autopsy-corecomponents-DataContentAction.instance">
<file name="org-sleuthkit-autopsy-corecomponents-DataContentAction.instance"> <attr name="component" methodvalue="org.sleuthkit.autopsy.corecomponents.DataContentTopComponent.findInstance"/>
<attr name="component" methodvalue="org.sleuthkit.autopsy.corecomponents.DataContentTopComponent.findInstance"/> <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.corecomponents.Bundle#CTL_DataContentAction"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.corecomponents.Bundle#CTL_DataContentAction"/> <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
<attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/> </file>
</file> </folder>
</folder> </folder>
</folder> <folder name="Menu">
<folder name="Menu"> <folder name="Help">
<folder name="Help"> <attr name="master-help.xml/org-sleuthkit-autopsy-corecomponents-CustomAboutAction.shadow" boolvalue="true"/>
<attr name="master-help.xml/org-sleuthkit-autopsy-corecomponents-CustomAboutAction.shadow" boolvalue="true"/> <file name="org-sleuthkit-autopsy-corecomponents-CustomAboutAction.shadow">
<file name="org-netbeans-core-actions-AboutAction.shadow_hidden"/> <attr name="originalFile" stringvalue="Actions/Help/org-sleuthkit-autopsy-corecomponents-CustomAboutAction.instance"/>
<file name="org-sleuthkit-autopsy-corecomponents-CustomAboutAction.shadow"> <attr name="position" intvalue="3000"/>
<attr name="originalFile" stringvalue="Actions/Help/org-sleuthkit-autopsy-corecomponents-CustomAboutAction.instance"/> </file>
<attr name="position" intvalue="3000"/> </folder>
</file> </folder>
</folder> <folder name="Services">
<folder name="Window"/> <folder name="JavaHelp">
</folder> <file name="corecomponents-helpset.xml" url="corecomponents-helpset.xml">
<folder name="Services"> <attr name="position" intvalue="3801"/>
<folder name="JavaHelp"> </file>
<file name="corecomponents-helpset.xml" url="corecomponents-helpset.xml"> </folder>
<attr name="position" intvalue="3801"/> <file name="org-sleuthkit-autopsy-corecomponents-DataContentTopComponent.instance">
</file> <attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.corecomponentinterfaces.DataContent"/>
</folder> <attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.corecomponents.DataContentTopComponent.getDefault"/>
<file name="org-sleuthkit-autopsy-corecomponents-DataContentTopComponent.instance"> </file>
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.corecomponentinterfaces.DataContent"/> </folder>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.corecomponents.DataContentTopComponent.getDefault"/> <folder name="Windows2">
</file> <folder name="Components">
</folder> </folder>
<folder name="Windows2"> <folder name="Modes">
<folder name="Components"> <folder name="editor">
</folder>
</folder> <folder name="output">
<folder name="Modes"> </folder>
<folder name="editor"> </folder>
</folder> </folder>
<folder name="output"> </filesystem>
</folder>
</folder>
</folder>
</filesystem>

View File

@ -1,6 +1,7 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
OpenIDE-Module: org.sleuthkit.autopsy.coreutils/0 AutoUpdate-Show-In-Client: false
OpenIDE-Module-Implementation-Version: 2 OpenIDE-Module: org.sleuthkit.autopsy.coreutils/0
OpenIDE-Module-Install: org/sleuthkit/autopsy/coreutils/Installer.class OpenIDE-Module-Implementation-Version: 2
OpenIDE-Module-Layer: org/sleuthkit/autopsy/coreutils/layer.xml OpenIDE-Module-Install: org/sleuthkit/autopsy/coreutils/Installer.class
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/coreutils/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/coreutils/layer.xml
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/coreutils/Bundle.properties

View File

@ -22,7 +22,7 @@ package org.sleuthkit.autopsy.coreutils;
import java.io.*; import java.io.*;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.modules.Places; import org.openide.modules.Places;
/** /**
* This class contains the framework to read, add, update, and remove * This class contains the framework to read, add, update, and remove

View File

@ -20,7 +20,7 @@ package org.sleuthkit.autopsy.coreutils;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* Decoding utilities. * Decoding utilities.

View File

@ -20,7 +20,7 @@ package org.sleuthkit.autopsy.coreutils;
import java.io.File; import java.io.File;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* File and dir utilities * File and dir utilities

View File

@ -20,11 +20,9 @@
package org.sleuthkit.autopsy.coreutils; package org.sleuthkit.autopsy.coreutils;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset;
import java.util.logging.FileHandler; import java.util.logging.FileHandler;
import org.openide.modules.ModuleInstall;
import java.util.logging.Logger;
import java.util.logging.Handler; import java.util.logging.Handler;
import org.openide.modules.ModuleInstall;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.SimpleFormatter; import java.util.logging.SimpleFormatter;
import org.openide.modules.Places; import org.openide.modules.Places;
@ -36,26 +34,13 @@ import org.openide.modules.Places;
*/ */
public class Installer extends ModuleInstall { public class Installer extends ModuleInstall {
static final Logger autopsyLogger = Logger.getLogger(""); static final Logger autopsyLogger = Logger.getLogger(""); //root logger
static final String LOG_FILENAME_PATTERN = Places.getUserDirectory().getAbsolutePath() + "/var/log/autopsy.log"; //%t is system temp dir, %g is log number
static final int LOG_SIZE = 0; // in bytes, zero is unlimited static Handler logs;
static final int LOG_FILE_COUNT = 10;
static Handler logs;
@Override @Override
public void restored() { public void restored() {
if (logs == null) { //Logger.init();
try {
logs = new FileHandler(LOG_FILENAME_PATTERN, LOG_SIZE, LOG_FILE_COUNT);
logs.setEncoding(PlatformUtil.getLogFileEncoding());
} catch (IOException ex) {
throw new RuntimeException(ex);
}
logs.setFormatter(new SimpleFormatter());
autopsyLogger.addHandler(logs);
}
autopsyLogger.log(Level.INFO, "Using encoding for log files: " + logs.getEncoding());
autopsyLogger.log(Level.INFO, "Default charset: " + PlatformUtil.getDefaultPlatformCharset()); autopsyLogger.log(Level.INFO, "Default charset: " + PlatformUtil.getDefaultPlatformCharset());
autopsyLogger.log(Level.INFO, "Default file encoding: " + PlatformUtil.getDefaultPlatformFileEncoding()); autopsyLogger.log(Level.INFO, "Default file encoding: " + PlatformUtil.getDefaultPlatformFileEncoding());
@ -63,15 +48,13 @@ public class Installer extends ModuleInstall {
autopsyLogger.log(Level.INFO, "Netbeans Platform build: " + Version.getNetbeansBuild()); autopsyLogger.log(Level.INFO, "Netbeans Platform build: " + Version.getNetbeansBuild());
autopsyLogger.log(Level.INFO, "Application name: " + Version.getName() autopsyLogger.log(Level.INFO, "Application name: " + Version.getName()
+ ", version: " + Version.getVersion() + ", build: " + Version.getBuildType()); + ", version: " + Version.getVersion() + ", build: " + Version.getBuildType());
} }
@Override @Override
public void uninstalled() { public void uninstalled() {
autopsyLogger.removeHandler(logs);
logs.close();
logs = null;
} }

View File

@ -25,7 +25,7 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.coreutils.LnkEnums.CommonCLSIDS; import org.sleuthkit.autopsy.coreutils.LnkEnums.CommonCLSIDS;
import org.sleuthkit.autopsy.coreutils.LnkEnums.DriveType; import org.sleuthkit.autopsy.coreutils.LnkEnums.DriveType;
import org.sleuthkit.autopsy.coreutils.LnkEnums.NetworkProviderType; import org.sleuthkit.autopsy.coreutils.LnkEnums.NetworkProviderType;

View File

@ -1,42 +0,0 @@
/*
* Autopsy Forensic Browser
*
* Copyright 2011 Basis Technology Corp.
* Contact: carrier <at> sleuthkit <dot> 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.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.sleuthkit.autopsy.coreutils;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Helper class to slightly simplify getting the logger for a class, and other
* common log tasks.
*/
public class Log {
static public void noteAction(Class actionClass) {
get(actionClass).log(Level.INFO, "Action performed: {0}", actionClass.getName());
}
static public Logger get(Class clazz) {
return Logger.getLogger(clazz.getName());
}
static public Logger get(String loggerName) {
return Logger.getLogger(loggerName);
}
}

View File

@ -0,0 +1,179 @@
/*
* Autopsy Forensic Browser
*
* Copyright 2012 Basis Technology Corp.
* Contact: carrier <at> sleuthkit <dot> 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.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.sleuthkit.autopsy.coreutils;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.logging.*;
import org.openide.modules.Places;
/**
* Custom Autopsy logger wrapper over java.util.logging.Logger with default file
* streams logging to autopsy.log (general high level messages),
* autopsy_traces.log (also including exception traces).
* In development build, those are also redirected to console / messages log.
*
* Contains a utility method to log user actions to autopsy_actions.log via noteAction()
*
* Use like java.util.logging.Logger API, get a
* org.sleuthkit.autopsy.coreutils.Logger handle using factory method
* org.sleuthkit.autopsy.coreutils.Logger.getLogger(String name) passing
* component/module/class name.
*
* If logging behavior is to be customized, you can add or remove handlers or
* filters from the provided Logger object.
*/
public class Logger extends java.util.logging.Logger {
private static final String LOG_ENCODING = PlatformUtil.getLogFileEncoding();
private static final String LOG_DIR = PlatformUtil.getLogDirectory();
static final int LOG_SIZE = 0; // in bytes, zero is unlimited
static final int LOG_FILE_COUNT = 10;
//File Handlers which point to the output logs
private static final FileHandler traces = initTraces();
private static final FileHandler normal = initNormal();
private static final Handler console = new java.util.logging.ConsoleHandler();
private static final java.util.logging.Logger actionsLogger = initActionsLogger();
/**
* Main messages log file name
*/
public static final String messagesLog = "autopsy.log";
/**
* Detailed exception trace log file name
*/
public static final String tracesLog = "autopsy_traces.log";
/**
* Action logger file name
*/
public static final String actionsLog = "autopsy_actions.log";
/**
* Static blocks to get around compile errors such as "variable might not
* have been initialized
*
*/
//<editor-fold defaultstate="visible" desc="static block initializers">
private static FileHandler initTraces() {
try {
FileHandler f = new FileHandler(LOG_DIR + tracesLog, LOG_SIZE, LOG_FILE_COUNT);
f.setEncoding(LOG_ENCODING);
f.setFormatter(new SimpleFormatter());
return f;
} catch (IOException e) {
throw new RuntimeException("Error initializing traces logger", e);
}
}
private static FileHandler initNormal() {
try {
FileHandler f = new FileHandler(LOG_DIR + messagesLog, LOG_SIZE, LOG_FILE_COUNT);
f.setEncoding(LOG_ENCODING);
f.setFormatter(new SimpleFormatter());
return f;
} catch (IOException e) {
throw new RuntimeException("Error initializing normal logger", e);
}
}
private static java.util.logging.Logger initActionsLogger() {
try {
FileHandler f = new FileHandler(LOG_DIR + actionsLog, LOG_SIZE, LOG_FILE_COUNT);
f.setEncoding(LOG_ENCODING);
f.setFormatter(new SimpleFormatter());
java.util.logging.Logger _actionsLogger = java.util.logging.Logger.getLogger("Actions");
_actionsLogger.setUseParentHandlers(false);
_actionsLogger.addHandler(f);
_actionsLogger.addHandler(console);
return _actionsLogger;
} catch (IOException e) {
throw new RuntimeException("Error initializing actions logger", e);
}
}
//</editor-fold>
private Logger(java.util.logging.Logger log) {
super(log.getName(), log.getResourceBundleName());
//do forward to messages, so that IDE window shows them
if (Version.getBuildType() == Version.Type.DEVELOPMENT) {
addHandler(console);
}
setUseParentHandlers(false); //do not forward to parent logger, sharing static handlers anyway
//addHandler(new AutopsyExceptionHandler());
addHandler(normal);
addHandler(traces);
}
/**
* Log an action to autopsy_actions.log
* @param actionClass class where user triggered action occurs
*/
public static void noteAction(Class actionClass) {
actionsLogger.log(Level.INFO, "Action performed: {0}", actionClass.getName());
}
/**
* Factory method to retrieve a org.sleuthkit.autopsy.coreutils.Logger
* instance The logger logs by default to autopsy.log and
* autopsy_traces.log. Add/remove handlers if the desired behavior should be
* different.
*
* @param name ID for the logger or empty string for a root logger
* @return org.sleuthkit.autopsy.coreutils.Logger instance
*/
public static Logger getLogger(String name) {
Logger l = new Logger(java.util.logging.Logger.getLogger(name));
return l;
}
/**
* Factory method to retrieve a org.sleuthkit.autopsy.coreutils.Logger
* instance
*
* @param name ID for the logger or empty string for a root logger
* @param resourceBundleName bundle name associated with the logger
* @return org.sleuthkit.autopsy.coreutils.Logger instance
*/
public static Logger getLogger(String name, String resourceBundleName) {
return new Logger(Logger.getLogger(name, resourceBundleName));
}
@Override
public void log(Level level, String message, Throwable thrown) {
super.log(level, message + "\nException: " + thrown.toString());
removeHandler(normal);
super.log(level, message, thrown);
addHandler(normal);
}
@Override
public void throwing(String sourceClass, String sourceMethod, Throwable thrown) {
removeHandler(normal);
super.throwing(sourceClass, sourceMethod, thrown);
addHandler(normal);
}
}

View File

@ -16,13 +16,18 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package org.sleuthkit.autopsy.coreutils; package org.sleuthkit.autopsy.coreutils;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import org.openide.modules.InstalledFileLocator; import org.openide.modules.InstalledFileLocator;
import org.openide.modules.Places; import org.openide.modules.Places;
@ -31,59 +36,107 @@ import org.openide.modules.Places;
* Platform utililities * Platform utililities
*/ */
public class PlatformUtil { public class PlatformUtil {
private static final Logger logger = Logger.getLogger(PlatformUtil.class.getName());
private static String javaPath = null; private static String javaPath = null;
/** /**
* get file path to the java executable binary * get file path to the java executable binary use embedded java if
* use embedded java if available, otherwise use system java in PATH * available, otherwise use system java in PATH no validation is done if
* no validation is done if java exists in PATH * java exists in PATH
*
* @return file path to java binary * @return file path to java binary
*/ */
public synchronized static String getJavaPath() { public synchronized static String getJavaPath() {
if (javaPath != null) if (javaPath != null) {
return javaPath; return javaPath;
}
File coreFolder = InstalledFileLocator.getDefault().locate("core", PlatformUtil.class.getPackage().getName(), false); File coreFolder = InstalledFileLocator.getDefault().locate("core", PlatformUtil.class.getPackage().getName(), false);
File rootPath = coreFolder.getParentFile().getParentFile(); File rootPath = coreFolder.getParentFile().getParentFile();
File jrePath = new File(rootPath.getAbsolutePath() + File.separator + "jre6"); File jrePath = new File(rootPath.getAbsolutePath() + File.separator + "jre6");
if (jrePath != null && jrePath.exists() && jrePath.isDirectory()) { if (jrePath != null && jrePath.exists() && jrePath.isDirectory()) {
logger.log(Level.INFO, "Embedded jre6 directory found in: " + jrePath.getAbsolutePath()); System.out.println("Embedded jre6 directory found in: " + jrePath.getAbsolutePath());
javaPath = jrePath.getAbsolutePath() + File.separator + "bin" + File.separator + "java"; javaPath = jrePath.getAbsolutePath() + File.separator + "bin" + File.separator + "java";
} } else {
else {
//else use system installed java in PATH env variable //else use system installed java in PATH env variable
javaPath = "java"; javaPath = "java";
} }
logger.log(Level.INFO, "Using java binary path: " + javaPath); System.out.println("Using java binary path: " + javaPath);
return javaPath; return javaPath;
} }
/** /**
* Get user directory where application wide user settings, cache, temp files are stored * Get user directory where application wide user settings, cache, temp
* files are stored
*
* @return File object representing user directory * @return File object representing user directory
*/ */
public static File getUserDirectory() { public static File getUserDirectory() {
return Places.getUserDirectory(); return Places.getUserDirectory();
} }
public static String getLogDirectory() {
return Places.getUserDirectory().getAbsolutePath() + "/var/log/";
}
public static String getDefaultPlatformFileEncoding() { public static String getDefaultPlatformFileEncoding() {
return System.getProperty("file.encoding"); return System.getProperty("file.encoding");
} }
public static String getDefaultPlatformCharset() { public static String getDefaultPlatformCharset() {
return Charset.defaultCharset().name(); return Charset.defaultCharset().name();
} }
public static String getLogFileEncoding() { public static String getLogFileEncoding() {
return Charset.forName("UTF-8").name(); return Charset.forName("UTF-8").name();
} }
/**
* Utility to extract a resource file to a user directory, if it does not
* exist
*
* @param resourceClass class in the same package as the resourceFile to
* extract
* @param resourceFile resource file name to extract
* @return true if extracted, false otherwise (if file already exists)
* @throws IOException exception thrown if extract the file failed for IO
* reasons
*/
public static boolean extractResourceToUserDir(final Class resourceClass, final String resourceFile) throws IOException {
final File userDir = getUserDirectory();
final File resourceFileF = new File(userDir + File.separator + resourceFile);
if (resourceFileF.exists()) {
return false;
}
InputStream inputStream = resourceClass.getResourceAsStream(resourceFile);
OutputStream out = null;
InputStream in = null;
try {
in = new BufferedInputStream(inputStream);
OutputStream outFile = new FileOutputStream(resourceFileF);
out = new BufferedOutputStream(outFile);
int readBytes = 0;
while ((readBytes = in.read()) != -1) {
out.write(readBytes);
}
} finally {
if (in != null) {
in.close();
}
if (out != null) {
out.flush();
out.close();
}
}
return true;
}
} }

View File

@ -26,7 +26,7 @@ import java.util.List;
import java.util.Properties; import java.util.Properties;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.coreutils.StringExtract.StringExtractUnicodeTable.SCRIPT; import org.sleuthkit.autopsy.coreutils.StringExtract.StringExtractUnicodeTable.SCRIPT;
/** /**

View File

@ -22,7 +22,7 @@ package org.sleuthkit.autopsy.coreutils;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.logging.Formatter; import java.util.logging.Formatter;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import java.util.logging.Level; import java.util.logging.Level;
/* /*

View File

@ -1,10 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem> <filesystem>
<folder name="Actions"> </filesystem>
<folder name="Edit"/>
</folder>
<folder name="Toolbars">
<folder name="QuickSearch_hidden"/>
</folder>
</filesystem>

View File

@ -1,6 +1,7 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
OpenIDE-Module: org.sleuthkit.autopsy.datamodel/1 AutoUpdate-Show-In-Client: false
OpenIDE-Module-Implementation-Version: 2 OpenIDE-Module: org.sleuthkit.autopsy.datamodel/1
OpenIDE-Module-Install: org/sleuthkit/autopsy/datamodel/Installer.class OpenIDE-Module-Implementation-Version: 2
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/datamodel/Bundle.properties OpenIDE-Module-Install: org/sleuthkit/autopsy/datamodel/Installer.class
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/datamodel/Bundle.properties

View File

@ -22,7 +22,7 @@ import java.text.SimpleDateFormat;
import java.util.Arrays; import java.util.Arrays;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardArtifact;
import org.sleuthkit.datamodel.BlackboardAttribute; import org.sleuthkit.datamodel.BlackboardAttribute;
import org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE; import org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE;

View File

@ -20,7 +20,7 @@ package org.sleuthkit.autopsy.datamodel;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.ChildFactory; import org.openide.nodes.ChildFactory;
import org.openide.nodes.Node; import org.openide.nodes.Node;
import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardArtifact;

View File

@ -20,7 +20,7 @@ package org.sleuthkit.autopsy.datamodel;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.AbstractNode; import org.openide.nodes.AbstractNode;
import org.openide.nodes.Children; import org.openide.nodes.Children;
import org.openide.nodes.Sheet; import org.openide.nodes.Sheet;

View File

@ -23,7 +23,7 @@ import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.AbstractNode; import org.openide.nodes.AbstractNode;
import org.openide.nodes.Children; import org.openide.nodes.Children;
import org.openide.nodes.Sheet; import org.openide.nodes.Sheet;

View File

@ -22,7 +22,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.ChildFactory; import org.openide.nodes.ChildFactory;
import org.openide.nodes.Children; import org.openide.nodes.Children;
import org.openide.nodes.Node; import org.openide.nodes.Node;

View File

@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Content;
import org.sleuthkit.datamodel.ContentVisitor; import org.sleuthkit.datamodel.ContentVisitor;
import org.sleuthkit.datamodel.Directory; import org.sleuthkit.datamodel.Directory;

View File

@ -26,7 +26,7 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.SwingWorker; import javax.swing.SwingWorker;
import org.netbeans.api.progress.ProgressHandle; import org.netbeans.api.progress.ProgressHandle;
import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Content;

View File

@ -26,7 +26,7 @@ import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.AbstractNode; import org.openide.nodes.AbstractNode;
import org.openide.nodes.ChildFactory; import org.openide.nodes.ChildFactory;
import org.openide.nodes.Children; import org.openide.nodes.Children;

View File

@ -24,7 +24,7 @@ import java.sql.Statement;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.AbstractNode; import org.openide.nodes.AbstractNode;
import org.openide.nodes.ChildFactory; import org.openide.nodes.ChildFactory;
import org.openide.nodes.Node; import org.openide.nodes.Node;

View File

@ -28,7 +28,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.AbstractNode; import org.openide.nodes.AbstractNode;
import org.openide.nodes.ChildFactory; import org.openide.nodes.ChildFactory;
import org.openide.nodes.Children; import org.openide.nodes.Children;

View File

@ -20,7 +20,7 @@ package org.sleuthkit.autopsy.datamodel;
import java.awt.Component; import java.awt.Component;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import org.openide.LifecycleManager; import org.openide.LifecycleManager;
import org.openide.modules.ModuleInstall; import org.openide.modules.ModuleInstall;

View File

@ -27,7 +27,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.AbstractNode; import org.openide.nodes.AbstractNode;
import org.openide.nodes.ChildFactory; import org.openide.nodes.ChildFactory;
import org.openide.nodes.Children; import org.openide.nodes.Children;

View File

@ -25,7 +25,7 @@ import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.ChildFactory; import org.openide.nodes.ChildFactory;
import org.openide.nodes.Node; import org.openide.nodes.Node;
import org.sleuthkit.datamodel.SleuthkitCase; import org.sleuthkit.datamodel.SleuthkitCase;

View File

@ -25,7 +25,7 @@ import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.AbstractNode; import org.openide.nodes.AbstractNode;
import org.openide.nodes.ChildFactory; import org.openide.nodes.ChildFactory;
import org.openide.nodes.Node; import org.openide.nodes.Node;

View File

@ -20,7 +20,7 @@ package org.sleuthkit.autopsy.datamodel;
import java.util.Calendar; import java.util.Calendar;
import java.util.Locale; import java.util.Locale;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.AbstractNode; import org.openide.nodes.AbstractNode;
import org.openide.nodes.Children; import org.openide.nodes.Children;
import org.openide.nodes.Sheet; import org.openide.nodes.Sheet;

View File

@ -21,7 +21,7 @@ package org.sleuthkit.autopsy.datamodel;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardArtifact;
/** /**

View File

@ -1,7 +1,8 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
OpenIDE-Module: org.sleuthkit.autopsy.directorytree/1 AutoUpdate-Show-In-Client: false
OpenIDE-Module-Implementation-Version: 2 OpenIDE-Module: org.sleuthkit.autopsy.directorytree/1
OpenIDE-Module-Layer: org/sleuthkit/autopsy/directorytree/layer.xml OpenIDE-Module-Implementation-Version: 2
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/directorytree/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/directorytree/layer.xml
OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/directorytree/Bundle.properties
OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help

View File

@ -1,7 +1,7 @@
CTL_DirectoryTreeAction=DirectoryTree CTL_DirectoryTreeAction=DirectoryTree
CTL_DirectoryTreeExplorerAction=DirectoryTreeExplorer CTL_DirectoryTreeExplorerAction=DirectoryTreeExplorer
CTL_DirectoryTreeTopComponent=Directory Tree CTL_DirectoryTreeTopComponent=Directory Tree
CTL_FileBrowserAction=FileBrowser (new) #CTL_FileBrowserAction=FileBrowser (new)
HINT_DirectoryTreeTopComponent=This is a DirectoryTree window HINT_DirectoryTreeTopComponent=This is a DirectoryTree window
OpenIDE-Module-Name=DirectoryTree OpenIDE-Module-Name=DirectoryTree
FileSystemDetailsPanel.imgOffsetLabel.text=Image Offset: FileSystemDetailsPanel.imgOffsetLabel.text=Image Offset:

View File

@ -27,7 +27,7 @@ import org.openide.util.actions.Presenter;
import org.sleuthkit.autopsy.corecomponents.DataContentTopComponent; import org.sleuthkit.autopsy.corecomponents.DataContentTopComponent;
import org.sleuthkit.autopsy.corecomponents.DataContentViewerHex; import org.sleuthkit.autopsy.corecomponents.DataContentViewerHex;
import org.sleuthkit.autopsy.corecomponents.DataContentViewerString; import org.sleuthkit.autopsy.corecomponents.DataContentViewerString;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* The actions to change between the "Hex View" and "String View". * The actions to change between the "Hex View" and "String View".
@ -56,7 +56,7 @@ public class ChangeViewAction extends AbstractAction implements Presenter.Popup
*/ */
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
DataContentTopComponent dctc = DataContentTopComponent.findInstance(); DataContentTopComponent dctc = DataContentTopComponent.findInstance();
int totalTabs = dctc.getTabPanels().getTabCount(); int totalTabs = dctc.getTabPanels().getTabCount();

View File

@ -24,7 +24,7 @@ import org.openide.explorer.ExplorerManager;
import org.openide.explorer.view.BeanTreeView; import org.openide.explorer.view.BeanTreeView;
import org.openide.nodes.Children; import org.openide.nodes.Children;
import org.openide.nodes.Node; import org.openide.nodes.Node;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
/** /**
* *
@ -38,7 +38,7 @@ class CollapseAction extends AbstractAction {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
ExplorerManager em = DirectoryTreeTopComponent.findInstance().getExplorerManager(); ExplorerManager em = DirectoryTreeTopComponent.findInstance().getExplorerManager();
Node[] selectedNode = em.getSelectedNodes(); Node[] selectedNode = em.getSelectedNodes();

View File

@ -25,7 +25,7 @@ import java.util.List;
import org.sleuthkit.autopsy.datamodel.VolumeNode; import org.sleuthkit.autopsy.datamodel.VolumeNode;
import org.sleuthkit.autopsy.datamodel.DirectoryNode; import org.sleuthkit.autopsy.datamodel.DirectoryNode;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.Action; import javax.swing.Action;
import org.openide.explorer.ExplorerManager; import org.openide.explorer.ExplorerManager;

View File

@ -19,7 +19,7 @@
package org.sleuthkit.autopsy.directorytree; package org.sleuthkit.autopsy.directorytree;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.openide.nodes.Children; import org.openide.nodes.Children;
import org.sleuthkit.autopsy.datamodel.DirectoryNode; import org.sleuthkit.autopsy.datamodel.DirectoryNode;
import org.openide.nodes.FilterNode; import org.openide.nodes.FilterNode;

View File

@ -29,7 +29,7 @@ import java.beans.PropertyChangeSupport;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.Action; import javax.swing.Action;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;

View File

@ -23,12 +23,12 @@ import java.awt.event.ActionEvent;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import org.openide.nodes.Node; import org.openide.nodes.Node;
import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.datamodel.ContentUtils; import org.sleuthkit.autopsy.datamodel.ContentUtils;
import org.sleuthkit.autopsy.coreutils.Log;
/** /**
* Extracts a File object to a temporary file in the case directory, and then * Extracts a File object to a temporary file in the case directory, and then
@ -70,7 +70,7 @@ public class ExternalViewerAction extends AbstractAction {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
// Get the temp folder path of the case // Get the temp folder path of the case
String tempPath = Case.getCurrentCase().getTempDirectory(); String tempPath = Case.getCurrentCase().getTempDirectory();

View File

@ -23,7 +23,7 @@ import java.awt.event.ActionEvent;
import java.io.File; import java.io.File;
import java.util.concurrent.CancellationException; import java.util.concurrent.CancellationException;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;

View File

@ -22,7 +22,7 @@ import java.awt.event.ActionEvent;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import org.openide.nodes.Node; import org.openide.nodes.Node;
import org.sleuthkit.autopsy.datamodel.Bookmarks; import org.sleuthkit.autopsy.datamodel.Bookmarks;

View File

@ -25,10 +25,10 @@ import javax.swing.AbstractAction;
import org.openide.nodes.Node; import org.openide.nodes.Node;
import org.openide.windows.Mode; import org.openide.windows.Mode;
import org.openide.windows.WindowManager; import org.openide.windows.WindowManager;
import org.sleuthkit.autopsy.datamodel.DataConversion;
import org.sleuthkit.autopsy.corecomponents.DataContentTopComponent; import org.sleuthkit.autopsy.corecomponents.DataContentTopComponent;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.datamodel.ContentUtils; import org.sleuthkit.autopsy.datamodel.ContentUtils;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.datamodel.DataConversion;
import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Content;
/** /**
@ -45,7 +45,7 @@ public class NewWindowViewAction extends AbstractAction{
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(this.getClass()); Logger.noteAction(this.getClass());
String name = "DataContent"; String name = "DataContent";
Content c = contentNode.getLookup().lookup(Content.class); Content c = contentNode.getLookup().lookup(Content.class);

View File

@ -23,7 +23,7 @@ import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.Case;

View File

@ -20,7 +20,6 @@
package org.sleuthkit.autopsy.directorytree; package org.sleuthkit.autopsy.directorytree;
import javax.swing.*;
import java.awt.Toolkit; import java.awt.Toolkit;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Font; import java.awt.Font;
@ -31,17 +30,18 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JDialog;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.table.DefaultTableModel; import javax.swing.table.DefaultTableModel;
import org.sleuthkit.autopsy.coreutils.Log; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.datamodel.ContentVisitor;
import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Content;
import org.sleuthkit.datamodel.ContentVisitor; import org.sleuthkit.datamodel.ContentVisitor;
import org.sleuthkit.datamodel.FileSystem; import org.sleuthkit.datamodel.FileSystem;
import org.sleuthkit.datamodel.Image; import org.sleuthkit.datamodel.Image;
import org.sleuthkit.datamodel.TskException;
import org.sleuthkit.datamodel.Volume; import org.sleuthkit.datamodel.Volume;
/** /**
@ -86,7 +86,7 @@ class ShowDetailActionVisitor extends ContentVisitor.Default<List<? extends Acti
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(ShowDetailActionVisitor.class); Logger.noteAction(ShowDetailActionVisitor.class);
final JFrame frame = new JFrame(title); final JFrame frame = new JFrame(title);
final JDialog popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal final JDialog popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal
@ -148,7 +148,7 @@ class ShowDetailActionVisitor extends ContentVisitor.Default<List<? extends Acti
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
Log.noteAction(ShowDetailActionVisitor.class); Logger.noteAction(ShowDetailActionVisitor.class);
final JFrame frame = new JFrame(title); final JFrame frame = new JFrame(title);
final JDialog popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal final JDialog popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal
@ -218,7 +218,7 @@ class ShowDetailActionVisitor extends ContentVisitor.Default<List<? extends Acti
popUpWindow.add(fsdPanel); popUpWindow.add(fsdPanel);
} catch (Exception ex) { } catch (Exception ex) {
Log.get(ShowDetailActionVisitor.class).log(Level.WARNING, "Error setting up File System Details panel.", ex); Logger.getLogger(ShowDetailActionVisitor.class.getName()).log(Level.WARNING, "Error setting up File System Details panel.", ex);
} }
popUpWindow.pack(); popUpWindow.pack();
@ -237,7 +237,7 @@ class ShowDetailActionVisitor extends ContentVisitor.Default<List<? extends Acti
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Log.noteAction(ShowDetailActionVisitor.class); Logger.noteAction(ShowDetailActionVisitor.class);
final JFrame frame = new JFrame(title); final JFrame frame = new JFrame(title);
final JDialog popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal final JDialog popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal

View File

@ -25,7 +25,7 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import org.openide.explorer.ExplorerManager; import org.openide.explorer.ExplorerManager;
import org.openide.explorer.view.TreeView; import org.openide.explorer.view.TreeView;

View File

@ -1,54 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem> <filesystem>
<folder name="Actions"> <folder name="Services">
<folder name="Window"> <folder name="JavaHelp">
<!--<file name="org-sleuthkit-autopsy-directorytree-DirectoryTreeAction.instance"> <file name="directorytree-helpset.xml" url="directorytree-helpset.xml">
<attr name="component" methodvalue="org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent.findInstance"/> <attr name="position" intvalue="3086"/>
<attr name="displayName" bundlevalue="org.sleuthkit.autopsy.directorytree.Bundle#CTL_DirectoryTreeAction"/> </file>
<attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/> </folder>
</file>--> <file name="org-sleuthkit-autopsy-directorytree-DirectoryTreeTopComponent.instance">
</folder> <attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer"/>
</folder> <attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent.getDefault"/>
<folder name="Menu"> <attr name="position" intvalue="125"/>
<folder name="Window"> </file>
<!--<file name="DirectoryTreeAction.shadow"> <file name="org-sleuthkit-autopsy-directorytree-DirectoryTreeTopComponent2.instance">
<attr name="originalFile" stringvalue="Actions/Window/org-sleuthkit-autopsy-directorytree-DirectoryTreeAction.instance"/> <attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.corecomponentinterfaces.BlackboardResultViewer"/>
</file>--> <attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent.getDefault"/>
</folder> <attr name="position" intvalue="150"/>
</folder> </file>
<folder name="Services"> </folder>
<folder name="JavaHelp"> <folder name="Windows2">
<file name="directorytree-helpset.xml" url="directorytree-helpset.xml"> <folder name="Components">
<attr name="position" intvalue="3086"/> <file name="DirectoryTreeTopComponent.settings" url="DirectoryTreeTopComponentSettings.xml"/>
</file> </folder>
</folder> </folder>
<file name="org-sleuthkit-autopsy-directorytree-HashSearchAction.instance"> </filesystem>
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.hashdatabase.HashSearchAction"/>
<!--<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.filesearch.FileSearchAction.getDefault"/>-->
<attr name="position" intvalue="250"/>
</file>
<file name="org-sleuthkit-autopsy-directorytree-DirectoryTreeTopComponent.instance">
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent.getDefault"/>
<attr name="position" intvalue="125"/>
</file>
<file name="org-sleuthkit-autopsy-directorytree-DirectoryTreeTopComponent2.instance">
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.corecomponentinterfaces.BlackboardResultViewer"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent.getDefault"/>
<attr name="position" intvalue="150"/>
</file>
</folder>
<folder name="Windows2">
<folder name="Components">
<file name="DirectoryTreeTopComponent.settings" url="DirectoryTreeTopComponentSettings.xml"/>
</folder>
<!-- Not letting NetBeans manage docking for us at all. It's all handled in CoreComponentInterfaces:CoreComponentControl
<folder name="Modes">
<folder name="explorer">
<file name="DirectoryTreeTopComponent.wstcref" url="DirectoryTreeTopComponentWstcref.xml"/>
</folder>
<file name="explorer.wsmode" url="explorerWsmode.xml"/>
</folder-->
</folder>
</filesystem>

View File

@ -1,5 +1,6 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
OpenIDE-Module: org.sleuthkit.autopsy.exifparser AutoUpdate-Show-In-Client: false
OpenIDE-Module-Layer: org/sleuthkit/autopsy/exifparser/layer.xml OpenIDE-Module: org.sleuthkit.autopsy.exifparser
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/exifparser/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/exifparser/layer.xml
OpenIDE-Module-Specification-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/exifparser/Bundle.properties
OpenIDE-Module-Specification-Version: 1.0

View File

@ -6,6 +6,15 @@
<code-name-base>org.sleuthkit.autopsy.exifparser</code-name-base> <code-name-base>org.sleuthkit.autopsy.exifparser</code-name-base>
<suite-component/> <suite-component/>
<module-dependencies> <module-dependencies>
<dependency>
<code-name-base>org.sleuthkit.autopsy.coreutils</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>0-1</release-version>
<specification-version>0.0</specification-version>
</run-dependency>
</dependency>
<dependency> <dependency>
<code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base> <code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base>
<build-prerequisite/> <build-prerequisite/>

View File

@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.exifparser;
import com.drew.imaging.ImageMetadataReader; import com.drew.imaging.ImageMetadataReader;
import com.drew.imaging.ImageProcessingException; import com.drew.imaging.ImageProcessingException;
import com.drew.imaging.jpeg.JpegProcessingException;
import com.drew.metadata.Metadata; import com.drew.metadata.Metadata;
import com.drew.metadata.exif.ExifIFD0Directory; import com.drew.metadata.exif.ExifIFD0Directory;
import com.drew.metadata.exif.ExifSubIFDDirectory; import com.drew.metadata.exif.ExifSubIFDDirectory;
@ -31,7 +32,7 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.ingest.IngestServices; import org.sleuthkit.autopsy.ingest.IngestServices;
import org.sleuthkit.autopsy.ingest.IngestMessage; import org.sleuthkit.autopsy.ingest.IngestMessage;
import org.sleuthkit.autopsy.ingest.IngestMessage.MessageType; import org.sleuthkit.autopsy.ingest.IngestMessage.MessageType;
@ -152,9 +153,9 @@ public final class ExifParserFileIngestModule implements IngestModuleAbstractFil
} catch (TskCoreException ex) { } catch (TskCoreException ex) {
Logger.getLogger(ExifParserFileIngestModule.class.getName()).log(Level.SEVERE, null, ex); Logger.getLogger(ExifParserFileIngestModule.class.getName()).log(Level.SEVERE, null, ex);
} catch (ImageProcessingException ex) { } catch (ImageProcessingException ex) {
logger.log(Level.WARNING, "Failed to process the image.", ex); logger.log(Level.WARNING, "Failed to process the image file: " + f.getName());
} catch (IOException ex) { } catch (IOException ex) {
logger.log(Level.WARNING, "IOException when parsing image file.", ex); logger.log(Level.WARNING, "IOException when parsing image file: " + f.getName(), ex);
} finally { } finally {
try { try {
if(in!=null) { in.close(); } if(in!=null) { in.close(); }

View File

@ -1,7 +1,8 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
OpenIDE-Module: org.sleuthkit.autopsy.filesearch/1 AutoUpdate-Show-In-Client: false
OpenIDE-Module-Implementation-Version: 2 OpenIDE-Module: org.sleuthkit.autopsy.filesearch/1
OpenIDE-Module-Layer: org/sleuthkit/autopsy/filesearch/layer.xml OpenIDE-Module-Implementation-Version: 2
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/filesearch/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/filesearch/layer.xml
OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/filesearch/Bundle.properties
OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help

View File

@ -40,7 +40,7 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.BoxLayout; import javax.swing.BoxLayout;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JLabel; import javax.swing.JLabel;

View File

@ -34,7 +34,7 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.BoxLayout; import javax.swing.BoxLayout;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JLabel; import javax.swing.JLabel;

View File

@ -1,34 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem> <filesystem>
<folder name="Actions"> <folder name="Actions">
<folder name="Tools"> <folder name="Tools">
<file name="org-sleuthkit-autopsy-filesearch-FileSearchAction.instance"> <file name="org-sleuthkit-autopsy-filesearch-FileSearchAction.instance">
</file> </file>
</folder> </folder>
</folder> </folder>
<folder name="Services"> <folder name="Services">
<folder name="JavaHelp"> <folder name="JavaHelp">
<file name="filesearch-helpset.xml" url="filesearch-helpset.xml"> <file name="filesearch-helpset.xml" url="filesearch-helpset.xml">
<attr name="position" intvalue="3662"/> <attr name="position" intvalue="3662"/>
</file> </file>
</folder> </folder>
<file name="org-sleuthkit-autopsy-filesearch-FileSearchAction.instance"> <file name="org-sleuthkit-autopsy-filesearch-FileSearchAction.instance">
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.directorytree.FileSearchProvider"/> <attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.directorytree.FileSearchProvider"/>
<!--<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.filesearch.FileSearchAction.getDefault"/>--> <attr name="position" intvalue="250"/>
<attr name="position" intvalue="250"/> </file>
</file> </folder>
</folder> <folder name="Menu">
<folder name="Menu"> <folder name="Tools">
<folder name="Tools"> <file name="org-sleuthkit-autopsy-filesearch-FileSearchAction.shadow">
<file name="org-sleuthkit-autopsy-report-generatereport-separatorBefore.instance"> <attr name="originalFile" stringvalue="Actions/Tools/org-sleuthkit-autopsy-filesearch-FileSearchAction.instance"/>
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/> <attr name="position" intvalue="200"/>
<attr name="position" intvalue="799"/> </file>
</file> </folder>
<file name="org-sleuthkit-autopsy-filesearch-FileSearchAction.shadow"> </folder>
<attr name="originalFile" stringvalue="Actions/Tools/org-sleuthkit-autopsy-filesearch-FileSearchAction.instance"/> </filesystem>
<attr name="position" intvalue="800"/>
</file>
</folder>
</folder>
</filesystem>

View File

@ -1,6 +1,7 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
OpenIDE-Module: org.sleuthkit.autopsy.hashdatabase AutoUpdate-Show-In-Client: false
OpenIDE-Module-Layer: org/sleuthkit/autopsy/hashdatabase/layer.xml OpenIDE-Module: org.sleuthkit.autopsy.hashdatabase
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/hashdatabase/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/hashdatabase/layer.xml
OpenIDE-Module-Specification-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/hashdatabase/Bundle.properties
OpenIDE-Module-Specification-Version: 1.0

View File

@ -15,6 +15,15 @@
<specification-version>1.24.1</specification-version> <specification-version>1.24.1</specification-version>
</run-dependency> </run-dependency>
</dependency> </dependency>
<dependency>
<code-name-base>org.netbeans.modules.options.api</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.26.1</specification-version>
</run-dependency>
</dependency>
<dependency> <dependency>
<code-name-base>org.openide.awt</code-name-base> <code-name-base>org.openide.awt</code-name-base>
<build-prerequisite/> <build-prerequisite/>

View File

@ -1,33 +1,9 @@
OpenIDE-Module-Name=HashDatabase OpenIDE-Module-Name=HashDatabase
HashDatabaseManagementPanel.okayButton.text=Okay
HashDbPanel.fileSelectButton.text=Select...\n
HashDbSimplePanel.knownLabel.text=NSRL Database: HashDbSimplePanel.knownLabel.text=NSRL Database:
HashDbSimplePanel.notableLabel.text=Known Bad Database(s): HashDbSimplePanel.notableLabel.text=Known Bad Database(s):
HashDbSimplePanel.knownValLabel.text=- HashDbSimplePanel.knownValLabel.text=-
HashDbSimplePanel.notableValLabel.text=- HashDbSimplePanel.notableValLabel.text=-
HashDbMgmtPanel.addNotableButton.text=Add Known Bad Database
HashDbMgmtPanel.removeNotableButton.text=Remove Selected
HashDbSimplePanel.jLabel1.text=Enable known bad databases for ingest: HashDbSimplePanel.jLabel1.text=Enable known bad databases for ingest:
HashDbMgmtPanel.nsrlNameLabel.text=Not Configured
HashDbMgmtPanel.setNSRLButton.text=Change
HashDbMgmtPanel.jLabel1.text=Known Bad Database(s):
HashDbMgmtPanel.jLabel2.text=NSRL Database:
HashDbMgmtPanel.indexNSRLButton.text=Index
HashDbMgmtPanel.removeNSRLButton.text=Remove
HashDbMgmtPanel.ingestRunningLabel.text=\
HashDbManagementPanel.nameLabel.text=Hash DB Name:
HashDbManagementPanel.hashDbNameLabel.text=No database selected
HashDbManagementPanel.locationLabel.text=Location:
HashDbManagementPanel.hashDbLocationLabel.text=No database selected
HashDbManagementPanel.deleteButton.text=Delete
HashDbManagementPanel.useForIngestCheckbox.text=Enable for ingest
HashDbManagementPanel.showInboxMessagesCheckBox.text=Enable sending messages to inbox during ingest
HashDbManagementPanel.indexLabel.text=Index Status:
HashDbManagementPanel.indexButton.text=Index
HashDbManagementPanel.ingestRunningLabel.text=
HashDbManagementPanel.hashDbIndexStatusLabel.text=No database selected
HashDbManagementPanel.typeLabel.text=Type:
HashDbManagementPanel.hashDbTypeLabel.text=No database selected
HashDbAddDatabaseDialog.cancelButton.text=Cancel HashDbAddDatabaseDialog.cancelButton.text=Cancel
HashDbAddDatabaseDialog.okButton.text=OK HashDbAddDatabaseDialog.okButton.text=OK
HashDbAddDatabaseDialog.nsrlRadioButton.text=NSRL HashDbAddDatabaseDialog.nsrlRadioButton.text=NSRL
@ -39,7 +15,6 @@ HashDbAddDatabaseDialog.databaseNameTextField.text=
HashDbAddDatabaseDialog.jLabel2.text=Select the type of database: HashDbAddDatabaseDialog.jLabel2.text=Select the type of database:
HashDbAddDatabaseDialog.useForIngestCheckbox.text=Enable for ingest HashDbAddDatabaseDialog.useForIngestCheckbox.text=Enable for ingest
HashDbAddDatabaseDialog.sendInboxMessagesCheckbox.text=Enable sending messages to inbox during ingest HashDbAddDatabaseDialog.sendInboxMessagesCheckbox.text=Enable sending messages to inbox during ingest
HashDbManagementPanel.importButton.text=Import
HashDbSearchPanel.hashTable.columnModel.title0=MD5 Hashes HashDbSearchPanel.hashTable.columnModel.title0=MD5 Hashes
HashDbSearchPanel.hashTable.columnModel.title3=Title 4 HashDbSearchPanel.hashTable.columnModel.title3=Title 4
HashDbSearchPanel.hashTable.columnModel.title2=Title 3 HashDbSearchPanel.hashTable.columnModel.title2=Title 3
@ -56,3 +31,24 @@ HashDbSearchPanel.cancelButton.text=Cancel
HashDbSimplePanel.calcHashesButton.text=Calculate hashes even if no hash database is selected HashDbSimplePanel.calcHashesButton.text=Calculate hashes even if no hash database is selected
HashDbSimplePanel.nsrlDbLabel.text=NSRL Database: HashDbSimplePanel.nsrlDbLabel.text=NSRL Database:
HashDbSimplePanel.nsrlDbLabelVal.text=- HashDbSimplePanel.nsrlDbLabelVal.text=-
HashDbManagementPanel.hashDbIndexStatusLabel.text=No database selected
HashDbManagementPanel.jLabel2.text=Name:
HashDbManagementPanel.showInboxMessagesCheckBox.text=Enable sending messages to inbox during ingest
HashDbManagementPanel.useForIngestCheckbox.text=Enable for ingest
HashDbManagementPanel.indexButton.text=Index
HashDbManagementPanel.indexLabel.text=Index Status:
HashDbManagementPanel.optionsLabel.text=Options
HashDbManagementPanel.jLabel4.text=Location:
HashDbManagementPanel.jLabel6.text=Type:
HashDbManagementPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes.
HashDbManagementPanel.hashDbTypeLabel.text=No database selected
HashDbManagementPanel.typeLabel.text=Type:
HashDbManagementPanel.deleteButton.text=Delete Database
HashDbManagementPanel.importButton.text=Import Database
HashDbManagementPanel.hashDbNameLabel.text=No database selected
HashDbManagementPanel.nameLabel.text=Name:
HashDbManagementPanel.jButton3.text=Import Database
HashDbManagementPanel.locationLabel.text=Location:
HashDbManagementPanel.hashDbLocationLabel.text=No database selected
HashDbManagementPanel.informationLabel.text=Information
HashDbManagementPanel.hashDatabasesLabel.text=Hash Databases:

View File

@ -0,0 +1,104 @@
/*
* Autopsy Forensic Browser
*
* Copyright 2011 Basis Technology Corp.
* Contact: carrier <at> sleuthkit <dot> 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.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.sleuthkit.autopsy.hashdatabase;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import javax.swing.JComponent;
import org.netbeans.spi.options.OptionsPanelController;
import org.openide.util.HelpCtx;
import org.openide.util.Lookup;
@OptionsPanelController.TopLevelRegistration(
categoryName = "#OptionsCategory_Name_HashDatabase",
iconBase = "org/sleuthkit/autopsy/hashdatabase/options_icon.png",
keywords = "#OptionsCategory_Keywords_HashDatabase",
keywordsCategory = "HashDatabase",
id = "HashDatabase")
@org.openide.util.NbBundle.Messages({"OptionsCategory_Name_HashDatabase=Hash Database", "OptionsCategory_Keywords_HashDatabase=Hash Database"})
public final class HashDatabaseOptionsPanelController extends OptionsPanelController {
private HashDbManagementPanel panel;
private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
private boolean changed;
@Override
public void update() {
getPanel().load();
changed = false;
}
@Override
public void applyChanges() {
getPanel().store();
changed = false;
}
@Override
public void cancel() {
// Reset the XML on cancel
HashDbXML.getCurrent().reload();
}
@Override
public boolean isValid() {
return getPanel().valid();
}
@Override
public boolean isChanged() {
return changed;
}
@Override
public HelpCtx getHelpCtx() {
return null; // new HelpCtx("...ID") if you have a help set
}
@Override
public JComponent getComponent(Lookup masterLookup) {
return getPanel();
}
@Override
public void addPropertyChangeListener(PropertyChangeListener l) {
pcs.addPropertyChangeListener(l);
}
@Override
public void removePropertyChangeListener(PropertyChangeListener l) {
pcs.removePropertyChangeListener(l);
}
private HashDbManagementPanel getPanel() {
if (panel == null) {
panel = new HashDbManagementPanel();
}
return panel;
}
void changed() {
if (!changed) {
changed = true;
pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true);
}
pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
}
}

View File

@ -1,289 +1,285 @@
/* /*
* Autopsy Forensic Browser * Autopsy Forensic Browser
* *
* Copyright 2011 Basis Technology Corp. * Copyright 2011 Basis Technology Corp.
* Contact: carrier <at> sleuthkit <dot> org * Contact: carrier <at> sleuthkit <dot> org
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package org.sleuthkit.autopsy.hashdatabase; package org.sleuthkit.autopsy.hashdatabase;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
import java.util.concurrent.CancellationException; import java.util.logging.Level;
import java.util.concurrent.ExecutionException; import javax.swing.SwingWorker;
import java.util.logging.Level; import org.netbeans.api.progress.ProgressHandle;
import java.util.logging.Logger; import org.netbeans.api.progress.ProgressHandleFactory;
import javax.swing.SwingUtilities; import org.openide.util.Cancellable;
import javax.swing.SwingWorker; import org.sleuthkit.autopsy.coreutils.Logger;
import org.netbeans.api.progress.ProgressHandle; import org.sleuthkit.datamodel.SleuthkitJNI;
import org.netbeans.api.progress.ProgressHandleFactory; import org.sleuthkit.datamodel.TskException;
import org.openide.util.Cancellable;
import org.sleuthkit.autopsy.coreutils.Log; /**
import org.sleuthkit.datamodel.SleuthkitJNI; *
import org.sleuthkit.datamodel.TskException; * @author dfickling
*/
/** public class HashDb implements Comparable<HashDb> {
*
* @author dfickling public enum DBType{
*/ NSRL("NSRL"), KNOWN_BAD("Known Bad");
public class HashDb implements Comparable<HashDb> {
private String displayName;
public enum DBType{
NSRL("NSRL"), KNOWN_BAD("Known Bad"); private DBType(String displayName) {
this.displayName = displayName;
private String displayName; }
private DBType(String displayName) { public String getDisplayName() {
this.displayName = displayName; return this.displayName;
} }
}
public String getDisplayName() {
return this.displayName; // Suffix added to the end of a database name to get its index file
} private static final String INDEX_SUFFIX = "-md5.idx";
}
private String name;
// Suffix added to the end of a database name to get its index file private List<String> databasePaths; // TODO: Length limited to one for now...
private static final String INDEX_SUFFIX = "-md5.idx"; private boolean useForIngest;
private boolean showInboxMessages;
private String name; private boolean indexing;
private List<String> databasePaths; // TODO: Length limited to one for now... private DBType type;
private boolean useForIngest;
private boolean showInboxMessages; public HashDb(String name, List<String> databasePaths, boolean useForIngest, boolean showInboxMessages, DBType type) {
private boolean indexing; this.name = name;
private DBType type; this.databasePaths = databasePaths;
this.useForIngest = useForIngest;
public HashDb(String name, List<String> databasePaths, boolean useForIngest, boolean showInboxMessages, DBType type) { this.showInboxMessages = showInboxMessages;
this.name = name; this.type = type;
this.databasePaths = databasePaths; this.indexing = false;
this.useForIngest = useForIngest; }
this.showInboxMessages = showInboxMessages;
this.type = type; boolean getUseForIngest() {
this.indexing = false; return useForIngest;
} }
boolean getUseForIngest() { boolean getShowInboxMessages() {
return useForIngest; return showInboxMessages;
} }
boolean getShowInboxMessages() { DBType getDbType() {
return showInboxMessages; return type;
} }
DBType getDbType() { String getName() {
return type; return name;
} }
String getName() { List<String> getDatabasePaths() {
return name; return databasePaths;
} }
List<String> getDatabasePaths() { void setUseForIngest(boolean useForIngest) {
return databasePaths; this.useForIngest = useForIngest;
} }
void setUseForIngest(boolean useForIngest) { void setShowInboxMessages(boolean showInboxMessages) {
this.useForIngest = useForIngest; this.showInboxMessages = showInboxMessages;
} }
void setShowInboxMessages(boolean showInboxMessages) { void setName(String name) {
this.showInboxMessages = showInboxMessages; this.name = name;
} }
void setName(String name) { void setDatabasePaths(List<String> databasePaths) {
this.name = name; this.databasePaths = databasePaths;
} }
void setDatabasePaths(List<String> databasePaths) { void setDbType(DBType type) {
this.databasePaths = databasePaths; this.type = type;
} }
void setDbType(DBType type) { /**
this.type = type; * Checks if the database exists.
} * @return true if a file exists at the database path, else false
*/
/** boolean databaseExists() {
* Checks if the database exists. return databaseFile().exists();
* @return true if a file exists at the database path, else false }
*/
boolean databaseExists() { /**
return databaseFile().exists(); * Checks if Sleuth Kit can open the index for the database path.
} * @return true if the index was found and opened successfully, else false
*/
/** boolean indexExists() {
* Checks if Sleuth Kit can open the index for the database path. try {
* @return true if the index was found and opened successfully, else false return hasIndex(databasePaths.get(0)); // TODO: support multiple paths
*/ } catch (TskException ex) {
boolean indexExists() { Logger.getLogger(this.getClass().getName()).log(Level.WARNING, "Error checking if index exists.", ex);
try { return false;
return hasIndex(databasePaths.get(0)); // TODO: support multiple paths }
} catch (TskException ex) { }
Log.get(this.getClass()).log(Level.WARNING, "Error checking if index exists.", ex);
return false; /**
} * Gets the database file.
} * @return a File initialized with the database path
*/
/** File databaseFile() {
* Gets the database file. return new File(databasePaths.get(0)); // TODO: support multiple paths
* @return a File initialized with the database path }
*/
File databaseFile() { /**
return new File(databasePaths.get(0)); // TODO: support multiple paths * Gets the index file
} * @return a File initialized with an index path derived from the database
* path
/** */
* Gets the index file File indexFile() {
* @return a File initialized with an index path derived from the database return new File(toIndexPath(databasePaths.get(0))); // TODO: support multiple paths
* path }
*/
File indexFile() { /**
return new File(toIndexPath(databasePaths.get(0))); // TODO: support multiple paths * Checks if the index file is older than the database file
} * @return true if there is are files at the index path and the database
* path, and the index file has an older modified-time than the database
/** * file, else false
* Checks if the index file is older than the database file */
* @return true if there is are files at the index path and the database boolean isOutdated() {
* path, and the index file has an older modified-time than the database File i = indexFile();
* file, else false File db = databaseFile();
*/
boolean isOutdated() { return i.exists() && db.exists() && isOlderThan(i, db);
File i = indexFile(); }
File db = databaseFile();
/**
return i.exists() && db.exists() && isOlderThan(i, db); * Checks if the database is being indexed
} */
boolean isIndexing() {
/** return indexing;
* Checks if the database is being indexed }
*/
boolean isIndexing() { /**
return indexing; * Returns the status of the HashDb as determined from indexExists(),
} * databaseExists(), and isOutdated()
* @return IndexStatus enum according to their definitions
/** */
* Returns the status of the HashDb as determined from indexExists(), IndexStatus status() {
* databaseExists(), and isOutdated() boolean i = this.indexExists();
* @return IndexStatus enum according to their definitions boolean db = this.databaseExists();
*/
IndexStatus status() { if(indexing)
boolean i = this.indexExists(); return IndexStatus.INDEXING;
boolean db = this.databaseExists(); if (i) {
if (db) {
if(indexing) return this.isOutdated() ? IndexStatus.INDEX_OUTDATED : IndexStatus.INDEX_CURRENT;
return IndexStatus.INDEXING; } else {
if (i) { return IndexStatus.NO_DB;
if (db) { }
return this.isOutdated() ? IndexStatus.INDEX_OUTDATED : IndexStatus.INDEX_CURRENT; } else {
} else { return db ? IndexStatus.NO_INDEX : IndexStatus.NONE;
return IndexStatus.NO_DB; }
} }
} else {
return db ? IndexStatus.NO_INDEX : IndexStatus.NONE; /**
} * Tries to index the database (overwrites any existing index)
} * @throws TskException if an error occurs in the SleuthKit bindings
*/
/** void createIndex() throws TskException {
* Tries to index the database (overwrites any existing index) indexing = true;
* @throws TskException if an error occurs in the SleuthKit bindings CreateIndex creator = new CreateIndex();
*/ creator.execute();
void createIndex() throws TskException { }
indexing = true;
CreateIndex creator = new CreateIndex(); /**
creator.execute(); * Checks if one file is older than an other
} * @param a first file
* @param b second file
/** * @return true if the first file's last modified data is before the second
* Checks if one file is older than an other * file's last modified date
* @param a first file */
* @param b second file private static boolean isOlderThan(File a, File b) {
* @return true if the first file's last modified data is before the second return a.lastModified() < b.lastModified();
* file's last modified date }
*/
private static boolean isOlderThan(File a, File b) { /**
return a.lastModified() < b.lastModified(); * Determines if a path points to an index by checking the suffix
} * @param path
* @return true if index
/** */
* Determines if a path points to an index by checking the suffix static boolean isIndexPath(String path) {
* @param path return path.endsWith(INDEX_SUFFIX);
* @return true if index }
*/
static boolean isIndexPath(String path) { /**
return path.endsWith(INDEX_SUFFIX); * Derives database path from an image path by removing the suffix.
} * @param indexPath
* @return
/** */
* Derives database path from an image path by removing the suffix. static String toDatabasePath(String indexPath) {
* @param indexPath return indexPath.substring(0, indexPath.lastIndexOf(INDEX_SUFFIX));
* @return }
*/
static String toDatabasePath(String indexPath) { /**
return indexPath.substring(0, indexPath.lastIndexOf(INDEX_SUFFIX)); * Derives image path from an database path by appending the suffix.
} * @param databasePath
* @return
/** */
* Derives image path from an database path by appending the suffix. static String toIndexPath(String databasePath) {
* @param databasePath return databasePath.concat(INDEX_SUFFIX);
* @return }
*/
static String toIndexPath(String databasePath) { /**
return databasePath.concat(INDEX_SUFFIX); * Calls Sleuth Kit method via JNI to determine whether there is an
} * index for the given path
* @param databasePath path Path for the database the index is of
/** * (database doesn't have to actually exist)'
* Calls Sleuth Kit method via JNI to determine whether there is an * @return true if index exists
* index for the given path * @throws TskException if there is an error in the JNI call
* @param databasePath path Path for the database the index is of */
* (database doesn't have to actually exist)' static boolean hasIndex(String databasePath) throws TskException {
* @return true if index exists return SleuthkitJNI.lookupIndexExists(databasePath);
* @throws TskException if there is an error in the JNI call }
*/
static boolean hasIndex(String databasePath) throws TskException { @Override
return SleuthkitJNI.lookupIndexExists(databasePath); public int compareTo(HashDb o) {
} return this.name.compareTo(o.name);
}
@Override
public int compareTo(HashDb o) { /* Thread that creates a database's index */
return this.name.compareTo(o.name); private class CreateIndex extends SwingWorker<Object,Void> {
}
private ProgressHandle progress;
/* Thread that creates a database's index */
private class CreateIndex extends SwingWorker<Object,Void> { CreateIndex(){};
private ProgressHandle progress; @Override
protected Object doInBackground() throws Exception {
CreateIndex(){}; progress = ProgressHandleFactory.createHandle("Indexing " + name, new Cancellable() {
@Override
@Override public boolean cancel() {
protected Object doInBackground() throws Exception { return CreateIndex.this.cancel(true);
progress = ProgressHandleFactory.createHandle("Indexing " + name, new Cancellable() { }
@Override });
public boolean cancel() { progress.start();
return CreateIndex.this.cancel(true); progress.switchToIndeterminate();
} SleuthkitJNI.createLookupIndex(databasePaths.get(0));
}); return null;
progress.start(); }
progress.switchToIndeterminate();
SleuthkitJNI.createLookupIndex(databasePaths.get(0)); /* clean up or start the worker threads */
return null; @Override
} protected void done() {
indexing = false;
/* clean up or start the worker threads */ progress.finish();
@Override // TODO: Fire property event telling to resync
protected void done() { }
indexing = false; }
progress.finish();
HashDbManagementPanel.getDefault().resync();
}
}
} }

View File

@ -1,7 +1,22 @@
/* /*
* To change this template, choose Tools | Templates * Autopsy Forensic Browser
* and open the template in the editor. *
* Copyright 2011 Basis Technology Corp.
* Contact: carrier <at> sleuthkit <dot> 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.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.sleuthkit.autopsy.hashdatabase; package org.sleuthkit.autopsy.hashdatabase;
import java.awt.Dimension; import java.awt.Dimension;
@ -10,7 +25,7 @@ import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Arrays; import java.util.Arrays;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.filechooser.FileNameExtensionFilter;

View File

@ -23,7 +23,9 @@ import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.netbeans.api.options.OptionsDisplayer;
import org.netbeans.spi.options.OptionsPanelController;
import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.ingest.IngestServices; import org.sleuthkit.autopsy.ingest.IngestServices;
import org.sleuthkit.autopsy.ingest.IngestMessage; import org.sleuthkit.autopsy.ingest.IngestMessage;
@ -64,6 +66,7 @@ public class HashDbIngestModule implements IngestModuleAbstractFile {
static long calctime = 0; static long calctime = 0;
static long lookuptime = 0; static long lookuptime = 0;
private Map<Integer, HashDb> knownBadSets = new HashMap<Integer, HashDb>(); private Map<Integer, HashDb> knownBadSets = new HashMap<Integer, HashDb>();
private HashDbManagementPanel panel;
private HashDbIngestModule() { private HashDbIngestModule() {
@ -81,8 +84,9 @@ public class HashDbIngestModule implements IngestModuleAbstractFile {
@Override @Override
public void init(IngestModuleInit initContext) { public void init(IngestModuleInit initContext) {
services = IngestServices.getDefault(); services = IngestServices.getDefault();
HashDbManagementPanel.getDefault().setIngestRunning(true); getPanel().setIngestRunning(true);
HashDbSimplePanel.setIngestRunning(true); HashDbSimplePanel.setIngestRunning(true);
HashDbSearchPanel.getDefault().setIngestRunning(true);
this.services.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, this, "Started")); this.services.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, this, "Started"));
this.skCase = Case.getCurrentCase().getSleuthkitCase(); this.skCase = Case.getCurrentCase().getSleuthkitCase();
try { try {
@ -150,8 +154,9 @@ public class HashDbIngestModule implements IngestModuleAbstractFile {
detailsSb.append("</table>"); detailsSb.append("</table>");
services.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, this, "Hash Ingest Complete", detailsSb.toString())); services.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, this, "Hash Ingest Complete", detailsSb.toString()));
HashDbManagementPanel.getDefault().setIngestRunning(false); getPanel().setIngestRunning(false);
HashDbSimplePanel.setIngestRunning(false); HashDbSimplePanel.setIngestRunning(false);
HashDbSearchPanel.getDefault().setIngestRunning(false);
} }
/** /**
@ -160,8 +165,9 @@ public class HashDbIngestModule implements IngestModuleAbstractFile {
@Override @Override
public void stop() { public void stop() {
//manager.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, this, "STOP")); //manager.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, this, "STOP"));
HashDbManagementPanel.getDefault().setIngestRunning(false); getPanel().setIngestRunning(false);
HashDbSimplePanel.setIngestRunning(false); HashDbSimplePanel.setIngestRunning(false);
HashDbSearchPanel.getDefault().setIngestRunning(false);
} }
/** /**
@ -213,20 +219,32 @@ public class HashDbIngestModule implements IngestModuleAbstractFile {
@Override @Override
public javax.swing.JPanel getSimpleConfiguration() { public javax.swing.JPanel getSimpleConfiguration() {
HashDbXML.getCurrent().reload();
return new HashDbSimplePanel(); return new HashDbSimplePanel();
} }
@Override @Override
public javax.swing.JPanel getAdvancedConfiguration() { public javax.swing.JPanel getAdvancedConfiguration() {
return HashDbManagementPanel.getDefault(); //return HashDbManagementPanel.getDefault();
getPanel().load();
return getPanel();
} }
@Override @Override
public void saveAdvancedConfiguration() { public void saveAdvancedConfiguration() {
getPanel().store();
}
private HashDbManagementPanel getPanel() {
if (panel == null) {
panel = new HashDbManagementPanel();
}
return panel;
} }
@Override @Override
public void saveSimpleConfiguration() { public void saveSimpleConfiguration() {
HashDbXML.getCurrent().save();
} }
private void processBadFile(AbstractFile abstractFile, String md5Hash, String hashSetName, boolean showInboxMessage) { private void processBadFile(AbstractFile abstractFile, String md5Hash, String hashSetName, boolean showInboxMessage) {

View File

@ -1,11 +1,49 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo"> <Form version="1.5" maxVersion="1.8" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
<NonVisualComponents>
<Component class="javax.swing.JLabel" name="jLabel2">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.jLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="jLabel4">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.jLabel4.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="jLabel6">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.jLabel6.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="jButton3">
<Properties>
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Tahoma" size="14" style="0"/>
</Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.jButton3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
</NonVisualComponents>
<Properties>
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[385, 500]"/>
</Property>
</Properties>
<AuxValues> <AuxValues>
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/> <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/> <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
@ -16,299 +54,318 @@
<Layout> <Layout>
<DimensionLayout dim="0"> <DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Component id="jSplitPane1" alignment="0" max="32767" attributes="0"/> <Group type="102" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Component id="importButton" min="-2" pref="140" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="deleteButton" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<Component id="jScrollPane1" min="-2" pref="298" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="ingestWarningLabel" min="-2" pref="358" max="-2" attributes="0"/>
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Group type="103" groupAlignment="1" max="-2" attributes="0">
<Component id="indexButton" max="32767" attributes="0"/>
<Component id="nameLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="locationLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="typeLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="indexLabel" alignment="1" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="hashDbTypeLabel" min="-2" max="-2" attributes="0"/>
<Component id="hashDbLocationLabel" min="-2" max="-2" attributes="0"/>
<Component id="hashDbNameLabel" min="-2" max="-2" attributes="0"/>
<Component id="hashDbIndexStatusLabel" alignment="0" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
<Component id="useForIngestCheckbox" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="showInboxMessagesCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
<Group type="103" alignment="0" groupAlignment="1" max="-2" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Component id="informationLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="informationSeparator" max="32767" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<Component id="optionsLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="optionsSeparator" min="-2" pref="265" max="-2" attributes="0"/>
</Group>
</Group>
</Group>
</Group>
<Component id="hashDatabasesLabel" alignment="0" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="32767" attributes="0"/>
</Group>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
<DimensionLayout dim="1"> <DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Component id="jSplitPane1" alignment="0" max="32767" attributes="0"/> <Group type="102" alignment="0" attributes="0">
</Group> <EmptySpace max="-2" attributes="0"/>
</DimensionLayout> <Component id="hashDatabasesLabel" min="-2" max="-2" attributes="0"/>
</Layout> <EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
<SubComponents>
<Container class="javax.swing.JSplitPane" name="jSplitPane1">
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
<SubComponents>
<Container class="javax.swing.JPanel" name="leftPanel">
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
<JSplitPaneConstraints position="left"/>
</Constraint>
</Constraints>
<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Component id="jScrollPane1" pref="176" max="32767" attributes="1"/>
<Group type="102" alignment="1" attributes="0">
<EmptySpace max="32767" attributes="0"/>
<Component id="importButton" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="55" max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="1" attributes="0">
<Component id="jScrollPane1" pref="313" max="32767" attributes="0"/>
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
<Component id="importButton" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
<Properties>
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="ff" green="ff" red="ff" type="rgb"/>
</Property>
</Properties>
<AuxValues>
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
</AuxValues>
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
<SubComponents>
<Component class="javax.swing.JTable" name="hashSetTable">
<Properties>
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
<Table columnCount="0" rowCount="0"/>
</Property>
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
<TableColumnModel selectionModel="0"/>
</Property>
<Property name="showHorizontalLines" type="boolean" value="false"/>
<Property name="showVerticalLines" type="boolean" value="false"/>
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
</Property>
</Properties>
<Events>
<EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="hashSetTableKeyPressed"/>
</Events>
</Component>
</SubComponents>
</Container>
<Component class="javax.swing.JButton" name="importButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.importButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="importButtonActionPerformed"/>
</Events>
</Component>
</SubComponents>
</Container>
<Container class="javax.swing.JPanel" name="rightPanel">
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
<JSplitPaneConstraints position="right"/>
</Constraint>
</Constraints>
<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0"> <Group type="102" attributes="0">
<EmptySpace max="-2" attributes="0"/> <Group type="103" groupAlignment="0" attributes="0">
<Group type="103" groupAlignment="1" attributes="0"> <Component id="informationLabel" min="-2" max="-2" attributes="0"/>
<Group type="102" attributes="0"> <Group type="102" attributes="0">
<Group type="103" groupAlignment="0" attributes="0"> <EmptySpace min="8" pref="8" max="-2" attributes="0"/>
<Group type="102" alignment="0" attributes="0"> <Component id="informationSeparator" min="-2" pref="2" max="-2" attributes="0"/>
<Component id="nameLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="hashDbNameLabel" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<Component id="locationLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="hashDbLocationLabel" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<Component id="ingestRunningLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="useForIngestCheckbox" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<Component id="typeLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="hashDbTypeLabel" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
<Component id="indexButton" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<Component id="indexLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="hashDbIndexStatusLabel" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
</Group>
<Group type="102" alignment="1" attributes="0">
<Component id="showInboxMessagesCheckBox" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="16" max="32767" attributes="0"/>
<Component id="deleteButton" min="-2" max="-2" attributes="0"/>
</Group> </Group>
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace min="-2" pref="7" max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0"> <Group type="103" groupAlignment="3" attributes="0">
<Component id="nameLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="nameLabel" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="hashDbNameLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="hashDbNameLabel" alignment="3" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0"> <Group type="103" groupAlignment="3" attributes="0">
<Component id="locationLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="locationLabel" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="hashDbLocationLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="hashDbLocationLabel" alignment="3" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0"> <Group type="103" groupAlignment="3" attributes="0">
<Component id="typeLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="typeLabel" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="hashDbTypeLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="hashDbTypeLabel" alignment="3" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0"> <Group type="103" groupAlignment="3" attributes="0">
<Component id="indexLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="indexLabel" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="hashDbIndexStatusLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="hashDbIndexStatusLabel" alignment="3" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
<Component id="indexButton" min="-2" max="-2" attributes="0"/> <Component id="indexButton" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="138" max="32767" attributes="0"/> <EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="ingestRunningLabel" min="-2" max="-2" attributes="0"/> <Group type="103" groupAlignment="0" attributes="0">
<EmptySpace pref="36" max="32767" attributes="0"/> <Component id="optionsLabel" min="-2" max="-2" attributes="0"/>
<Component id="useForIngestCheckbox" min="-2" max="-2" attributes="0"/> <Group type="102" attributes="0">
<EmptySpace max="-2" attributes="0"/> <EmptySpace min="8" pref="8" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0"> <Component id="optionsSeparator" min="-2" pref="6" max="-2" attributes="0"/>
<Component id="deleteButton" alignment="3" min="-2" max="-2" attributes="0"/> </Group>
<Component id="showInboxMessagesCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
<Component id="useForIngestCheckbox" min="-2" max="-2" attributes="0"/>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
<Component id="showInboxMessagesCheckBox" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="ingestWarningLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
</Group> </Group>
<Component id="jScrollPane1" pref="422" max="32767" attributes="0"/>
</Group> </Group>
</DimensionLayout> <EmptySpace type="unrelated" max="-2" attributes="0"/>
</Layout> <Group type="103" groupAlignment="3" attributes="0">
<SubComponents> <Component id="importButton" alignment="3" min="-2" max="-2" attributes="0"/>
<Component class="javax.swing.JLabel" name="nameLabel"> <Component id="deleteButton" alignment="3" min="-2" max="-2" attributes="0"/>
<Properties> </Group>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <EmptySpace max="-2" attributes="0"/>
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.nameLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/> </Group>
</Property> </Group>
</Properties> </DimensionLayout>
</Component> </Layout>
<Component class="javax.swing.JLabel" name="hashDbNameLabel"> <SubComponents>
<Properties> <Component class="javax.swing.JLabel" name="ingestWarningLabel">
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <Properties>
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.hashDbNameLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
</Property> <Image iconType="3" name="/org/sleuthkit/autopsy/hashdatabase/warning16.png"/>
</Properties> </Property>
</Component> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<Component class="javax.swing.JLabel" name="locationLabel"> <ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.ingestWarningLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<Properties> </Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> </Properties>
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.locationLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/> </Component>
</Property> <Container class="javax.swing.JScrollPane" name="jScrollPane1">
</Properties> <AuxValues>
</Component> <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
<Component class="javax.swing.JLabel" name="hashDbLocationLabel"> </AuxValues>
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.hashDbLocationLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/> <SubComponents>
</Property> <Component class="javax.swing.JTable" name="hashSetTable">
</Properties> <Properties>
</Component> <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
<Component class="javax.swing.JCheckBox" name="useForIngestCheckbox"> <Table columnCount="0" rowCount="0"/>
<Properties> </Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.useForIngestCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/> <TableColumnModel selectionModel="0"/>
</Property> </Property>
<Property name="enabled" type="boolean" value="false"/> <Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
</Properties> <TableHeader reorderingAllowed="true" resizingAllowed="true"/>
<Events> </Property>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="useForIngestCheckboxActionPerformed"/> </Properties>
</Events> <Events>
</Component> <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="hashSetTableKeyPressed"/>
<Component class="javax.swing.JCheckBox" name="showInboxMessagesCheckBox"> </Events>
<Properties> </Component>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.showInboxMessagesCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="enabled" type="boolean" value="false"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="showInboxMessagesCheckBoxActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JLabel" name="indexLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.indexLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="indexButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.indexButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="enabled" type="boolean" value="false"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="indexButtonActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JLabel" name="ingestRunningLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.ingestRunningLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="hashDbIndexStatusLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.hashDbIndexStatusLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="typeLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.typeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="hashDbTypeLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.hashDbTypeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="deleteButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.deleteButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="enabled" type="boolean" value="false"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="deleteButtonActionPerformed"/>
</Events>
</Component>
</SubComponents>
</Container>
</SubComponents> </SubComponents>
</Container> </Container>
<Component class="javax.swing.JButton" name="deleteButton">
<Properties>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
<Image iconType="3" name="/org/sleuthkit/autopsy/hashdatabase/delete16.png"/>
</Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.deleteButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[140, 25]"/>
</Property>
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[140, 25]"/>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[140, 25]"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="deleteButtonActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JButton" name="importButton">
<Properties>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
<Image iconType="3" name="/org/sleuthkit/autopsy/hashdatabase/import16.png"/>
</Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.importButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[140, 25]"/>
</Property>
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[140, 25]"/>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[140, 25]"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="importButtonActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JLabel" name="hashDatabasesLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.hashDatabasesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="nameLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.nameLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="hashDbNameLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.hashDbNameLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="hashDbLocationLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.hashDbLocationLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="locationLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.locationLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="typeLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.typeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="hashDbTypeLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.hashDbTypeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="hashDbIndexStatusLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.hashDbIndexStatusLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="indexLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.indexLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="indexButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.indexButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="enabled" type="boolean" value="false"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="indexButtonActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JCheckBox" name="useForIngestCheckbox">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.useForIngestCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="useForIngestCheckboxActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JCheckBox" name="showInboxMessagesCheckBox">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.showInboxMessagesCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="showInboxMessagesCheckBoxActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JLabel" name="informationLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.informationLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="optionsLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbManagementPanel.optionsLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JSeparator" name="informationSeparator">
</Component>
<Component class="javax.swing.JSeparator" name="optionsSeparator">
</Component>
</SubComponents> </SubComponents>
</Form> </Form>

Some files were not shown because too many files have changed in this diff Show More